片机的串行接口.ppt
《片机的串行接口.ppt》由会员分享,可在线阅读,更多相关《片机的串行接口.ppt(122页珍藏版)》请在三一办公上搜索。
1、1,9.1 串行通信基础知识,9.1.0 通信方式9.1.1 串行通信的分类9.1.2 串行通信的制式 9.1.3 串行通信的标准接口,第9章 单片机的串行接口,2,9.1.0 通信方式,1并行通信2串行通信,3,1并行通信,并行通信是将传输数据的各比特(位)同时进行传送。以单字节(8比特)数据为例,单片机通过并行接口与外设进行并行通信的示意图如图9-1所示。,优点:速度快、效率高缺点:传输线太多适合近距离通信。,4,2串行通信,串行通信是将传输数据的各比特(位)按先后顺序逐位进行传送。单片机通过串行接口与外设进行串行通信的示意图如图9-2所示。,TXD是串行数据发送脚RXD是串行数据接收脚,
2、优点:通信线路简单、降低线路成本缺点:传输速度较低适合远距离通信。,5,1异步通信2同步通信,9.1.1 串行通信的分类,6,异步通信是指发送端和接收端使用各自的时钟来控制数据的发送和接收的一种通信方式。这两个时钟源彼此独立,无需严格同步。异步通信的特点是以字符帧为单位进行传输。为了使接收方能正确接收与识别发方送来的数据,收发双方必须在进行异步通信前,事先约定好异步通信的字符帧格式和传输速率。,1异步通信,7,(1)异步通信的字符帧格式,图9-3 异步通信的字符帧格式,8,异步通信字符帧 各部分的结构和功能:,起始位:位于字符帧开头,只占一位,将逻辑电平0作为联络信号,用于向接收方表示发送端开
3、始发出一帧字符。数据位:紧跟起始位之后,长度由通信双方事先约定,通常可取58位或9位,低位在前,高位在后。,9,奇偶校验位:位于数据位之后,仅占一位,用于实现奇校验或偶校验。停止位:位于字符帧末尾,逻辑电平为1,长度通常为1位,也可取为1.5位或2位,用于向接收方表示发送端已发送完一帧字符。空闲位:可有可无,若有,则位于停止位之后,逻辑电平为1,位长度任意。用于表示发送端没有发送数据,异步通信字符帧 各部分的结构和功能:,10,(2)异步通信的传输速率,异步通信的传输速率通常用比特率或波特率来表示。,11,比特率:,为每秒钟传输的比特数,单位是比特/秒,或记为bit/s。每个二进制码元(0或1
4、)所含的信息量规定为1bit。对于前述的异步串行通信而言,若字符帧的长度为10,即1个起始位、1个停止位、8个数据位(没有空闲位),如果每秒钟传送240个字符,则这时的比特率为:10bit/个240个/s=2400 bit/s,12,波特率:,为每秒钟传送的码元数,单位为“波特”,常用符号B(Baud)表示。例如,若某通信系统每秒钟传送2400个码元,则该系统的波特率为2400波特或写作2400B。但要注意,波特率仅仅是表征单位时间内传送码元的数目,而没有限定码元由何种进制构成。,13,波特率和比特率的区别:,对于二制码元(0或1),由于每个码元的信息量为1比特,因此,这时,比特率和波特率在数
5、值上相同;对于四制码元(00、01、10或11),由于每个码元的信息量为2比特,因此,四制码元的比特率在数值上是波特率的2倍。在二进制下,波特率和比特率在数值上相同,所以也经常用波特率表示数据的传输速率。,14,2同步通信,同步通信是指通信时要建立发送方时钟对接收方时钟的直接控制,使收发双方达到完全同步的一种通信方式。这里所说的同步既包含位同步,也包含字符同步。接收方只要与发送方建立起同步关系,就可以对发方送来的数据进行准确识别。因此,在同步通信中,可以连续串行传送数据,字符间不留间隙。同步通信的字符帧格式如图9-4所示。,15,同步通信的字符帧格式,图9-4 同步通信的字符帧格式,16,同步
6、字符:位于帧结构开头,用于确认数据字符的开始。接收方进入接收状态后,不断对传输线采样,并把采样到的字符和双方约定的同步字符比较,只有比较成功后才会接收传送过来的字符。同步字符可以采用统一标准格式,也可由用户约定。在单同步字符帧中,同步字符常采用ASCII码中规定的SYN代码(即16H);在双同步字符帧中,同步字符一般采用国际通用标准代码EB90H。数据字符:在同步字符之后,个数不受限制,由所需传输的数据块长度和协议决定。校验字符:一般为12个,位于帧结构末尾,用于接收端对接收到的数据字符进行正确性校验。,同步通信字符帧各部分的结构和功能:,17,异步通信的优点是不需要传送同步脉冲,字符帧长度也
7、不受限制,故所需设备简单。缺点是字符帧中因包含有起始位、停止位或空闲位,从而降低了有效数据的传输速率。同步通信的优点是无需在字符帧中插入附加信息,所以传输效率较高。缺点是必须保持发送时钟与接收时钟的严格同步,因此要求发送方能给接收方提供同步信号,或者要求接收方具备能从发方送来的包含有同步信息的信号中分离出同步信号的能力,所以同步通信的设备较为复杂、成本高,一般只用在高速数据通信系统中。,18,1单工通信,单工通信是指数据仅能沿一个方向传输,不能反向传输。,图9-5 串行通信的3种制式,9.1.2 串行通信的制式,19,2半双工通信,半双工是指数据传输可以沿两个方向,但需要分时进行。可以通过收/
8、发转换开关进行接收状态和发送状态的切换,也可以通过软件控制来实现收/发状态切换。,图9-5 串行通信的3种制式,20,3全双工通信,全双工是指数据可以同时进行双向传输。,图9-5 串行通信的3种制式,21,9.1.3 串行通信的标准接口,标准接口:是指为了使计算机、各种数据终端、通信设备相互之间能进行合理化、规范化、通用化的连接而制定的具有特定参数、指标与性能并符合某种协议的接口。常用的串行通信标准接口有RS-232C、RS-422A、RS-423A、RS-485等,下面重点介绍RS-232C接口。,22,RS-232C接口,RS-232C标准接口是EIA(美国电子工业协会)于1969年颁布的
9、串行通信接口标准。RS是“Recommended Standard”(推荐标准)的缩写,232为标准的编号,C为版本号。在RS-232C之前为RS-232A与RS-232B,1987年修订为EIA-232D,1991年修订为EIA-232E,1997年又修订为EIA-232F。其中,RS-232C最为常用。,23,RS-232C接口在远程数据通信系统中的应用,当两台计算机(DTE)借助公用电话网进行远程数据通信时。RS-232C用于将DTE和DCE进行连接,使两者能进行串行通信。,图9-6 RS-232C接口在远程数据通信系统中的应用,24,1RS-232C的机械特性,RS-232C接口规定使
10、用25针连接器(DB-25),连接器的尺寸及每个插针的排列位置都有明确的定义。由于一般的应用中很少用到RS-232C标准的全部信号线,所以在实际应用中常常使用9针连接器(DB-9)替代25针连接器。两者的外形与引脚排列如图9-7所示。通常一端做成插针,另一端做成插孔。,25,DB-25和DB-9连接器,图9-7 DB-25和DB-9连接器,26,2RS-232C的引脚功能(表9-1),注:引脚序号栏中带括号的序号为DB-9连接器的引脚序号。,27,注:引脚序号栏中带括号的序号为DB-9连接器的引脚序号,28,3RS-232C的电气特性,RS-232C的信号电平:RS-232C标准规定采用负逻辑
11、电平。信号源点的逻辑0(空号)电平范围为+5V+15V,逻辑1(传号)电平范围为5V15V;信号目的点的逻辑0(空号)电平范围为+3V+15V,逻辑1(传号)电平范围为3V15V,噪声容限为2V。RS-232C的信号电平如图9-8所示。,29,RS-232C的信号电平,图9-8 RS-232C的信号电平,通常,RS-232C的逻辑电平采用12V表示逻辑0,12V表示逻辑1。,30,RS-232C的传输距离与传输速率:,RS-232C的传输距离:DTE和DCE之间采用RS-232C传输的最大距离不大于15m。RS-232C的传输速率:小于20kbit/s。注意:传输距离与传输速率是成反比的。,3
12、1,RS-232C在远程通信中的连接,远程通信(传输距离在15m以上)通常需要采用调制解调器(MODEM),这时,RS-232C与DTE和DCE之间的连接方式如图9-9:,4RS-232C与DTE和DCE的连接,32,近程通信是通信距离小于15m的通信,这时,无需使用调制解调器,两台具有RS-232C接口的计算机可采用图9-10所示的两种连接方式中的任意一种进行直接连接。,RS-232C在近程通信中的连接,(a)图的连接方式具有较好的硬件握手功能(b)图的连接方式最简单,但需要利用软件实现握手功能,33,5RS-232C与MCS-51系列单片机的连接,由于MCS-51系列单片机的串行口不是标准
13、RS-232C接口,采用的是正逻辑TTL电平:即逻辑1为2.4V;逻辑0为0.4V。所以使用RS-232C接口将MCS-51系列单片机与计算机或其他具有RS-232C接口的设备进行连接时,必须考虑电平转换问题。通常使用专用的电平转换芯片来进行电平转换。,34,MC1488、MC1489电平转换芯片:,图9-11 MC1488、MC1489的内部结构和引脚排列,MC1488用于将输入的TTL电平转换为RS-232C电平,MC1489用于将输入的RS-232C电平转换为TTL电平输出。,35,由MC1488、MC1489构成的电平转换电路,9,36,为了减少使用双电源的麻烦,现在市场上出现了使用单
14、电源供电的电平转换芯片,这种芯片体积更小,连接更简便,而且抗干扰能力更强,常见的有MAXIM公司生产MAX232。它仅需要+5V电源,由内置的电子泵电压转换器将+5V转换成10V+10V。该芯片与TTL/CMOS电平兼容,片内有2个发送器和2个接收器,使用比较方便。由它构成的电平转换电路如图9-13所示。,MAX232电平转换芯片,37,由MAX232构成的电平 转换电路,R,C5:去耦电容,取值为0.1uF;C1、C2、C3、C4选用数值相同的钽电解电容,取值为1uF;连接时应注意极性,尽量放置在引脚旁边。,38,6RS-232C的缺点,接口的信号电平值较高,易损坏接口电路的芯片。与TTL电
15、平不兼容,与TTL电平接口连接需进行电平转换。传输距离短,使用时传输距离一般不超过15m,线路条件好时也不超过几十米。传输速率较低,最高传送速率为20kbit/s。由于收发信号采用共地传输,容易产生共模干扰,所以抗干扰能力较差。,39,9.2 串行接口的结构与控制,9.2.1 串行接口的结构9.2.2 串行接口的控制寄存器,40,图9-14 MCS-51单片机串行口的结构,9.2.1 串行接口的结构,41,图9-14 说明,串行口由发送电路和接收电路两部分组成。图中有两个物理上独立的串行口接收、发送缓冲器SBUF。SBUF(发送)用于存放将要发送的字符数据;SBUF(接收)用于存放串行口接收到
16、的字符数据,数据的发送、接收可同时进行。SBUF(发送)和SBUF(接收)同属于特殊功能寄存器SBUF,占用同一个地址99H。但发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入。因此,对SBUF进行写操作时,是把数据送入SBUF(发送)中;对SBUF进行读操作时,读出的是SBUF(接收)中的数据。,42,1串口发送过程,当单片机执行“写”SBUF命令(如MOV SBUF,A)时,将累加器A中欲发送的字符送入SBUF(发送)后,发送控制器在发送时钟的作用下,自动在发送字符前后添加起始位、停止位和其他控制位,然后在发送时钟的控制下,逐位从TXD线上串行发送字符帧。发送完一帧数据后使发送中
17、断标志TI=1,发出串口发送中断请求。,43,2串口接收过程,串行口在接收时,接收控制器会自动对RXD线进行监视。当确认RXD线上出现起始位后,接收控制器就从起始位后的数据位开始,将一帧字符中的有用位逐位移入接收缓冲寄存器SBUF(接收)中,自动去掉起始位、停止位或空闲位,并使接收中断标志RI=1,发出串口接收中断请求。这时,只要执行“读”SBUF命令(如MOV A,SBUF),便可以得到接收的数据。,注意:要及时读出数据,否则会出现数据丢失。,44,9.2.2 串行接口的控制寄存器,1串行口控制寄存器SCON2电源控制寄存器PCON,45,1串行口控制寄存器SCON,SCON用于设定串行口的
18、工作方式、接收/发送控制以及设置状态标志等。它的字节地址为98H,可进行位寻址,其各位的定义如图9-15所示。,图9-15 串行口控制寄存器,46,SCON各位名称和功能,SM0和SM1(SCON.7和SCON.6):串行口工作方式选择位。可选择4种工作方式,如表9-2所示。,表9-2串行口的工作方式,47,RI(SCON.0):接收中断标志位。用于指示一帧信息是否接收完毕。它的工作过程是:在方式0中,当串行接收完第8位数据时;在其他方式下,当串行口接收到停止位时;由内部硬件电路使RI=1。一旦RI被硬件置1,便产生串口中断请求(假设串口中断是开放的,下同)。,SCON各位名称和功能,注意:R
19、I必须由软件清0(CLR RI)。,48,TI(SCON.1):发送中断标志位。用于指示一帧信息是否发送完毕。它的工作过程是:在方式0中,当串行发送第8位数据结束时;在其他方式下,开始串行发送停止位时,由内部硬件电路使TI=1,并向CPU发出串口中断请求。,SCON各位名称和功能,注意:TI也必须通过软件才能将其清0(CLR TI)。,49,RB8(SCON.2):接收数据第9位。在方式2或方式3中,用于存放接收数据的第9位,此时,该位可能是奇偶校验位,也可能是多机通信中的地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8为接收到的停止位。方式0时,不使用RB8。,SCON各位名称和功
20、能,50,TB8(SCON.3):发送数据第9位。在方式2或方式3中,用于存放发送数据的第9位,此时,该位可以用作奇偶校验位,在多机通信中,可以作为地址帧/数据帧的标志位。REN(SCON.4):允许接收控制位。若使REN=1,则启动串行口接收数据;若使REN=0,则禁止串口接收。,SCON各位名称和功能,51,SM2(SCON.5):多机通信控制位。主要用于方式2和方式3中。若接收方单片机的SM2=1,则由收到的RB8来控制是否使RI置1:当收到的RB8=0时,RI不被置1,收到的信息被丢弃;当收到的RB8=1时,收到的数据进入SBUF(接收),并将RI置1,向CPU发出串口中断请求,接收方
21、可在串口中断服务中将数据从SBUF(接收)中读走。也可以通过查询RI的办法,在发现RI为1后,将SBUF(接收)中的数据读走。,SCON各位名称和功能,52,若接收方单片机的SM2=0,则RB8不再具有控制RI激活的功能,不论收到的RB8为0还是1,收到的数据都会进入SBUF,并使RI=1。运用SM2的控制功能,便可以实现多机通信(将在下一节中详细介绍)。在方式0时,不使用SM2控制位,应将SM2设定为0。在方式1时,通常也将SM2设为0,若使SM2=1,则只有接收到有效的停止位时,RI才被置1。,SCON各位名称和功能,53,2电源控制寄存器PCON,PCON的字节地址为87H,不能按位寻址
22、,只能按字节寻址。各位的定义如图9-16所示。其中,只有一位SMOD与串行口工作有关。编程时只能使用字节操作指令对它赋值。,图9-16 电源控制寄存器,54,PCON控制位的名称和功能,SMOD(PCON.7):波特率倍增位。在串行口方式1、方式2、方式3中,用于控制是否倍增波特率。当SMOD=0时,波特率不倍增;当SMOD=1时,波特率提高一倍。PCON其余的位,只定义了4位,GF1、GF0为通用标志位,PD、IDL用于节电方式控制:前者为掉电控制位,后者为空闲控制位。,55,9.3 串行接口的工作方式与波特率,9.3.1 串行接口的工作方式9.3.2 串行接口的波特率,56,9.3.1 串
23、行接口的工作方式,1方式02方式13方式2和方式3,57,1方式0,图9-17 串口工作在方式0时的内部结构,方式0时,串行口被设定为同步移位寄存器。这时,串行口的内部结构可简化为图9-17所示。,58,图9-17说明,由图9-17可见,当串行口工作于方式0时,RXD(P3.0)引脚用于输入或输出数据,TXD(P3.1)引脚用于输出同步移位脉冲。波特率固定为fosc/12。发送和接收均为8位数据,低位在前,高位在后。串口工作于方式0时,SM2、RB8和TB8皆不起作用,通常将它们均设置为0状态。,59,(1)方式0发送,方式0发送时,SBUF(发送)相当于一个并入串出的移位寄存器。当TI=0时
24、,通过指令向发送数据缓冲器SBUF写入一个数据,就会启动串行口的发送过程。从RXD引脚逐位移出SBUF中的数据,同时从TXD引脚输出同步移位脉冲。这个移位脉冲可供与串口通信的外设作为输入移位脉冲移入数据。当SBUF中的8位数据完全移出后,硬件电路自动将中断标志TI置1,产生串口中断请求。如要再发送下一字节数据,必须用指令先将TI清0,再重复上述过程。,60,图9-18 串口方式0的发送时序,方式0发送时的时序,61,(2)方式0接收,在方式0接收时,SBUF(接收)相当于一个串入并出的移位寄存器。当SCON中的接收允许位REN=1,并用指令使RI为0时,就会启动串行口接收过程。外设送来的串行数
25、据从RXD引脚输入,同步移位脉冲从TXD引脚输出,供给外设作为输出移位脉冲用于移出数据。当一帧数据完全移入单片机的SBUF后,由硬件电路将中断标志RI置1,产生串口中断请求。接收方可在查询到RI=l后或在串口中断服务程序中将SBUF(接收)中的数据读走。如要再接收数据,必须用指令将RI清0,再重复上述过程。,62,串口方式0的接收时序,图9-19 串口方式0的接收时序,63,2方式1,工作方式1时,串口被设定为10位异步通信口。TXD为数据发送引脚,RXD为数据接收引脚,所传送的字符帧格式如图9-20所示。,图9-20 串口方式1的字符帧格式,64,(1)方式1发送,在TI=0时,当执行一条写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串行 接口
链接地址:https://www.31ppt.com/p-6366908.html