1、第8章 常用的接口技术,8.2 可编程串行接口,提要,串行传送基础 串行接口标准 可编程串行接口8251 PC机异步通信适配器简介,实例PC机的端口,PS/2 键盘,串口,并行口,VGA 插座,游戏端口,声卡连接器,USB口,PS/2 鼠标,8.2.1 串行传送基础,串行传送的特点,串行传送是把数据按二进制bit一位一位地顺序传送 所用的传输线少,适于远距离传送 数据信息和控制信息在同一条线上传送 双方需约定传输的波特率 抗干扰能力较强,串行通信信号间的互相干扰完全可以忽略,A,B,Tx,Rx,GND,GND,数据传送方式(1),单工方式半双工方式 只有一条传输通路,A,B,发方,收方,A,B
2、,数据传送方式(2),全双工方式,A,B,信号的调制与解调 (1),电话网带宽300 3400Hz,不适于传送二进制数字信号。因此,要对数字信号进行调制解调。调制数字信号 模拟信号(音频模拟信号)解调 调制方式 幅移键控ASK 频移键控FSK 相移键控PSK,信号的调制与解调(2),Computer,Modem,Computer,Modem,模拟信号,数字信号,数字信号,DCE,DCE,DTE,DTE,DTE:数据终端设备 DCE:数据通信(载波)设备,异步通信,以字符为单位进行传送 收发双方使用不同的时钟,两个时钟间允许存在一定偏差 无数据传送时,传送高电平 成本低、速率不高,同步通信,以数
3、据块(或字符块)为单位进行传送 接收方用相同时钟采样接收数据,收发双方时钟完全同步 数据传输效率高 需要界定符 无数据传送时,传送同步字符,异步通信数据格式,异步数据帧由1个起始位,58个数据位,01个奇偶检验位,1、1.5、2个停止位组成。,同步通信数据格式(1),1. 面向字符的同步通信数据格式规定10个特殊字符作为控制字符 在数据块中的传送的数据如果与控制字符相同,采用字符填充方式。DLE为转义字符。 例:数据中若有ETX,则转义为DLE ETX;数据中若有DLE,则转义为DLE DLE。,同步通信数据格式(2),2. 面向比特的同步通信数据格式典型协议有SDLC,HDLC,LAPD,L
4、APB等 比特填充技术(“0”插入/删除技术),数据传输速率单位,比特率(bit rate) 单位时间内所传输的二进制比特的数量 单位:比特每秒,b/s或bps波特率 单位时间内载波调制状态改变的次数。是对符号传输率的一种度量 单位:波特每秒,baud/s,7.4.2 串行通信接口标准,串行接口标准,RS-232C接口标准 RS-422接口标准 RS-485接口标准,RS-232C标准,美国电子工业协会EIA制定的通用标准串行接口 1962年公布,1969年修订 1987年1月改名为EIA-232D 设计目的是用于连接调制解调器 是数据终端设备DTE与数据通信设备DCE的标准接口 实现远距离通
5、信,也可近距离连接两台微机,RS-232C信号线定义,共有25根信号线,9根主要信号线定义如下: TxD 发送数据线 RxD 接收数据线 RTS 请求发送。DTE请求DCE发送数据 CTS 清除发送。是DCE对RTS信号的响应 DSR 数据设备准备好。表示Modem可用 SG 信号地 DCD (RLSD) 载波检测信号。本地Modem已检测到远端Modem送出的载波信号 DTR 数据终端准备好。表示DTE可用(已加电) RI 振铃指示。已检测到线路上的振铃信号,标准连接方式,DTE,DCE (Modem),TxD,RxD,RTS,CTS,DTR,DSR,RI,DCD,SG,电话线,2,3,4,
6、5,20,6,22,8,7,零Modem连接方式,DTE,TxD 2,RxD 3,RTS 4,CTS 5,DTR 20,DSR 6,RI 22,DCD 8,SG 7,DTE,2,3,4,5,20,6,22,8,7,有握手线的零Modem连接方式,DTE,SG,DTE,2,3,4,5,20,6,22,8,7,TxD 2,RxD 3,RTS 4,CTS 5,DTR 20,DSR 6,RI 22,DCD 8,SG 7,RS-232C流程示意图,DTE A,DCE A,DTR (DTE就绪),DSR,RTS(请求发送),CTS(允许发送),CD(载波检测),T(发送),R,T,DCE B,DTE B,
7、RI(振铃指示),DTR,DSR (DCE就绪),载波信号,CD,R(接收),RTS,CTS,拨号,机械特性,DTE,DCE,15m,DB25(9)/M(针),通信线路,在速率低于20Kbps时,能直 接连接的最大物理距离为 15m(50ft)。,DB25(9)/F(孔),RS-422接口标准,平衡传送方式逻辑“1” AA - BB的电位差大于200mv逻辑“0” AA - BB的电位差小于200mv 能有效抑制共模干扰,最大传输率可达10M bps(传送15m时), 或100k bps ( 传送1000m ) 电路中只有一个发送器,MC3487,MC3486,平衡发送器,差动接收器,A,A,
8、B,B,RS-485接口标准,与RS-422标准类似,最大传输率可达10M b/s 允许多个发送器和多个接收器 能实现点对多点的通信 从站只能响应主站的轮询,命令(B/C/D),响应(B),响应(C),响应(D),主站A,从站B,从站C,从站D,8.2.2 可编程串行接口 芯片8251,串行接口的基本功能,数据格式的自动生成 串并变换 传输速率控制 错误检测 电平转换,典型接口芯片,同步USRT (Universal Synchronous Receiver/Transmitter) 面向字符 MC6852, Intel8251A 面向比特 MC6854,Intel8273, Z-80SIO
9、异步UART(Universal Asynchronous Receiver/Transmitter) INS8250,MC6850,Intel8251A,Z-80SIO 在PC机系列中采用INS8250AINS82C50A NS16450 NS16C450 NS16550 (增加FIFO) NS16550APC16550D,8251A外部特性(1),面向CPU的连接信号 D0D7(In/Out) 三态双向数据线 RD(In) 读信号线 WR(In)写信号线 CS(In) 片选 RESET(In) 芯片复位。高电平的宽度需大于6个时钟信号宽度。 C/D (In)地址线。高电平访问控制寄存器。低
10、电平访问数据寄存器。,8251A外部特性(2),状态信号 TxRDY(Out) 发送器准备好。可用作中断请求信号。 TxRDY引脚=(TXRDY=1)(CTS=0) (TXEN=1) RxRDY(Out) 接收器准备好。可用作中断请求信号。 TxE(Out)发送器空。指移位寄存器空。 SYNDET/BD (In/Out) 同步信号检测,或终止符检测。同步方式:内同步时,作输出;外同步时,作输入。异步方式:检测到间断符(Break Character,也称终止符)时,输出高电平。,8251A外部特性(3),时钟信号 TxC(In) 发送时钟。在异步方式下,TxC的频率为x1,x16,x64倍波特
11、率。在同步方式下,TxC的频率与数据速率相同。在下降沿移出数据。 RxC(In)接收时钟。与发送时钟类似。 CLK(In)工作时钟。为芯片内部电路提供定时。同步方式下,需大于发送时钟或接收时钟频率的30倍。异步方式下,需大于发送时钟或接收时钟频率的4.5倍,8251A外部特性(4),面向调制器的接口信号 DTR(Out)数据终端准备好 DSR(In)数据装置准备好 RTS(Out)请求发送 CTS(In) 允许发送。只有当CTS有效时,才能发送数据。 TxD(Out)数据发送线 RxD(In)数据接收线,8251A内部结构框图,数据总线 缓冲器,读/写 控制逻辑,Modem 控制,发送 缓冲器
12、,D07,RD,WR,C/D,CS,CLK,RESET,TxD,发送 控制,TxRDY,接收 缓冲器,接收 控制,DSR,DTR,CTS,RTS,TxE,TxC,RxRDY,SYNDET/BD,RxC,RxD,8251A的内部逻辑,数据总线缓冲器包括数据缓冲器和命令缓冲器 接收器完成串并变换,去掉起始位和停止位,并进行校验 发送器加入起始位、奇偶校验位和停止位,完成并串变换 读/写控制电路 调制解调控制电路,接收器结构图,CPU,接收缓冲寄存器,接收移位寄存器,接收控制,接收器,RxD,检测接收错误 删除起始位、 校验位和停止位,双缓冲器方式,RxC,RxRDY,起始位的检测,16倍收/发时钟
13、的采样过程如下图所示,能防止因干扰引起的误接收,干扰数据,发送器结构图,CPU,发送保持寄存器,发送移位寄存器,发送控制,发送器,TxD,加入起始位、 校验位和停止位,双缓冲器方式,TxC,TxRDY,TxE,TxRDY引脚=(TXRDY=1)(CTS=0) (TXEN=1),命令字和状态字,方式命令字设定通信方式和数据格式 工作命令字指定8251A完成某种操作(如发送、接收、内部复位和检测同步字符等)或设定调制解调器的控制信号。 状态字报告8251A的状态,方式命令字(异步方式),EP,PEN,S1,S0,L1,L0,B1,B0,D0,D7,字符长度,奇偶校验,停止位,波特率因子,01: x
14、1 10: x16 11: x64,00: 5 bit 01: 6 bit 10: 7 bit 11: 8 bit,x0: 无校验 01:奇校验 11:偶校验,00: 禁止 01: 1 bit 10: 1.5 bit 11: 2 bit,方式命令字(同步方式),EP,PEN,SCS,ESD,L1,L0,0,0,D0,D7,字符长度,奇偶校验,00: 5 bit 01: 6 bit 10: 7 bit 11: 8 bit,x0: 无校验 01:奇校验 11:偶校验,同步 模式,同步 字符 个数,0: 内同步 1: 外同步,0: 双同步符 1: 单同步符,工作命令字,RTS,ER,EH,IR,SB
15、RK,RXE,DTR,TXEN,D0,D7,1: 发送允许 0: 发送禁止,0: DTR=1 1: DTR=0,1: 接收允许 0: 接收禁止,1: 发送间断符(中止符) 0: 正常操作,1: 复位错误标志 0: 正常操作,0: RTS=1 1: RTS=0,1: 内部复位 0: 正常操作,1: 搜索模式 0: 正常操作,间断符通知发 方中止发送,间断符(中止符),间断符(大于连续10个“0”),发方,收方,DSR,SYN/BD,状态字,FE,OE,PE,TXE,RXRDY,TXRDY,D0,D7,1: 发送缓冲器空,与外部管脚信号一致,1:奇偶错,1:重叠错,1:帧错,0: DSR=1 1:
16、 DSR=0,TXRDY引脚=(TXRDY=1)(CTS=0) (TXEN=1),错误标志,奇偶错误PE(Parity Error) 接收到的字符中“1”的个数不符合奇偶校验要求 帧错误FE(Frame Error) 接收到的字符格式不符合规定(如缺少停止位) 重叠错误OE(Overrun Error) 若接收移位寄存器接收到一个数据并送至接收缓冲器时,前一个数据还未被CPU取走,则出现数据重叠,8251A初始化流程,硬件复位,内部复位,写方式命令字,Yes,No,异步?,单同步符?,Yes,Yes,No,写第1个同步符,写第2个同步符,初试化完成,方式命令字和工作命令字按一定顺序写入 复位方
17、式字命令字1 命令字2 .,8251A时序图,见8251用户手册(82c51a-2rs.pdf),应用举例,采用查询方式实现两微机间通过串口异步传送数据,8位字符、2位停止位、无校验、波特率为4800bps、波特率因子为64。控制口为309H,数据口为308H。,8251A,8251A,EIA /TTL,TxD,RxC,EIA /TTL,波特率 发生器,波特率 发生器,RxD,SG,TxD,RxD,SG,TxC,RxC,TxC,乙 CPU,甲 CPU,CTS,DTR,发送程序,mov dx, 309hxor al, alout dx, al ;预初始化mov al, 40hout dx, al
18、 ;软复位nop ;延时mov al, 0cfh ;方式命令字out dx, almov al, 33h/37hout dx, al ;工作命令字mov cx, 2dh ;发字节数,mov si, 300h ;首地址 l1:mov dx, 309h in al, dx ;读状态口and al, 01h ;TxRDY=1?jz l1dec dx ;数据口mov al, siout dx, alinc sidec cxjnz l1,接收程序,mov dx, 309hxor al, alout dx, al ;预初始化mov al, 40hout dx, al ;软复位nopmov al, 0cfh ;方式命令字out dx, almov al, 16h/14hout dx, al ;工作命令字mov cx, 2dh ;收字节数,nov di, 400h ;首地址 l1:mov dx, 309h in al, dx ;读状态口test al, 38h ;检错jnz errand al, 02h ;RxRDY=1?jz l1dec dxin al, dxmov di, alinc diloop l1,