微机原理课件第十一章.ppt
第11章 串行通信及可编程接口芯片8251A基本的数据传送方式有两种:并行通信和串行通信。并 行 数 据 通 信-是 指 在 多 条 并 行 的 传 输 线 上 同 时 传 送 各 位 数据的方式。11.1 串行通信11.1.1 串行通信的数据传送方向(1)单工传送(2)半双工传送(3)全双工传送 发送器接收器甲 乙(a)发送器接收器接收器发送器乙甲发送器接收器接收器发送器甲 乙(b)(c)图11.1 串行通信的传输方向(a)单工传送(b)半双工传送(c)全双工传送图11.2 异步通信的一帧数据格式(a)带空闲位的一帧异步通信数据格式(b)无空闲位的一帧异步通信数据格式11.1.2 串行通信的两种基本工作方式1、异步通信2、同步通信同步通信是在数据块开始处用l2个同步字符来表示数 据块传送的开始,数据块信息以连续的形式 发送,最后通过校验码对数据块进行校验。同 步 传 送 常 用 的 数 据 格 式 有 四 种:单 同 步、双 同 步、SDLC和 HDLC。(1)单同步数据格式同步字符数据域(datafield)CRC 1 CRC 2图11.3 单同步的数据格式(2)双同步数据格式(3)SDLC数据格式(4)HDLC数据格式 同步字符2 数据场 CRC 1 CRC 2图11.4 双同步的数据格式同步字符1数据场图11.5 SDLC或HDLC的数据格式标志01111110地址场8位控制场8位CRC校验字符1CRC校验字符2标志011111101、波特率波特率在计算机中,把每秒钟内传送二进制代码的位数。例:假设被传送的字符均为7位ASCII码,采用异步串行传送方式,其数据传送格式由1位起始位,7位数据位,1位奇偶校验位,和1位停止位组成,若每秒钟传送120个这样的字符,则相应的波特率为:10位/字符120字符/秒=1200位/秒=1200 bit/s每一位二进制代码传送时间td为波特率的倒数。即:mstd833.012001=2、接收和发送的同步(1)收/发时钟频率 图11.6 发送时钟 图11.7 接收时钟 接收和发送时钟与波特率之间必须保持如下关系:N(整数)发时钟频率 收发波特率 收/=收/发时钟周期Ts与发送数据位宽度Td有如下关系:(2)数据采样过程nTTds=图11.8 数据采样过程 11.1.4 串行通信接口芯片与数据校验1、串行通信接口芯片常用的串行接口芯片有两类:一类是异步通信接口芯片,即通用异步收发器UART,如INS 8250;另外一类是通用同步异步收发器,即USART,如Intel 8251A。(1)UART的硬件电路UART的硬件电路由三部分组成:接收器、发送器和控制器。接收器:把串行数据转为并行数据,即实现串并的功能;发送器:把并行数据转为串行数据,即实现并串的功能;控制器:用来接收CPU送来的控制命令,执行操作,并输出状态和控制信息。(2)UART的基本工作过程 图11.9UART电路图 2、串行通信数据校验UART中 常 用 的 出 错 标 志 有 三 种:奇 偶 错 误、帧 错 误 和 溢 出(丢失)错误。串行通信中的数据校验算法常见的有:单字节范围内的奇偶校验、多字节数据范围内的累加和校验、垂直异或校验、8位CRC校验和16位CRC校验。数据校验的基本过程:发送者生成校验码,将发送数据和校验码一并发送给接收者,接收者收到数据后,将接收到的数据采用相同的校验算法再生成一个校验码,与接收到的校验码相比较。若两者一致,则认为接收数据正确;若不同,则认为接收数据不正确。3、串行通信数据纠错 基本通信中一般采用反馈重发方式进行纠错,反馈重发纠错(ARQ)方式又称判决反馈纠错。除了反馈重发纠错,还有前向纠错(FEC)和混合纠错(HEC)等差错控制方式。图11.10 反馈重发纠错(ARQ)原理示意图 11.2 可编程串行通信接口芯片 8251A 其主要性能如下:(1)可用于同步和异步传送。(2)可实现同步传送(58)位字符;可选择内部或外部同步;可自动插入同步字符。同步传送波特率为DC64K。(3)可实现异步传送(58)位字符;异步通信的波特率因子可以有三种选择:1、16或64;停止位也有三种选择:1、1.5或 2位;异步传送波特率为:DC19.2K。(4)片内含有全双工、双缓冲发送和接收器。(5)出错检测:具有奇偶、溢出和帧错误等检测电路。(6)兼容性:全部输入输出与TTL电平兼容;单一的十5 V电源;与 Intel 8080、8085、8086、8088 CPU接口兼容。11.2.1 8251A内部结构和外部引脚1、8251A内部结构图11.11 8251A内部结构图(1)数据总线缓冲器其内部包含三个三态双向8位的缓冲器:状 态 字 缓 冲 器:用 来 存 放 8251A内 部 的 工 作 状 态,供 CPU查 询 或测试之用;接 收 数 据 缓 冲 器:用 来 存 放 接 收 器 已 经 装 配 完 毕 的 字 符,供 CPU读取;发送数据命令缓冲器:用来存放CPU送入8251A的数据或命 令。CPU通 过 输 入/输 出 指 令 可 以 对 这 些 缓 冲 器 读/写 数 据、写 入 命 令(控 制)字和读出8251A的状态信息。(2)接收器(3)发送器(4)读/写控制电路(5)调制解调控制器 图11.12 8251A与异步MODEM连接电路图 2、8251A外部引脚 图11.13 8251A的外部引脚图(1)与接收器有关的引脚信号1)RxD:接收数据,输入引脚。2)RxRDY:接收数据准备好,输出引脚,高电平有效。3)SYNDET:同步检测,输入或输出。4)RxC:接收时钟,由外部输入。(2)与发送器有关的引脚信号1)TxD:发送数据,输出引脚。2)TxRDY:发送器准备好,输出引脚,高电平有效。3)TxE:发送器空,输出引脚,高电平有效。4)TxC:发送时钟,输入引脚。(3)与CPU相关的引脚信号1)CLK:时钟信号,输入。2)RESET:复位信号,输入引脚,高电平有效。3)CS:片选信号,输入引脚,低电平有效。4)WR:写信号,低电平有效。5)RD:读信号,低电平有效。6)C/D:控制/数据选择信号,输入引脚。(4)与MODEM接口相关的引脚信号1)DTR:数据终端准备好,输出引脚,低电平有效。2)DSR:数据设备准备好,输入引脚,低电平有效。3)RTS:请求发送信号,输出引脚,低电平有效。4)CTS:允许传送,输入引脚,低电平有效。表11-1 8251A读写操作表C/D RD WR CS 操 作 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 0 X X X 0 CPU从8521A读数据CPU向8251A写数据CPU读取8251A的状态字CPU向8251A写入控制字数据总线浮空数据总线浮空 NYY复位操作输出方式字输出第一个同步字符同步方式?双同步?输出第二个同步字符输出命令字复位?传送数据输出状态字传送完?Y NYNN图11.14 8251A编程流程图11.2.2 8251A编程 1、方式字(b)图11.15 8251A方式字格式(a)异步方式(b)同步方式1、方式字(a)8位方式字分为四组,现说明如下:(1)工作方式及波特率因子的确定(2)数据字符长度的确定(3)奇偶校验的确定(4)其它参数的确定2、命令字 图11.16 8251A命令字格式(1)发送控制位TxEN:允许发送位,即当TxEN=1时,才允许发送。SBRK:发送空白字符位。RTS:请求发送位。(2)接收控制位RxE:允许接收位。当RxE=1时,允许接收。(3)数据终端准备就绪位DTR:数据终端准备好。(4)同步字符搜索控制位EH:外部搜索方式位。(5)复位控制位IR:内部复位信号。ER:清除错误标志。3、状态字 DSR SYNDET/BRKDET FE OE PE TxE RxRDY TxRDY帧错误溢出错误奇偶错发送准备好同引脚含义图11.17 8251A状态字格式TxRDY:发送器准备好状态位,该状态位只要发送缓冲器一 空就被置1。PE:奇偶校验错状态位。OE:溢出(丢失)错误状态位。FE(Frame Error):帧错误状态位,只适用于异步方式。8251A的应用8251A的信号可分为两组:一组是8251A与CPU之间的接口信号;另一组是它与外设之间的接口信号。例:试采用异步串行通信方式实现双机通信。设波特率为 600 b/s,甲机将内存首址为ADAT的128字节的数据块发送给乙机;乙机将接收到的128字节的数据,顺序存放在内存首址为BDAT的数据缓冲区中。(1)分析(2)硬件连接 图11.18 双机利用8251A通信接口图(3)程序编写设8251A的数据端口为308H,控制端口为309H。TxRDY DSR有效?保护现场初始化(置循环初值等)读入8251A状态字发送一字节恢复现场NYNY返回开始发送完毕?图11.19 发送子程序流程甲机程序段:MOV AL,0MOV DX,309HOUT DX,ALOUT DX,ALOUT DX,ALMOV AL,40HOUT DX,ALMOV AL,01111011BOUT DX,ALDELAY MOV AL,00000001BOUT DX,ALDELAY CALL SEND SEND PROC NEAR PUSH AX PUSH CX PUSH SI MOV SI,00H MOV CX,80HAGAIN:MOV DX,309H IN AL,DX TEST AL,81H JZ AGAIN MOV AL,ADATSI DEC DX OUT DX,AL INC SI LOOP AGAIN POP SI POP CX POP AX RETSEND ENDP 乙机程序段:MOV AL,0MOV DX,309HOUT DX,ALOUT DX,ALOUT DX,ALMOV AL,40HOUT DX,ALMOV AL,01l11011BOUT DX,ALDELAYMOV AL,00010110BOUT DX,ALDELAY CALL RECEIVE RECEIVE PROC NEAR PUSH AX PUSH CX PUSH DI MOV DI,00H MOV CX,80HAGAIN:MOV DX,309H IN AL,DX TEST AL,02H JZ AGAIN DEC DX IN AL,DX MOV BDATDI,AL INC DI LOOP AGAIN POP DI POP CX POP AX RETRECEIVE ENDPDELAY MACRO MOV CX,02TIME:LOOP TIMEENDM 11.3常用串行接口介绍11.3.1 传统串行接口标准EIA RS-232C1、信号功能与机械特性 图11.20 RS232C的接插件(a)DB25引脚(b)DB9引脚(a)(b)表11-2 RS-232C基本引脚的名称和功能 9芯引脚号 25芯引脚号名称 功能1保护地 3 2 TxD发送数据 2 3 RxD接收数据7 4 RTS请求发送8 5 CTS清除发送6 6 DSR数据装备准备好5 7 GND信号地1 8 DCD载波信号检测4 20 DTR数据终端准备好9、10 保留11、18、25 未定义2、电气特性表11-3 RS-232C电气特性 电气特性 要求 不带负载时驱动器输出电平V025V(25+25V)负载电阻RL范围 3 7K负载电容(包括线间电容)CL+3V传号或逻辑“1”时 驱动器输出电平 5 15V在负载端 3V输出短路电流 0.5A驱动器转换速率 30V/s驱动器输出电阻R0 300(在断电条件下测量)(1)电平关系(2)负载要求(3)信号速率与连接距离3、电平转换(1)发送电平转换(2)接收电平转换(3)双向电平转换 图11.21 MAX232 11.3.2 EIA其它接口标准RS-232C的缺点,主要表现为以下几个方面:1)数据传输速度慢(20Kb/s);2)传输距离短(一般为15m);3)接口处各信号间容易产生干扰。(1)RS-449标准接口(2)RS-423A标准接口图11.22 单端驱动差分接收电路(3)RS-422A标准接口图11.23 平衡驱动差分接收电路(4)RS-485标准接口 11.3.3 USB(1.0)通用串行总线标准1、主要特点(1)有两种数据传送速度,用于连接打印机、扫描仪等设备的速率可达12Mb/s,连接键盘、鼠标等设备的速率为1.5Mb/s;(2)具有很强的连接能力,最多可以支持127个设备;(3)具有真正的“即插即用”特性,用户可以在不关机的情况下进行外设的更换;(4)连接电缆轻巧、电源体积缩小,USB使用四芯电缆线和+5V的电源,对低功率的USB设备不再需要另接其它电源;(5)连接点的距离可以达到5m。2、连接方法图11.24 USB通信线3、传输方式 控制传输该传输为双向传输。同步传输该传输为单向传输。中断传输该传输为只能外设到主机的传输。批传输该传输为单向传输。11.3.4 IEEE-1394总线1、特点IEEE-1394的主要性能特点包括:(1)采用“级联”方式连接各个外部设备;(2)能够向总线连接的设备提供电源;(3)采用基于内存的地址编码,具有高速传输能力;(4)采用点对点结构;(5)安装方便且容易使用。2、工作模式 IEEE-1394定义了两种总线数据传输模式,Backplane和Cable模式。IEEE-1394可同时提供同步和异步的数据传输方式。