《数字量输入输出串行通信.ppt》由会员分享,可在线阅读,更多相关《数字量输入输出串行通信.ppt(56页珍藏版)》请在三一办公上搜索。
1、串行通信接口,教学重点异步串行通信协议和RS232C接口8250的内部结构和编程 异步通信编程举例,串行通信基础,串行通信:将数据分解成二进制位用一条信号线,一位一位顺序传送的方式串行通信的优势:用于通信的线路少,因而在远距离通信时可以极大地降低成本串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送PC系列机上有两个串行异步通信接口、键盘、鼠标器与主机间采用串行数据传送,RxD,目的,TxD,源,0 1 0 0 1 0 1 1(4BH),RxD,TxD,GND,GND,串行I/O:逐位串行方式(先低后高),异步通信,串行通信时的数据、控制和状态信息都使用同一根信号线传送收发双方
2、必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议,起止式异步通信协议,数据传输速率,数据传输速率也称比特率(Bit Rate)每秒传输的二进制位数bps字符中每个二进制位持续的时间长度都一样,为数据传输速率的倒数当进行二进制数码传输,且每位时间长度相等时,比特率还等于波特率(Baud Rate)过去,串行异步通信的数据传输速率限制在50 bps到9600 bps之间。现在,可以达到115200 bps或更高,同步通信,以一个数据块(帧)为传输单位,每个数据块附加1个或2个同步字符,最
3、后以校验字符结束同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂串行同步通信主要应用在网络当中最常使用高级数据链路控制协议HDLC,传输制式,全双工,站A,站B,站A,站B,站A,站B,半双工,单工,调制解调器,调制(Modulating)把数字信号转换为电话线路传送的模拟信号解调(Demodulating)将电话线路的模拟信号转换为数字信号调制解调器MODEM具有调制和解调功能的器件合制的一个装置,串行接口标准RS-232-C,美国电子工业协会EIA制定的通用标准串行接口1962年公布,1969年修订1987年1月正式改名为EIA-232DRS-232-C标准对下述两个方面作了规定:
4、1、信号电平标准2、控制信号的定义,RS-232-C的电气特性,RS-232C规定的信号电平标准逻辑”1”为-3V-15V逻辑”0”为+3V+15V实际常用12V,标准TTL电平(输出)逻辑”1”:2.4V5V逻辑”0”:0V0.4V,相互转换,MC1489长线接收器(RS232=TTL),Quad line receivers,TTL电平,RS232电平,+5V,MC1488 长线驱动器(TTL=RS232),Quad Line Driver(+12V/-12V),+12V,-12V,TTL电平,RS232电平,长线收发器Tranceiver,ICL232MAX232,SN75176:RS4
5、85/422,单5V电源,TTL,RS232,RS-232-C的信号定义,232C接口标准使用一个25针连接器(DB25)绝大多数设备只使用其中9个信号,所以就有了9针连接器(DB9),RS-232-C的主要信号定义(1),TxD:发送数据串行数据的发送端RxD:接收数据串行数据的接收端,RS-232-C的主要信号定义(2),RTS:请求发送(出)当数据终端设备准备好送出数据时,就发出有效的RTS信号,用于通知数据通信设备准备接收数据CTS:清除发送(允许发送)(入)当数据通信设备已准备好接收数据终端设备的传送数据时,发出CTS有效信号来响应RTS信号 RTS和CTS是数据终端设备与数据通信设
6、备间一对用于数据发送的联络信号,DTR:数据终端准备好(出)DSR:数据装置准备好(入)DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如应答数据接收,RS-232-C的主要信号定义(3),GND:信号地为所有的信号提供一个公共的参考电平DCD:载波信号检测(入)当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端设备提供有效信号RI:振铃指示(入)当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效,保护地(机壳地)起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地TxC:发送器时钟控制数据终端发送串行数据的时钟信号RxC
7、:接收器时钟控制数据终端接收串行数据的时钟信号,RS-232C的连接,微机利用232C接口连接调制解调器,用于实现通过电话线路的远距离通信微机利用232C接口直接连接进行短距离通信。这种连接不使用调制解调器,所以被称为零调制解调器(Null Modem)连接,连接调制解调器,电话线,MODEM,微机(DB25),23456782022,23456782022,MODEM,23456782022,数据装置准备好DSR,数据终端准备好DTR,发送数据TxD,接收数据RxD,请求发送RTS,允许发送CTS,信号地GND,载波检测DCD,振铃指示RI,微机,23456782022,不使用联络信号的3线
8、相连方式,为了交换信息,TxD和RxD应当交叉连接程序中不必使RTS和DTR有效,也不检测CTS和DSR是否有效,“伪”使用联络信号的3线相连方式,RTS和CTS各自互接,DTR和DSR各自互接表明请求传送总是允许、数据装置总准备好,使用联络信号的多线相连方式,通信比较可靠,所用连线较多,不如前者经济,异步串行通信控制器接口芯片Ins8250,1M10M时钟频率PC/XT机:外接1.8432MHZ,8250的内部结构,8250实现了起止式串行异步通信协议,支持全双工通信通信字符可选择数据位为58位停止位1、1.5或2位可进行奇偶校验具有奇偶、帧和溢出错误检测电路,Ins8250内部结构,数据总
9、线缓冲,CS0,CS1,CS2,A2,A1,A0,/ADS,DISTR,/DISTR,DOSTR,/DOSTR,DDIS,MR,D0D7,内部数据总线,发送保持寄存器,接收缓冲寄存器,发送移位寄存器,接收移位寄存器,Sout,Sin,线路控制寄存器,线路状态寄存器,MODEM控制寄存器,MODEM状态寄存器,RCLK,XTAL1,XTAL2,/BAUDOUT,控制逻辑,/RTS,/CTS,/DTR,/DSR,/RLSD,/RI,中断允许寄存器,中断识别寄存器,控制逻辑,/OUT1,/OUT2,INTRPT,中断,MODEM,1M10M,握手线,UART,UART内部结构示意,发 送 位 移 寄
10、 存 器,发 送 数 据 缓 冲 器,TxD,RDA,接 收 位 移 寄 存 器,接 收 数 据 缓 冲 器,RxD,OVRN,UART,RxC,TxC,DATA_BUS,接收时钟,FRERR,发送时钟,TBE,控制逻辑,/RESET,/WR,/RD,CS,溢出错误,帧格式错误,校验错误PE,8250的引脚信号介绍,分成连接CPU的部分和连接外设的部分注意:8250不是Intel公司的产品,所以该芯片引脚名称与前面学习的8253、8255等Intel产品有所不同,但是引脚功能却是类似的,1.与外设连接的信号,数据装置准备好/DSR,数据终端准备好/DTR,发送数据SOUT,接收数据SIN,请求
11、发送/RTS,允许发送/CTS,信号地GND,载波检测/DCD,振铃指示/RI,8250,2.与处理器连接的信号引脚,D0D7 数据线A0A2 地址线CS0、CS1、/CS2 片选线CSOUT 片选输出信号/ADS 地址选通信号DISTR/DISTR 数据输入选通,CPU从8250内部寄存器读出数据,相当于I/O读信号DOSTR/DOSTR 数据输出选通,CPU将数据写入8250内部寄存器,相当于I/O写信号,MR 复位信号线INTRPT 中断请求信号输出:8250有4级共10个中断源,当任一个 未被屏蔽的中断源有请求时,INTRPT输出高电平向CPU 请求中断XTAL1 XTAL2 时钟输入
12、引脚和时钟输出引脚:/BAUDOUT 波特率输出引脚,其频率是发送波特率的16倍RCLK 接收时钟引脚,接收外部提供的接收时钟信号;若采用发 送时钟作为接收时钟,则只要将RCLK引脚和/BAUDOUT 引脚直接相连/OUT1和/OUT2 两个一般用途的输出信号,由芯片内部调制控制寄存器的 D2和D3使其输出低电平有效信号,复位使其恢复为高DDIS 驱动器禁止信号输出,CPU从8250读取数据时,DDIS引 脚输出低电平,用来禁止外部收发器对系统总线的驱 动;其他时间,DDIS为高电平,PC/XT中未用,异步通信适配器接口电路介绍,IBM PC/XT机的串行异步通信适配器以8250为核心完成发送
13、时的并转串和接收时的串转并以及相应的控制工作配置了TTL电平与EIA电平转换电路等,异步通信适配器的部分接口电路,RCLKBAUDOUT,IRQ4IRQ3RESET,+5V,A8,AENA3A7A9,IOR IOWA0A2,MRXTAL1,OUT1OUT2INTRPT,DISTRDOSTRA0A2CS2,8250,LS245,D0D7,D0D7,J9J10J11J12,DIR,1.8432MHz,CS0CS1,ADSDISTRDOSTR,5V,注意:J9J12跨接器和OUT2*的作用,适配器端口地址译码:,A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 I/O地址 1 1 1 1
14、1 1 1 0 0 0 3F8H 1 1 1 1 1 1 1 1 1 1 3FFH 1 0 1 1 1 1 1 0 0 0 2F8H 1 0 1 1 1 1 1 1 1 1 2FFH,J12通,J10通,8250的寄存器,8250内部有9种可访问的寄存器,除数寄存器是16位的,占用两个连续的8位端口内部寄存器用引脚A0A2来寻址;同时还要利用通信线路控制寄存器的最高位,即除数寄存器访问位DLAB,来区别共用两个端口地址的不同寄存器(P336表5.10),INS8250内部寄存器地址,A2 A1 A0 DLAB COM1 寄存器000 0 3F8 写发送寄存器/读接收寄存器000 1 3F8 除
15、数寄存器低字节001 1 3F9 除数寄存器高字节001 0 3F9 中断允许010 x 3FA 中断识别011 x 3FB 线路控制100 x 3FC MODEM控制101 x 3FD 线路状态110 x 3FE MODEM 状态111 x 3FF 不用,1.接收缓冲寄存器RBR,并行数据,检测接收错误去除起始位、校验位、停止位,串行数据,CPU,接收缓冲寄存器,接收移位寄存器,同步控制,8250,SIN,双缓冲寄存器结构保证数据的连续接收,2.发送保持寄存器THR,CPU,发送保持寄存器,发送移位寄存器,同步控制,8250,SOUT,双缓冲寄存器结构保证数据的连续发送,3.除数寄存器,除数
16、寄存器保存设定的分频系数分频系数(除数)外部时钟频率(16波特率),起 始 位,时钟(RCLK),数据线(SIN),T,16 T,16 T,8 T,4.通信线路控制寄存器LCR,指定串行异步通信的字符格式,寄存器选择0 正常值1 除数寄存器,中止字符0 无作用1 发送中止字符,校验位设置0 无校验位001 设置奇校验011 设置偶校验101 校验位为1111 校验位为0,停止位个数0 1位1 1.5位(数据位为5位时)1 2位(数据位为68位时),数据位个数00 5位01 6位10 7位11 8位,5.通信线路状态寄存器LSR(P338图5.58),为1,表示发送移位寄存器空;当数据由发送保持
17、寄存器移入发送移位寄存器时,该位为0,提供串行异步通信的当前状态供CPU读取和处理,为1,表示发送保持寄存器空,当CPU将字符写入发送保持寄存器后,该位为0,为1,表示正在传输中止字符,为1,表示出现帧错误,为1,表示出现溢出错,为1,表示接收数据缓冲器收到一个数据,即接收数据准备好;当CPU读走数据后,该位为0,为1,表示出现奇偶错,6.调制解调器控制寄存器MCR(P339图5.59),DTR,OUT2,LOOP,RTS,OUT1,0 0 0,为1使/OUT2引脚为低否则为高,为1使/OUT1引脚为低否则为高,为1使/RTS引脚为低否则为高,为1使/DTR引脚为低否则为高,为1使8250为自
18、诊断工作方式否则为正常工作方式,设置8250与数据通信设备之间联络应答的输出信号,7.调制解调器状态寄存器MSR(P339图5.60),反映4个控制输入信号的当前状态及其变化MSR高4位中某位为1,说明相应输入信号当前为低有效,否则为高电平MSR低4位中某位为1,则说明从上次CPU读取该状态后,相应输入信号已发生改变,从高变低或反之MCR低4位任一位置1,可产生调制解调器状态中断当CPU读取该状态寄存器或复位后,低4位被清零,RLSD RI DSR CTS RLSD RI DSR CTS,8.中断允许寄存器IER,中断允许寄存器的低4位控制8250这4级中断是否被允许某位为1,则对应的中断被允
19、许某位为0,则对应的中断被屏蔽8250设计有2个中断寄存器和4级中断4级中断的优先权,是按照串行通信过程中事件的紧迫程度安排的、是固定不变的用户可利用中断允许或禁止进行控制,接收数据错,MODEM状态变化,0 0 0 0,发送寄存器空,接收数据就绪,D7,D4,D3,D2,D1,D0,4级中断,接收线路状态中断奇偶错、溢出错、帧错和中止字符接收器数据准备好中断发送保持寄存器空中断调制解调器状态中断清除发送状态改变数据终端准备好状态改变振铃接通变成断开接收线路信号检测状态改变,优先权高,优先权低,4级10种中断源,9.中断识别寄存器IIR,*保存正在请求中断的优先权最高的中断级别编码*IRR寄存
20、器的内容仅可以读出*复位后D0=1,其余位为0,IP,ID1 ID0,0 0 0 0 0,0 有中断1 无中断,异步通信适配器的初始化编程,对8250的内部控制寄存器进行编程写入 写入除数寄存器设置波特率 写入通信线路控制寄存器设置字符格式 写入调制解调器控制寄存器设置工作方式 写入中断允许寄存器设置中断允许或屏蔽位,异步通信编程举例(P340),;初始化编程;设置波特率为2400(P338表5.11)MOV DX,3FBH;线路控制寄存器地址MOV AL,80HOUT DX,AL;DLAB=1,设置写除数标志MOV DX,3F9H;高位除数寄存器MOV AL,0OUT DX,ALMOV DX
21、,3F8H;低位除数寄存器MOV AL,30HOUT DX,AL,;设置数据格式;数据长7位,1个停止位,偶校验MOV DX,3FBH;注意DLAB=0MOV AL,00011010BOUT DX,AL;设置操作方式,不用中断;/OUT2=1,/DTR=0,/RTS=0MOV DX,3FCH;MODEM控制寄存器MOV AL,00000011B;设置/RTS、/DTR有效OUT DX,ALMOV DX,3F9H;中断允许寄存器MOV AL,0;屏蔽全部中断OUT DX,AL,;查询式通信;发送字符在CL中,若收到字符,暂存于ALKEEP_TRY:MOV DX,3FDH;读线路状态寄存器端口 I
22、N AL,DX TEST AL,00011110B;检查出错否 JNZ ERROR_ROUTINE;转出错处理 TEST AL,00000001B;检查收到新数否 JNZ RECEIVE;转接收 TEST AL,00100000B;检查可否发送数据 JZ KEEP_TRY;重新检查 MOV DX,3F8H MOV AL,CL;发送数据 OUT DX,AL JMP SHORT KEEP_TRYRECEIVE:MOV DX,3F8H;接收数据 IN AL,DX.,INS8250内部寄存器地址,A2 A1 A0 DLAB COM1 寄存器000 0 3F8 写发送寄存器/读接收寄存器000 1 3F
23、8 除数寄存器低字节001 1 3F9 除数寄存器高字节001 0 3F9 中断允许010 x 3FA 中断识别011 x 3FB 线路控制100 x 3FC MODEM控制101 x 3FD 线路状态110 x 3FE MODEM 状态111 x 3FF 不用,4.通信线路控制寄存器LCR,指定串行异步通信的字符格式,寄存器选择0 正常值1 除数寄存器,中止字符0 无作用1 发送中止字符,校验位设置0 无校验位001 设置奇校验011 设置偶校验101 校验位为1111 校验位为0,停止位个数0 1位1 1.5位(数据位为5位时)1 2位(数据位为68位时),数据位个数00 5位01 6位1
24、0 7位11 8位,6.调制解调器控制寄存器MCR(P339图5.59),DTR,OUT2,LOOP,RTS,OUT1,0 0 0,为1使/OUT2引脚为低否则为高,为1使/OUT1引脚为低否则为高,为1使/RTS引脚为低否则为高,为1使/DTR引脚为低否则为高,为1使8250为自诊断工作方式否则为正常工作方式,设置8250与数据通信设备之间联络应答的输出信号,8.中断允许寄存器IER,中断允许寄存器的低4位控制8250这4级中断是否被允许某位为1,则对应的中断被允许某位为0,则对应的中断被屏蔽8250设计有2个中断寄存器和4级中断4级中断的优先权,是按照串行通信过程中事件的紧迫程度安排的、是
25、固定不变的用户可利用中断允许或禁止进行控制,接收数据错,MODEM状态变化,0 0 0 0,发送寄存器空,接收数据就绪,D7,D4,D3,D2,D1,D0,5.通信线路状态寄存器LSR(P338图5.58),为1,表示发送移位寄存器空;当数据由发送保持寄存器移入发送移位寄存器时,该位为0,提供串行异步通信的当前状态供CPU读取和处理,为1,表示发送保持寄存器空,当CPU将字符写入发送保持寄存器后,该位为0,为1,表示正在传输中止字符,为1,表示出现帧错误,为1,表示出现溢出错,为1,表示接收数据缓冲器收到一个数据,即接收数据准备好;当CPU读走数据后,该位为0,为1,表示出现奇偶错,异步通信适配器的部分接口电路,RCLKBAUDOUT,IRQ4IRQ3RESET,+5V,A8,AENA3A7A9,IOR IOWA0A2,MRXTAL1,OUT1OUT2INTRPT,DISTRDOSTRA0A2CS2,8250,LS245,D0D7,D0D7,J9J10J11J12,DIR,1.8432MHz,CS0CS1,ADSDISTRDOSTR,5V,注意:J9J12跨接器和OUT2*的作用,中断通信方式的编程注意,关键解决主程序与中断服务程序的数据传递注意处理好8250的4级10种中断源简便方法例:只允许接收数据准备好中断,
链接地址:https://www.31ppt.com/p-6295006.html