课后作业8.9,8.26~28,8.31第八章可编程接口技术三峡大学陈慈发0717-6394358,139725976 17chcf0415@126.com12348255A8253/82548251ADAC08325ADC08 09串行通信基础并行通信一次传送多位,速度较快占用线路多,成本较高传送距离小(3m以内)应用范围有限 串行通信逐位顺序传送,速度较慢占用线路少,成本较低传送距离较远(≥15m)应用范围很广异步方式同步方式异步 方式若干位表示一个字符以字符为单位,形成一个完整信息帧传送字符的时间是随机的收发双方波特率必须相同收发双方帧格式必须相同 特点起始位数据位奇偶校验位停止位帧格式1位,低电平“0”5~8位,由低至高0/1位,无/奇/偶1 /1.5/2位,高电平“1”波特率(Baudrate):单位时间内传送二进制数据的位数,以bit/s(bps)为单位, 是衡量串行数据传送速度的指标。110/300/600/1200/1800/2400/4800/9600/19200/38400/ 57600/115200等。设数据传送速率是960字符/s,每个字符的帧格式为10位,则传送的波特率为: 10bit/字符× 960字符/s=9600bps,即9600波特。位周期:每一位的传送时间Td,它是波特率的倒数。上例:Td=1/9600= 0.104ms同步方式特点若干字符组成数据块数据块前附加同步字符或标志符数据块后附加校验字符或标志符收发双方的 数据必须保持位同步收发双方必须用时钟同步串行通信模式单工半双工全双工点对点主从式点对多点单工双工信号的 调制与解调调制:数字信号?模拟信号解调:模拟信号?数字信号MODEM:调制解调器幅移键控法ASK相移键控法PSK频 移键控法FSK通用异步接收器/发送器(UniversalAsynchronous-ReceiverandTransmit ter,UART)实现“并-串”/“串-并”转换、错误校验以及发送/接收控制的接口电路。UART始终监视着RxD线,一旦发 现低电平,便开始一个字符数据的同步过程。UART使用外部时钟(RxC及TxC统称时钟,通常RxC=TxC)来同步接收的字符。外 部时钟的频率可以是波特率的16倍、32倍或64倍,这个倍数称为波特率因子。设位周期为Td,外部时钟周期为Tc,则存在等式: 其中K即为波特率因子,常见的波特率因子有1、16、64。9:16判别法8251A的结构 和功能8251A的内部结构数据总线缓冲器包括发送数据/命令缓冲器、接收数据缓冲器、状态缓冲器等三个缓冲器;与CPU交换 信息的通道。8251A引脚上的8条数据线D7~D0可与CPU系统总线上的AD7~AD0直接相连。接收CPU向8251A发出的控制 字;接收并暂存CPU发来的数据;暂存从串行接收器中接收的数据,等待CPU读取;存放8251A的工作状态信息,便于CPU读取。 读/写控制逻辑完成CPU对8251A接口芯片的寻址与读/写控制操作;对数据在8251A的内部总线上传送的方向进行控制。 C/D通常接地址线A0,占用两个口地址,与RD、CS相互配合,实现读写4个端口寄存器的效果。高阻态芯片未选中×××1 CPU→8251ACPU写控制字01108251A→CPUCPU读状态1010CPU→8251ACPU 写数据01008251A→CPUCPU读数据1000数据流向操作功能WRRDC/DCS发送器 包括发送数据缓冲器、发送移位寄存器、发送控制电路等三部分。接收CPU送来的数据,暂存发送数据缓冲器,并送入发送移位寄存器,然后 将并行数据转换成串行数据一位一位从TxD引脚中发送出去。TxD:发送数据线,输出;TxRDY:发送器准备好,输出,高电平有效 ;TxE:发送器空,输出,高电平有效;TxC:发送时钟,输入。接收器包括接收数据缓冲器、接收移位寄存器、接收控制电路 等三部分。从RxD引脚接收串行数据,按规定的帧格式转换成并行数据。RxD:接收数据线,输入;RxRDY:接收器准备好 ,输出,高电平有效;SYNDET:同步检出,输入/输出,仅用于同步方式;RxC:接收时钟,输入。MODEM控制提供 4个通用控制信号DTR、DSR、RTS、CTS。近距离通信时,作为与外设联络的握手信号。远距离通信时,用于和MODEM连接 ,作为双方联络的控制信号。DTR(DataTerminalReady):数据终端准备好,输出,低电平有效;DSR(Dat aSetReady):数据设备准备好,输入,低电平有效;RTS(RequestToSend):请求发送,输出,低电平有 效;CTS(ClearToSend):清除发送,输入,低电平有效。8251A的技术特点可工作于串行异步通信方式, 也可工作于同步通信方式。能够以单工、半双工、全双工方式进行串行通信。对于异步通信方式,数据帧格式为1个起始位,5~8个数据 位、0/1个奇偶校验位、1/1.5/2个停止位;对于同步通信方式,可为单同步、双同步或者外同步,同步字符可由程序设定。异步通信 的波特率因子可设定为1、16或64,波特率可设定为为0~19.2Kbps;同步通信时,波特率为0~64Kbps。提供与外部设备 (MODEM)的“握手”信号,便于直接和通信线路连接。8251A的编程初始化控制字(写方式控制字、命令控制字)。读状态字。 方式/命令控制字占用同一个口地址,按写入的先后顺序来区分。8251A的方式控制字复位后首先写入,一次复位只能写入一次 8251A的命令控制字必须在方式控制字写入后写入,且允许多次写入8251A的状态字DSR(DataSetReady ):数据设备准备好,其状态与DSR引脚相同;SYNDET:同步检测标志,与引脚定义相同;FE(FrameError):帧错 ,仅对异步方式时有效。当FE=1时,表示异步帧格式有错,接收器不能检测到有效的停止位;OE(OverflowError):溢 出错。当OE=1时,表示接收器收到的字符未被CPU及时取走,又收到新的字符,从而造成字符丢失;PE(ParityError): 校验错。当检测出校验错误时,PE=1;TxE:发送缓冲器空,其状态与TxE引脚相同;RxRDY:接收准备好标志,其状态与RxR DY引脚相同;TxRDY:发送准备好标志,其状态与TxRDY引脚基本相同。【例】设8251A的控制口地址为201H,数据口地 址为200H,根据下列要求编写初始化程序:①异步方式,波特率因子为64,偶校验,1位起始位,8位数据位,1位停止位。②允许 接收和发送,使错误位全部复位。③查询8251A状态字,当接收准备就绪时,则从8251A输入数据,否则等待。 MOV DX, 201H ;8251A控制口地址 MOV AL,01111111B OUT DX,AL ;送方式控制字 MOV AL,00 010101B OUT DX,AL ;送命令控制字WAIT:IN AL,DX ;读入状态字 AND AL,02H ;检 查RxRDY=1? JZ WAIT ;RxRDY≠1,接收未准备就绪,等待 DEC DX IN AL,DX【例】设825 1A的控制口地址为201H,数据口地址为200H。若8251A工作在异步方式,波特率因子为64,偶校验、7位数据位、1位停止位。试 编写8251A采用查询方式发送数据的程序。 MOV DX,0201H MOV AL,01111011B OUT DX,AL ;送方式控制字 MOV AL,00110111B ;送命令控制字 OUT DX,ALWAIT:IN AL,DX ;读入状态字 AND AL,01H ;检查TxRDY=1? JZ WAIT ;不等于1继续等待发送设备准备好 MOV DX,0200H ;从数据口发送数据55H MOV AL,55H ;发送字符55H OUT DX,AL |
|