收藏 分享(赏)

8251的应用.ppt

上传人:gsy285395 文档编号:5913404 上传时间:2019-03-21 格式:PPT 页数:69 大小:2.72MB
下载 相关 举报
8251的应用.ppt_第1页
第1页 / 共69页
8251的应用.ppt_第2页
第2页 / 共69页
8251的应用.ppt_第3页
第3页 / 共69页
8251的应用.ppt_第4页
第4页 / 共69页
8251的应用.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、6.1 串行通信基本概念 6.2 可编程串行接口芯片8251A 6.3 可编程串行接口芯片16550、8250,本章主要讲述:,6.1 串行通信特点,1 单工(Simplex)只允许数据按照一个固定的方向传送,6.1.1 串行数据的传输方向单工、半双工和全双工,2 半双工(Half Duplex)只有1根数据线传送数据信号,要求通讯双方的发送和接收由电子开关切换。 【双向,但不同时】,3 全双工(Full Duplex)通讯双方能同时进行发送和接收操作,6.1.2 信号的调制与解调,6.1.2 信号的调制与解调,6.1.2 信号的调制与解调,6.1.3 串行通信的两种基本工作方式异步方式、同步

2、方式,6.1.3 串行通信的两种基本工作方式异步方式、同步方式,起始位 逻辑0 1位 数据位 逻辑0或1 5位、6位、7位、8位 校验位 逻辑0或1 1位或无 停止位 逻辑1 1位、1.5位或2位 空闲位 逻辑1 任意数量,异步通讯的信息格式,例:传送8位数据45H(0100,0101B),奇校验,1个停止位,则信号线上的波形为,可见: 异步传送一个ASC字符,实际发送量 1+7+1+(1、1.5、2)bit。若用10位来发送,至少浪费了30%的传输时间。为此引入同步传输方式。,同步通讯,靠同步字符完成收发双方同步,多个字符成组传送,在每组信息的开始要加上同步字符,字符组和同步字符以及需要的其

3、他字符构成一个信息帧。没有数据传送时,传输线处于高电平状态,字符1,字符2 字符n 校验字符,数据块,同步字符(SYN1),同步字符(SYN2),数据(DATA),6.1.4 串行通信的传送速率和收发时钟,收发时钟,6.1.4 串行通信的传送速率和收发时钟,串行接口完成的主要功能,1)完成串行数据的格式化实现串到并和并到串的转换进行可靠性检验4) 实施接口与DCE之间的联络控制,5.4 可编程串行接口芯片8251A,8251A是intel公司的一个可编程的串行接口芯片,具有同步、异步的接收/发送功能。,可用于同步或异步传输 同步传送:58bit/字符,内部或外部同步,可自动插入同步字符 异步传

4、送:58bit/字符,时钟速率位通信波特率的1、16、64倍 波特率:异步(019.2K),同步(064K) 出错检验:具有奇偶、溢出和帧错误等检验电路,1 8251A的基本性能,2 8251A的内部结构与外部引脚,(1) 接收器(2) 发送器(3) 数据总线缓冲器(4) 调制解调器控制电路(5) 读写控制逻辑电路,数据总线 缓冲器,读/写 控制逻辑电路,调制/解调 控制电路,接收控制电路,串并 转换,发送 缓冲器,缓冲器,并串 转换,发送控制电路,RESET,CLK,C/D,RD,WR,CS,DSR,DTR,CTS,RTS,D7-D0,内 部 总 线,TXD,RXD,TXEMPTY,TXC,

5、RXRDY,RXC,SYNDET,TXRDY,发送器,接收器,接收,(1)数据总线缓冲器:,它是三态双向8位缓冲器,内含有3个缓冲寄存器a) 发送数据/控制命令字缓冲寄存器b) 接收数据缓冲寄存器c) 状态字缓冲寄存器 CPU用IN指令可分别读取状态信息和接收的数据,用OUT指令可以向8251写入数据或者命令(控制)字。,2)读写控制逻辑:,完成CPU对芯片的读/写控制和复位功能。 C/D:控制/数据寄存器选择信号。C/D0时,选中数据口, C/D0时,选中控制口。 CLK:时钟信号用于8251A的内部工作时钟。在异步方式下,工作时钟CLK的频率应高于TxC和RxC的4.5倍。在同步方式下,工

6、作时钟CLK的频率应高于TxC和RxC的30倍。 RD、WR、CS、RESET分别是读写控制信号、片选信号和复位信号。,(3)接收缓冲器和接收控制电路:,包括接收移位寄存器、串/并转换电路、接收数据缓冲器和同步字符寄存器,异步工作方式:CPU发出接收命令,接收电路监视RxD端,发现一个起始位,开始一个字符的接收过程。在接收时钟的作用下,接收到的数据串行进入接收移位寄存器,被移位并进行奇偶校验,再删除停止位,得到并行数据,经片内总线送接收数据缓冲器,等待CPU读取。同时RxRDY引脚置高电平,且状态寄存器的RxRDY位为1,异步方式下,接收的速率和接收时钟以及波特率因子有关系。,接收时钟/发送时

7、钟是波特率的倍数,称为波特率因子。,F(时钟频率)波特率因子波特率波特率因子:时钟频率与数据传输率(波特率)之间的比例系数.,例如波特率因子为16,则16个时钟脉冲移位1次。 P93 无信号时,RxD端为高电平,一旦检测到RxD端为低电平,则启动接收控制中的内部计数器,计数到半个数位传输时间8个RxC,再次检测RxD引脚,若仍为低电平,则确认起始位到来,之后,每隔16个RxC,进行一次采样。使用波特率因子高的时钟,可以使移位寄存器在信号的中间同步,而不是在信号的起始边沿同步,这样可以减少信号噪声在信号起始处引起读错数据的问题。,F(时钟频率)波特率因子波特率给定时钟频率,选择不同的波特率因子可

8、得到不同的波特率。例如:f = 19.2 kHz,若选波特率因子为16,则波特率为1200 bps。若选定波特率因子和波特率,则相应的确定了对时钟频率的要求。例:波特率=9600bps,波特率因子=16,则接收时钟和发送时钟频率=960016=153600Hz,同步工作方式:同步传送方式分为内同步和外同步,工作于内同步:CPU发出允许接收和进入搜索命令,监测RxD引脚,将接收的数据位送入移位寄存器,并与同步字符寄存器的内容比较,若不同,不断接收并且进行移位比较操作,直到相同出现,则SYNDET置高电平,表明同步实现。若为双同步,则需两个同步字符均一致。,同步传送方式分为内同步和外同步 工作于外

9、同步:由外部电路监测同步字符,当发现同步字符后,从同步输入端SYNDET输入高电平,告知8251A,8251A就脱离对同步字符的搜索过程,高电平需维持一个接收时钟周期。 达到同步后, 8251A利用接收时钟采样RxD,接收同步帧格式数据。采得的数据送往移位寄存器,当位数达到一个字符规定的数位时,移位寄存器的内容通过片内总线送往接收数据缓冲器,同时RxRDY引脚置高电平,且状态寄存器的RxRDY位为1,表示已经收到一个可用字符。,同步检测/断点检测SYNDET/BRKDET:内同步和外同步的检测不能同时进行内同步SYNDET作为输出,CPU执行一次读,该信号被自动复位。外同步时当引脚SYNDET

10、由低电平变为高电平,使8251A在下一个RxC的上升沿开始接收字符。在异步工作方式下,该引脚为断点检测BRKDET。当8251A连续收到两个全“0”组成的字符,该引脚输出高电平,表明当前没有数据可读。直到收到“1”或8251A复位,BRKDET变低电平,(4)发送缓冲器和发送控制电路:,数据总线 缓冲器,读/写 控制逻辑电路,调制/解调 控制电路,接收控制电路,串并 转换,发送 缓冲器,缓冲器,并串 转换,发送控制电路,RESET,CLK,C/D,RD,WR,CS,DSR,DTR,CTS,RTS,D7-D0,内 部 总 线,TXD,RXD,TXEMPTY,TXC,RXRDY,RXC,SYNDE

11、T,TXRDY,发送器,接收器,接收,CPU,发送数据缓冲器,发送移位寄存器,发送控制,TxD,TxRDY,TxE,TxC,CPU用OUT指令将要发送的数据送入到8251A的数据总线缓冲器,再并行送入发送数据缓冲器中。当TxRDY有效时,将数据送移位寄存器将并行数据转换为串行数据并格式化后,经TxD引脚串行输出。,异步方式下: 发送控制器按照程序规定的字符格式,给发送数据加上起始位、奇偶校验位、停止位,从起始位开始,经移位寄存器移位后,从TxD引脚送出,送出频率取决于发送时钟和波特率因子。 同步方式下: 发送器在发送字符之前,首先送出12个同步字符,再逐位送出串行数据。同步发送字符之间不允许有

12、空隙,若处于某种原因使CPU中断发送过程,8251A将不断自动插入同步字符,直到CPU送来新的数据再重新输出数据。同步传送速率等同于发送时钟频率。,有关的引脚包括: 发送数据线TxD: 发送时钟TxC:确定了串行数据的发送速率。若为同步方式,TxC的输入频率等于发送数据的波特率。若为异步方式,可由软件定义该时钟为波特率的1倍、16倍或64倍。 发送数据准备好TxRDY当允许8251A开始发送数据,且数据总线缓冲器中的发送数据/命令缓冲器为空时,TxRDY为高电平有效,表示发送缓冲器已准备好从CPU接收数据。该信号可以作为中断申请信号或者查询信号,当CPU向8259A送出一个数据后,TxRDY被

13、清为低电平。,发送器空TxE:TxE有效表明发送移位寄存器空,也就是完成了一次发送操作,当前缓冲器已经无数据向外发送。则异步方式下,TxD输出空闲位,同步方式下送出同步字符。一旦从CPU接收到数据,TxE变低电平。,8251没有内置的波特率发生器,必须由外部产生建立波特率的时钟信号,所以TXC、RXC通常与8253连接,(5)调制解调控制电路:,计算机在进行远程通信时,可用8251A作为接口芯片,与MODEM连接,经过标准电话线传送数据,由该控制电路完成与MODEM的连接,建立发送和接收的联络握手信号,达到数字/模拟信号经过调制解调器后变换为模拟/数字信号进行远程通信的目的。,DTR:数据终端

14、准备好。告诉MODEM数据准备好。控制字中的DTR为1,就能使该引脚产生低电平有效信号。 DSR:数据装置准备好。回复信号,表示MODEM准备好,可通过状态寄存器DSR位来查询, DSR=1,该引脚为低电平状态。 RTS:请求发送。告诉MODEM数据准备好,可以发送。通过命令字将RTS位置1,就能使该引脚产生有效低电平信号。 CTS:清除发送。MODEM对请求发送的应答信号,表明发送器可以发送数据。发送过程结束后,CTS变高。,8251A与CPU和外设之间的连接,8086,8251A,外设,D7-D0,CLK,译码,CS,AB,M/IO,C/D,RD,RD,WR,WR,TXRDY,TXE,RX

15、RDY,SYNDET,RESET,DTR,DSR,RTS,CTS,TXD,RXD,计数器/ 定时器,RXC,TXC,3 8251A的编程,8251A的编程包括两个部分,一个是方式选择控制字,另一个是操作命令控制字。 前者用来定义8251A的工作方式,它必须紧接在复位后由CPU写入。 后者用来指定芯片的实际操作,只有在写入了方式选择控制字后,才能由CPU写入。 可以通过读取状态端口获知当前的状态信息。,(1)方式字/模式字,00 同步方式 01 异步方式(X1) 10 异步方式(X16) 11 异步方式(X64),00 字符长度为5位 01 字符长度为6位 10 字符长度为7位 11 字符长度为

16、8位,0 无校验 0 1 奇校验 1 1 偶校验,图 15.50 8251A的方式选择控制字,(2). 操作命令控制字 让8251A实现某种操作或进入规定的工作状态。,1 进入搜索方式,1 内部复位,1 允许发送,1 数据终端准备好,1 允许接收,1 使TxD变低,发送空白字符 0 正常工作,1 清除错误标志,1 请求发送,(3) 状态字CPU可以在8251A工作过程中利用输入指令读取当前8251A的状态字,从而可以检测接口和数据传输的工作状态。,1 发送器准备好,1 数据通信设备准备好,帧格式错标志,溢出错标志,奇偶错标志,1 接收器准备好,1 发送器空,SYNDETBRKDET,1 已达到

17、同步 0 未达到同步,1 接收到中止字符 0 正常工作,8251A 的状态字,(1) 三个错误标志位PE、OE和FE它们只对异步方式有效。出现这三种错误时都不中止8251A的工作,它们可以用操作命令字中的ER位来复位。奇偶校验:即在传送字符的各位之外,再传送1位奇/偶校验位。可采用奇校验或偶校验。Frame Error:在接收过程中会自动检测每个字符的停止位,若没有停止位,则设置Frame Error。OVRN:如果在传送过程中,前一个字符还没有取走,后一个字符又送过来,便发生溢出错误,置OVRN标志。,(2) RxRDY、TxE和SYNDET/BRKDET位与同名引脚的状态含义相同。(3)

18、DSR位是数据通信设备准备好状态位, DSR=1表示调制解调器或其他外设已处于准备好状态,此时DSR输入信号有效。(4) TxRDY是发送器准备好位,它与输出引脚TxRDY的含义有所不同。 TXRDY状态位为“1”只反映当前发送缓冲器已空,而TXRDY输出引脚为“1”时,除发送缓冲器已空外,还需要以CTS=0和TxEN=1为条件。通常TxRDY状态位提供CPU查询,而TxRDY引脚的输出信号作为中断请求信号发给CPU。,8251A的编程,8251A可编程串行接口芯片仅提供一个编程口地址,所以要完成方式控制字和命令控制字的写入,必须通过初始化编程流程来设定其工作方式并启动串行接口工作。8251A

19、编程流程如下:,8251A 初 始 化 流 程 图,在实际使用中,当未对8251A设置方式控制字 时,如果要使8251A复位,一般采用先送3个“00H”,再送一 个40H(命令控制字,IR1)的方法,这是8251A的编程约 定。其实现程序如下:XOR AX, AXMOV CX, 0003MOV DX, PORTC NEXT: OUT DX, ALCALL DELAYLOOP NEXTMOV AL, 40HOUT DX, ALCALL DELAY,举例1:,8251A工作在异步方式下的初始化编程。要求字符用7位二进制表示,采用奇校验,1.5个停止位,波特率系数为16。清除出错标志,让各出错标志处

20、于初始状态,使请求发送有效电平,命令控制字使数据终端就绪(DTR)处于有效电平,发送允许和接收允许均为有效电平。设端口地址为208H和20AH,初始化程序:XOR AX, AXMOV CX, 0003MOV DX, PORTC NEXT: OUT DX, ALLOOP NEXTMOV AL, 40HOUT DX, ALMOV AL,9AH ;方式字准备MOV DX,20AHOUT DX,AL ;写入方式字MOV AL, 37H ;命令字准备OUT DX,AL ;写入命令字,举例2:,8251A工作在同步方式下的初始化编程。要求采用内同步方式,同步字符为两个相同的16H值,字符长度为8位二进制,

21、采用偶校验,要求对同步字符进行检索,复位3个出错标志,允许发送和接收,命令控制字使数据终端就绪(DTR)处于有效电平。,初始化程序:XOR AX, AXMOV CX, 0003MOV DX, PORTC NEXT: OUT DX, ALLOOP NEXTMOV AL, 40HOUT DX, AL MOV AL,3CH ;方式字准备MOV DX,20AHOUT DX,AL ;写入方式字MOV AL, 16H ;同步字符准备 OUT DX, AL ;写入第一同步字符OUT DX, AL ;写入第二同步字符MOV AL, 97H ;命令字准备OUT DX,AL ;写入命令字,查询方式/中断方式,采用

22、查询方式,在数据交换前应读取状态寄存器。状态寄存器D0=1(TxRDY=1),CPU可以向8251数据端口写入数据,完成串行数据的发送 状态寄存器D1=1 (RxRDY=1) ,CPU可以从8251数据端口读出数据,完成一帧数据的接收采用中断方式则用TxRDY、RxRDY引脚信号提出中断申请,8251与CPU的数据交换,例3 P102 采用查询方式某外设通过8251A与CPU交换信息。 口地址为50H和52H 异步方式,8位,1.5个停止位,波特率系数16,奇校验 对出错标志检测 输入的字符放在以BUFFER标号为首地址的内存区域中。,Data segment buf DB 80 dup(?)

23、 Data ends MOV DX,52H MOV AL,40H;复位 OUT DX,AL MOV AL,10011110B;模式字 OUT DX,AL MOV AL,00110111B;控制字 OUT DX,AL MOV CX,80 ;接收80字节 MOV SI,0 NEXT: MOV DX,52H IN AL,DX;状态字,AND AL,02H; RXRDY? JZ NEXT MOV DX,50H IN AL,DX;接收1字符 MOV bufSI,AL INC SI MOV DX,52H IN AL,DX;测试出错标志 TEST AL, 38H;有错,处理 JNZ ERROR LOOP N

24、EXT JMP EXIT ERROR: CALL ERR-OUT EXIT: .,例4 用8251A实现双机通信 P104 例2,8251A,CTS,DSR,RxD,TxC,RxC,CLK,系统主时钟,TxD,RTS,DTR,CPU总线,时钟电路,甲机,EIA/ TTL 电 平 转 换,2,3,7,2,3,7,DTE,DTE,TxD,TxD,RxD,RxD,EIA/ TTL 电 平 转 换,8251A,CTS,DSR,RxD,TxC,RxC,CLK,TxD,RTS,DTR,系统主时钟,乙机 (DTE),CPU 总线,时钟电路,RS232C接口,图 5-23 利用8251A进行双机通信硬件连接图,乙机,GND,当双机进行远距离通信时,必须通过MODEM来进行连接P103 例1 8251A与MODEM的连接P106 例3 用8251A作为电传打字机接口,并且工作于中断方式,本章小结,1、基本概念 2、并行接口芯片8255A8255A的结构及工作方式8255A的应用 3、串行接口芯片8251A串行通信的基本概念8251A的结构及工作方式8251A的应用,8251作业:,课本P109:10,11,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报