资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,微机原理,制作者:,张幸,在此幻灯片插入公司的徽标,从“插入”菜单,选择图片,找到徽标文件,单击“确定”,重新设置徽标大小,单击徽标内任意位置。徽标外部出现的方框是“调整控点”,使用这些重新设置对象大小,如果在使用尺寸调整控点前按下,shift,键,则对象改变大小但维持原比例。,第十章 串口通信,通信:计算机与外部的信息交换,串行通信:数据逐位按一定顺序传送,并行通信:数据各位同时传送,状态,控制,D0D1D2D3D4D5D6D7,D0D1D2D3D4D5D6D7,计算机,外设或计算机,特点:速度快,效率高,成本高,适用于近距离,特点:成本低,速度慢,适用于远距离,TXD,TXD,RXD,RXD,计算机,外设或计算机,第一节 串行通信的基本概念,一、数据传送的方式,单工:,数据线仅能在一个方向上传送,发送,接收,单向通道,半双工:,数据虽可在两个设备上向任何一个方向传送,但不能同时进行,双向通道,发送,接收,接收,发送,全双工:,数据可在两个设备上向任何一个方向传送,且可同时进行,双向通道,发送,接收,接收,发送,二、串行传送工作方式,异步方式:,通信双方按一定协议进行数据传送,数据是一帧一帧传送,D0 D7,校验位,起始位,停止位,数据长度,5,、,6,、,7,、,8,异步通信传送效率在70%左右,同步传送,:,发送数据前,先发一到两个同步字符,表示数据开始,同步后,开始进行批量数据传送,同步字符,1,同步字符,2,数据字符,同步传送需要一个同步时钟,同步传送比异步传送速度快,三、串行传送速率,波特率,:每秒种内数据传送的位数,单位,bit/s,,,bps,如一个串行字符由1个起始位,7个数据位,1个校验位,1个停止位组成,假如每秒传送120个字符,则其波特率为120*10=1200,bps,常用的波特率为,110,300,600,1200,,,2400,,,4800,9600,19200,四、信号的调制和解调,1.,将发送端数字数据信号变换成模拟数据信号的过程称为调制,将调制设备称为,调制器(,modulator,),2.,将接收端模拟数据信号还原成数字数据信号的过程称为解调,将解调设备称为,解调器(,demodulator,),3.,同时具备调制与解调功能的设备称为,调制解调器(,modem,),4.,调制器的类型:,振辐键控(,ASK,),频移键控(,FSK,),相移键控(,PSK,),在调制过程中,选择音频范围内的某一角频率,的正(余)弦信号作为载波,该正(余)弦信号可以写为:,u,(,t,),=Um,sin,(,t+0,),3,个可以改变的电参量:,振 幅,um,振辐键控(,ASK,),角频率,频移键控(,FSK,),相 位,相移键控(,PSK,),可以通过变化,3,个电参量,来实现模拟数据信号编码的目的。,五、信息的检错和纠错,串行通信一般要检测传输过程中是否有错误出现。在基本通信规程中常采用,奇偶校验,或,校验和的块校验,方法,在高级通信控制规程中一般采用,循环冗余码(,CRC,)校验,奇偶校验,:,即在传送字符的各位之外,再传送,1,位奇,/,偶校验位。可采用奇校验或偶校验。,奇校验:所有传送的数位(包含字符的各个数位和校验位)中,,1,的个数为奇数,偶校验:所有传送的数位(包含字符的各个数位和校验位)中,,1,的个数为偶数,校验和的块校验,:,奇偶校验与,“,检验和,”,的综合,1 1 0 1 0 0 1 0,0 1 0 0 0 0 0 1,1 0 1 0 1 0 1 0,1 1 1 1 0 0 1 1,1 1 0 0 0 0 1 1,0 0 0 0 1 0 0 1,异步收发器(,URTA)INTEL 8250,同步异步收发器(,USART)INTEL 8251,六、串行接口芯片,UART,和,USART,第二节 可编程串行通信接口芯片,8251A,一、基本功能,可用于串行异步通信,也可用于串行同步通信。,对于异步通信,可设定停止位为,1,位、,1,位半或,2,位。,对于同步通信,可设为单同步、双同步或外同步等。同步字符可由用户自己设定。,可以设定奇偶校验的方式,也可以不校验。校验位的插入、检出及检错都由芯片本身完成,异步通信的时钟频率可设为波特率的,1,倍、,16,倍或,64,倍。,在异步通信时,波特率的可选范围为,0,19.2,千波特;在同步通信时,波特率的可选范围为,0,64,千波特。,提供与外部设备特别是调制解调器的联络信号,便于直接和通信线路相连接。,接收、发送数据分别有各自的缓冲器,可进行全双工通信。,二、内部结构,发送,缓冲器,数据总线缓冲器,调制解调控制电路,DB,读,/,写逻辑,RESET,CLK,RD,WR,C/D,CS,DSR,DTR,CTS,RTS,发送,控制,电路,接收,缓冲器,接收,控制,电路,RxD,TxD,TxRDY,TxE,TxC,RxRDY,RxC,SYNDET,状态缓冲器、接收数据缓冲器、,发送,数据/命令缓冲器,作用:,接收器接收在,RxD,上的串行数据并按规定的格式转换为并行数据,存放在接收数据缓冲器中。,1,、接收器,RxD,异或门,内部,CLK,DB,检测,奇偶检验结果,接收缓冲寄存器,接收移位寄存器,奇偶位,停止位,1,波,特,率,接收器的工作过程,在异步方式中,,当接收器接收到有效的起始位后,便开始接收数据位、奇偶校验位和停止位。然后将数据送入寄存器,此时,,RXRDY,输出高电平,表示已收到一个字符,,CPU,可以来读取。,在同步方式中,,,若程序设定,8251A,为外同步方式,则引脚,SYNDET,用于输入外同步信号,该引脚上电平正跳变启动接收数据。,若设定为内同步接收,则,8251A,先搜索同步字,(,同步字事先由程序装在同步字符寄存器中,),。,RXD,线上收到一位信息就移入接收寄存器并和同步字符寄存器内容比较,若不同则再接收一位再比较,直到两者相等。此时,SYNDET,输出高电平,表示已搜索到同步字符,接下来便把接收到的数据逐个地装入接收数据寄存器,与接收有关的信号,RxD,(,Receiver Data,),接收数据:从,RxD,端,串行数据输入,RxRDY,(,Receiver Ready,),接收数据准备好,RxRDY=1,表示接收数据缓冲器已收到一个字符数据,,CPU,可采用中断或查询方式读取数据,SYNDET/BRKDET,同步检测,/,断点检测,同步方式(同步检测):,在内同步方式,当,8251,检测到同步字符,,SYNDET,输出为高电平,表明,8251A,已处于同步状态。外同步方式:当,SYNDET,引脚有一个正跳变脉冲,,8251,在下一个接收时钟的上升沿开始接收字符,一旦达到同步,,SYNDET,引脚的高电平即可撤除。,异步方式(断点检测):,当,8251,从,RxD,端连续收到两个由全,“,0,”,组成的字符时,该引脚输出为高电平,RxC,(,Receiver Clock,),接收时钟,对于异步方式,给发送数据加上起始、奇偶检验、停止位,按约定的波特率从,TxD,输出。,数据发送缓冲器,波,特,率,发送移位寄存器,奇偶位,停止位,1,起始位,异或门,TXD,SOUT,0,内部,CLK,DB,CPU,执行输出指令,并行数据,发送缓冲器,。,工作过程,发送缓冲器,发送移位寄存器,,,并行数据转换为串行数据,2,、发送器,对于同步方式,先送出,1,个或,2,个同步字符,然后逐位输出串行数据,。,TxE,(,Transmitter Empty,),发送器空:,TxE=1,表示发送移位寄存器中已无数据可以向外部发送。此时,由,TxD,输出空闲位(同步字符)。当8251从,CPU,接收到一个数据后,,TxE=“0”,。,TxC,(,Transmitter Clock,),发送时钟,TxD,(,Transmitter Data,),发送数据:将,CPU,送入的并行数据转换成串行格式后,从,TxD,端输出,TxRDY,(,Transmitter Ready,),发送数据准备好:,TxRDY=1,表示发送数据缓冲器已准备好从,CPU,接收一个字符数据,,CPU,可采用中断或查询方式输出一个数据,与发送有关的信号,3,、数据总线缓冲器:,与,CPU,相互交换的数据和控制字,4,、读,/,写控制电路,C/D,:控制,/,数据信号输入端,C/D=1,,表示当前通过数据总线传送的是控制信息或状态字,C/D=0,,传送的是数据信息,5,、调制解调器控制电路,在远程通信时,可用,8251,与调制解调器相连,经电话线传输数据,RxD,TxD,DSR,DTR,CTS,RTS,RxC,TxC,DB,CB,AB,8251A,波特率,发生器,M,O,D,E,M,电话线接口,电话线,数据通信设备,DCE,数据终端设备,DTE,DTR,(,Data Terminal Read y,)数据终端准备好(通知数据装置),DSR,(,Data Set Ready,)数据装置准备好(回应,DTR,信号),RTS,(,Request to Send,)数据终端向,MODEM,发出请求表示数据已准备好需要发送,CTS,(,Clear to Send,),MODEM,回应终端,若,TxEN,有效,8251,可以发送数据,发送结束,CTS=“1”,。,8,2,5,1,A,RxD,TxD,外,设,TxC,RxC,D7D0,RD,WR,A1 RESET,A B C G2A,G1,Y0 Y1 Y2,O O O,D7D0,RD WR C/D RESET,A0 A2,A3,A7,8086,系统总线,LS138,M/IO,&,A4,A5,A6,G2B,CS,TxRDY TxE RxRDY BRKDET,RS-,232,接口,波特率,发生器,6,、,8251A,与,CPU,的连接,三、,8251A,的编程,1.,方式字:,确定,8251A,的工作方式(同异步,数据格式),在某异步通信中,数据格式采用,8,位数据位,1,位起始位,2,位停止位,奇校验,波特率因子是,16,命令口地址为,309H,MOV DX,309H,MOV AL,0DEH,OUT DX,AL,同步通信中,若帧格式为,:,字符长度,8,位,双同步字符,内同步方式,奇校验,MOV DX,309H,MOV AL,1C H,OUT DX,AL,2.,工作命令,8251,的方式命令和工作命令的使用,8251,的方式命令和工作命令地址相同,无特,征位,故向,8251,写命令时必须按一定的顺序,复位,-,方式命令,-,工作命令,1-,工作命令,2-,电源上电,,8251,自动进入复位状态,为了确保在送方式字和命令字之前,8251,正确复位,应向,8251,的控制口连续写入,3,个,“,0,”,,然后再写入一个复位控制字(,40H,),用软件使,8251,可靠复位。,硬件复位,(RESET),或软件复位,(D6=1),异步方式字,单同步方式字,双同步方式字,送同步字符,送同步字符,1,送同步字符,2,命令字,1(D6,1,),命令字,1(D6,1,),命令字,1(D6,=1,),例:,8251,工作于异步方式,波特率系数为,16,,,7,位数据位,,1,个停止位,偶校验,控制口地址,3F2H,。,MOV DX,,,3F2H,MOV AL,,,00H,OUT DX,,,AL,CALL DELAY1,OUT DX,,,AL,CALL DELAY1,OUT DX,,,AL,CALL DELAY1,MOV AL,,,40H,;复位字,OUT DX,,,AL,CALL DELAY1,MOV AL,,,01111010B,;方式字,OUT DX,,,AL,CALL DELAY1,MOV AL,,,00010101B,;命令字,OUT DX,,,AL,RS232C,是最常用的串行通信接口标准之一,是,PC,机的标准配置。,通过,RS232C,接口可实现计算机与其他数字设备(包括计算机)的通信。,计算机,数据装置,MODEM,远程计算机,MODEM,数据通信终端,数据通信终端,通信网络,数字信号,数字信号,RS232C,RS232C,计算机远程通信,一、,EIA RS-232C,通信接口标准,第三节,RS-232C,串行口和,8251A,的应用,1,、,RS-232C,逻辑电平定义,RS232C,属负逻辑电平,1488,-12V,+12V,TTL IN,EIA OUT,EIA IN,TTL OUT,+5V,1489,TTL,与,EIA,电平的转换,15V,3V,3V,15V,非法电平区,信号,0,电平区,(,通常,12V),信号,1,电平区,(,通常,12V),1,1,1,1,1,+,+,+,+,+,C1+,C1-,C2+,C2-,V+,V-,Vcc,T1,IN,T2,IN,R1,OUT,R2,OUT,R1,IN,R2,IN,TTL,RS-,232C,1,2,3,4,11,5,10,12,9,14,7,13,8,6,+5V,+10V,-10V,MAX232,T1,OUT,T2,OUT,2,1,3,8,13,12,17,14,20,5,18,4,19,11,15,16,10,C1+,C1-,V-,V-V+,C2+,C2+,C2-,C2-,9,6,GND,T1,IN,T2,IN,R1,OUT,R2,OUT,R1,IN,R2,IN,T1,OUT,T2,OUT,RS-,232C,TTL,MAX233,+5V,7,双排25芯 9个信号,(1),保护地,接机壳,(2),发送数据,,TXD,串行数据输出,(3),接收数据,,RXD,串行数据输入,(4),请求发送,,RTS,,联络信号;发送方待发送数据准备好,向接收方请求。,(5),准许发送,,CTS,,联络信号;接收方准备好接收数据,向发送方应答。,(6),数据终端就绪,,DTR,,联络信号;接收方装置就绪,向发送方请求。,(20),数据装置就绪,,DSR,,联络信号;发送方装置就绪,向接收方应答。,(8),载波检测,,CD,(7),信号地,,GND,数据信号、联络信号和电源的公共地。,2,、,RS232C,的电气接插件标准,双排9芯 9个信号,(1),CD (2)RXD (3)TXD (4)DTR (5)GND,(6)DSR (7)RTS (8)CTS (9)RI(,振铃指示),二、,RS232C,串行通信系统的连接,1,、与,MODEM,的连接,TXD,RXD,RTS,CTS,DSR,GND,CD,DTR,微机,RS232C,MODEM,2,、小型终端连接,TXD,TXD,2,3,7,2,3,7,小型,终端,微机,RS232C,RXD,RXD,GND,三、二台计算机之间串行通信的连接,TXD 2,RXD 3,RTS 4,CTS 5,DSR 6,GND,8 CD,DTR 20,2 TXD,3 RXD,4 RTS,5 CTS,6 DSR,GND,CD 8,20 DTR,计算机,A RS232C,计算机,B RS232C,1,、数据发送,TXD,与数据接收,RXD,交叉连接。,2,、数据装置就绪,DTR,与数据终端就绪,DSR,交叉连接。,3,、数据发送请求,RTS,与本方数据准许发送自连接,也与对方载波检测,CD,交叉连接。,四、,8251A,应用举例,乙机,CPU,TXD,RXD,SG,TXC,RXC,TXD,RXD,SG,TXC,RXC,甲机,CPU,EIA/TTL,交换,EIA/TTL,交换,波特率,发生器,波特率,发生器,BEG-T:MOV DX,,,1F2H,MOV AL,,,7AH,OUT DX,,,AL,MOV CX,,,02H,D1,:,LOOP D1,MOV AL,,,11H,OUT DX,,,AL,MOV CX,,,02H,D2,:,LOOP D2,LEA DI,,,BUFF-T,MOV CX,,,COUNT-T,NEXT-T,:,IN AL,,,DX,TEST AL,,,01H,JZ NEXT-T,PUSH DX,MOV DX,,,1F0H,MOV AL,,,DI,OUT DX,,,AL,INC DI,POP DX,LOOP NEXT-T,置方式字,置命令字,置发送缓冲区首址,置发送数据数,读入,8251,状态,TxRDY=1,从发送缓冲区取数送,8251,修改指针,发送完,Y,Y,N,N,BEG-R,:,MOV DX,,,1F2H,MOV AL,,,7AH,OUT DX,,,AL,MOV CX,,,02H,D3,:,LOOP D3,MOV AL,,,14H,OUT DX,,,AL,MOV CX,,,02H,D4,:,LOOP D4,LEA DI,,,BUFF-R,MOV CX,,,COUNT-R,NEXT-R,:,IN AL,,,DX,TEST AL,,,02H,JZ NEXT-R,TEST AL,,,38H,JNZ ERROR,MOV DX,,,1F0H,IN AL,,,DX,MOV DI,,,AL,INC DI,MOV DX,1F2H,LOOP NEXT-R,置方式字置命令字,置接收缓冲区首址,置接收数据数,读入,8251,状态,RxRDY=1,从,8251,接收数据送缓冲区,修改指针,发送完,Y,Y,N,N,传送出错,Y,N,10-12,在一个以,8086,的系统中,,8251,的数据口地址为,84H,,控制口和状态口的地址为,86H,,试画出地址译码电路、数据总线和控制总线的连接图。,8,2,5,1,A,RxD,TxD,外,设,TxC,RxC,D7D0,RD,WR,A1 RESET,A B C G2A G2B,Y0 Y1 Y2,O O O,D7D0,RD WR C/D RESET,A0 A2,A3,A7,8086,系统总线,LS138,接口电路,M/IO,或,A4,A5,A6,G1,CS,TxRDY TxE RxRDY BRKDET,RS-,232,接口,波特率,发生器,解:如下图所示:,10-14,若,8251,的端口地址为,FF0,、,FF2H,,要求,8251,工作于异步方式,波特率因子为,16,,,7,位数据位,,1,位奇校验位,,1,位停止位,试对,8251,进行初始化编程。,MOV DX,,,0FF2H,MOV AL,,,00H,OUT DX,,,AL,;向控制口写入第一个“,0”,CALL DELAY1,;延时,OUT DX,,,AL,;向控制口写入第二个“,0”,CALL DELAY1,;延时,OUT DX,,,AL,;向控制口写入第二个“,0”,CALL DELAY1,;延时,MOV AL,,,40H,;向控制口写入复位字,OUT DX,,,AL,CALL DELAY1,;延时,MOV AL,,,01011010B,;写入方式字,OUT DX,,,AL,CALL DELAY1,MOV AL,,,00010101B,;命令字,允许接收发送,清除错误标志,OUT DX,,,AL,;写入命令字,
展开阅读全文