450 likes | 639 Views
第六章 串行接口. 6.1 串行通信的概述 6.2 串接口的一般结构 6.3 串行接口 INTEL8251 及应用 6.4IBM PC 机的异步串行通信接口. 课题 11. 教学内容 一、 串行通信特征 二、 串行通信协议 三、 波特率和发送接收时钟 四、 传输距离 五、 8251A 的内部结构和引脚功能 六、 2 个端口、 2 个控制字和 1 个状态字 七、 初始化编程举例. 可编程串行通信接口芯片 8251A. 信息交换就是通信。微机与微机之间、微机与外部设备之间都存在如何通信的问题。通信方法有并行和串行两种,如图 6-17 所示。.
E N D
第六章 串行接口 6.1串行通信的概述 6.2串接口的一般结构 6.3串行接口INTEL8251及应用 6.4IBM PC机的异步串行通信接口
课题11 教学内容 一、串行通信特征 二、串行通信协议 三、波特率和发送接收时钟 四、传输距离 五、 8251A的内部结构和引脚功能 六、 2个端口、2个控制字和1个状态字 七、初始化编程举例
可编程串行通信接口芯片8251A 信息交换就是通信。微机与微机之间、微机与外部设备之间都存在如何通信的问题。通信方法有并行和串行两种,如图6-17所示。
图6-17 通信方法 (a) 并行通信;(b) 串行通信
6.1 串行通信特征和传输协议 1.串行通信特征 按数据传送方向划分,串行通信可划分成单工、半双工和全双工等3种不同的形式,如图6-18所示。 图6-18 通信方式 (a) 单工;(b) 半双工;(c) 全双工
2.串行通信协议 1) 异步通信 异步通信中的1帧是一个由4部分组成的字符数据,先有一个起始位“0”表示数据开始;随后是5~8位二进制数表示数据自身,且低位在前,高位在后;接着是可省略的奇偶校验位1位;最后是一个停止位“1”。图6-19给出了字符数据的11位帧格式和字符Q的10位帧格式,图中所画就是字符Q的波形。
图6-19 异步通信的1帧字符 (a) 11位帧格式;(b) 字符Q的10位帧格式
2) 同步通信 同步通信中的1帧由若干个字符组成。1帧数据格式如图6-20所示。由于数据块传送时每个字符数据无起始和停止标志,1帧可以传送多个数据,因此同步通信的速度高于异步通信,但因需要确定同步字符(使用2个同步字符的称为双同步,使用一个字符的称为单同步),相应硬件电路也复杂一些。
3.波特率和发送接收时钟 串行通信数据传输速率指每秒传送的二进制数位数(bit/s),又称为波特率,1波特(Baud)=1位/秒(1 bit/s)。例如异步传输速率为每秒100字符,每字符由1个起始位、8位ASCII数据位和一个停止位组成,则传输波特率为 100字符/s×10位/每字符=1000波特
4.传输距离 串行通信的有效距离(波形不发生畸变)与传输速率和传输线电气特性有关。传输距离随传输速率的增大而减小。不同的传输距离,需要不同的传输通道配置。图6-21画出了3种不同距离时的通道配置。
图6-21 传输通道配置 (a) 近距离传输;(b) 中距离传输;(c) 远距离传输
5.RS-232C串行通信接口标准 RS-232接口标准是美国EIA(电子工业联合会)与BELL等公司于1969年一起开发的通信协议,它适合于传输速率为0~20 000波特的通信范围,使用电缆传输能连接的最大物理距离为15 m(50英尺)。该标准规定了信号线、连接器的功能以及电气特性。 1) RS-232C接口信号 EIA RS-232C标准规定了数据终端和通信设备之间的接口信号。所谓“发送”和“接收”都是从数据终端设备角度定义的。该标准有25线插件和9线插件两种,如图5-22所示,实用中以9线插件为多。
图6-22 RS-232 C接口 (a) 25线插件;(b) 9线插件
2) 电气特性和电平转换电路 EIA RS-232C对电气特性、逻辑电平作了如下规定:① 在TXD和RXD数据线上有逻辑“1”(MARK)=-3~-15 V,逻辑“0”(SPACE)=+3~+15 V;② 在RTS、CTS、DSR、DTR、DCD控制线上有+3~+15 V为信号有效(接通、ON状态,正电压),-3~-15 V为信号无效(断开、OFF状态,负电压),在-3~+3 V之间的电压无意义,低于-15 V或高于+15 V电压也无意义,实际操作中应保证电平在±(3~15) V之间。
图6-24画出了MC1488、MC1489的内部结构和引脚,其中MC1488的2、4、5、9、10、12和13脚接TTL电平输入;3、6、8、11脚接EIA RS-232C输出。MC1489的1、4、10、13脚接EIA输入;3、6、8、11脚接TTL输出。图9-25画出了TTL器件8251与EIA插接件RS-232C之间的连接。前者要求TTL电平,后者要求EIA电平,RS-232C所有的输入、输出信号分别经MC1488和MC1489转换后才能进入连接器或从连接器送进来。MAX232是一种新型的RS-232C转换芯片,用于完成TTL和RS-232电平的双向转换,仅需+5 V单一电源和外接5个电容便能工作,其内部含有电压倍增电路和转换电路,使用时可连接两对收发线,把通信接口TXD(发送)、RXD(接收)端的TTL电平0~5 V转换成RS-232C EIA电平(-10~+10 V)。
6.2 8251A的内部结构和引脚功能 8251A是一种可用于异步或同步串行通信的可编程接口芯片,适合于异步或同步传递。 1.8251A的内部结构及工作过程 8251A的结构和引脚分别如图6-26和图6-27所示,内部由5个主要部分组成:接收器、发送器、调制控制、读写控制以及系统数据总线缓冲器。各部分由内部总线实现相互之间联系和通信。
2.引脚 CS:片选信号。低电平有效,常接地址译码器的一根输出线。 C/D:控制/数据线。常接CPU的一根地址线,例如A1或A0。和C/的接法决定了8251A有两个端口以及两个端口地址。 D0~D7:双向三态数据线。与CPU的D0~D7相连。 RD(Read):读数据信号。低电平有效,输入。当CPU要从8251A读取数据或状态字时产生此信号并送达8251A。
WR(Write):写数据信号。低电平有效,输入。当CPU要向8251A写入数据或控制字时产生此信号并送达8251A。8251A的读写时序是:首先,CS、C/D有效以选中8251A芯片和相应的端口;然后,CPU发出RD、WR(读、写)控制命令。 TXRDY(Transmitter Ready):发送器准备好信号。用于收发联络,高电平有效。有效时表明发送器已准备好,能够接收CPU送来的数据字符。当CPU已向8251A送来一个数据后,TXRDY自动为零。当CTS=0,TXE=1时允许8251A发送数据。该信号在查询方式工作中是一个状态信号,CPU通过状态寄存器的D0能检测到;该信号在中断方式中是中断申请信号。
TXE(Transmitter Empty):发送器空信号。高电平有效时表示发送操作已结束,说明发送器中的数据已发送出去。 RXRDY(Receiver Ready):接收器准备好信号。高电平有效时表示8251A已经从它的串行输入端接收了一个字符,并且已完成格式变换,等CPU来取。当CPU从8251A读了一个数据后,该信号自动复位。该信号在查询方式中作联络信号用;在中断方式中作中断申请信号用。
SYNDET(Synchronous Detection)/BD(Break Detection):同步检测/间断检测。 RESET:复位信号。接CPU复位线,要求复位高电平持续6个时钟周期以上。 DTR:数据终端准备好信号,输出。可用工作命令字的D1置1使DTR=0有效。 RTS:请求发送信号,输出。由8251A送至MODEM,表示要求发送。可用工作命令字的D5置1使RTS=0有效。 DSR:数据装置准备好信号,输入。表示调制器已准备好,用状态寄存器D7位检测。 CTS:允许传送信号,输入。是MODEM对8251A的RTS信号的响应。
TXD:发送器发送数据线。 RXD:接收器接收数据线。 TXC(Transmitter Clock):发送器输入时钟。用于控制8251A发送字符的速度。同步方式下,TXC的频率与数据位速率相同。异步方式下,TXC的频率既可以等于波特率,也可以是波特率的16倍或64倍。 RXC(Receiver Clock):接收器输入时钟。频率约定与TXC相同。实际应用中,把TXC和RXC连接一起,使用波特率发生器作同一个时钟源。
CLK:输入时钟线。为内部电路提供定时。同步方式下,CLK的频率要大于接收器或发送器输入时钟频率的30倍;异步方式下,CLK的频率要大于接收器或发送器输入时钟频率的4.5倍。CLK的周期要在0.42~1.35 μs范围内。 VCC:电源,+5 V。 GND:接地。
6.3 2个端口、2个控制字和1个状态字 1.8251A的2个端口及端口地址 C/D为低电平时选中的是数据口,C/D为高电平时选中的是控制/状态口。 【例6-4】 8251A的端口地址为308H、309H。设控制字为40H,已放在AL中。状态字为56H,执行下列程序段后,AL=?
2.8251A、CPU、外设之间的连接 8251A、CPU、外设(MODEM)之间的典型连接如图6-28所示。8251A与CPU之间并行传送数据;8251A与MODEM之间串行传送数据。 图6-28 8086、8251A和外设连接
3.2个控制字 1) 工作方式字 工作方式字能让8251A选择异步方式还是同步方式工作,并可按其工作方式指定帧数据格式。该字8位二进制数被分为四组,每组两位,格式如下:
2) 工作命令字 工作命令字的格式如下:
3) 工作方式和工作命令字的写入 工作方式字只能写入1个,工作命令字可写入多个,写入顺序如图6-29所示。
图6-29 从控制/状态口写入工作方式字和工作命令字
4.1个状态字 状态字是8251A能否进行发送或接收的状态,它位于状态寄存器中。格式如下:
6.4 初始化编程举例 【例5-5】 甲乙两台微机进行串行通信,设甲机发送,乙机接收。要求把甲机上的100个数据传送到乙机,采用异步方式,波特率为2400 Baud,字符长度8位,停止位2位,波特率因子16,无校验。CPU与8251A之间用查询方式交换数据。端口地址为308H、309H。 解 近距离传送直接相连,不用MODEM。两台微机之间使用TXD、RXD和SG三根线连接。8251A作为接口的主芯片,与波特率发生器、RS-232C、TTL电平转换电路、地址译码电路等就构成一个串行通信接口,如图5-30所示。接收和发送程序采用查询I/O方式,各自编写,包括8251A初始化、检查状态字的D5~D3位确定是否有错、检查发送D0/接收D2的状态是否为1,为1时表示准备好,允许发送/接收1个字节。
小结 一、串行通信特征 二、串行通信协议 三、波特率和发送接收时钟 四、传输距离 五、 8251A的内部结构和引脚功能 六、 2个端口、2个控制字和1个状态字 七、初始化编程举例
作业 6.1 6.8 6.19