8251芯片介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行通信线路有如下3种方式:
(1) 单工通信:它只允许一个方向传输数据,不能进行反方向传输。
(2) 半双工通信:它允许两个方向传输数据,但不能同时传输,只能交替进行,A发B收或B发A收,这种协调可以靠增加接口的附加控制线来实现,也可用软件约定来实现。
(3) 全双工通信:它允许两个方向同时进行数据传输,A收B发的同时可A发B收,但是这两个传输方向的资源必须完全独立,A与B都必须有独立的接收器和发送器,从A到B和从B到A的数据通路也必须完全分开(至少在逻辑上是分开的)。
8251作用、特点
具有同步/异步的接受/发送功能
它能将并行输入的8位数据变换成逐位输出的串行信号;也能将串行输入数据变换成并行数据,一次传送给处理机。广泛应用于长距离通信系统及计算机网络。
8251A由发送器、接收器、数据总线缓冲存储器读/写控制电路及调制/解调控制电路等5部分组成,
各组成部分的工作过程:
8251A的发送器
包括发送缓冲存储器,
CPU用OUT指令将要发送的数据送入到8251A的数据总线缓冲器,再并行送入发送数据缓冲器中。当TxRDY有效时,将数据送移位寄存器将并行数据转换为串行数据并格式化后,经TxD引脚串行输出。
发送移位寄存器(并→串转换)及发送控制电路3部分,CPU需要发送的数据经数据发送缓冲
存储器并行输入,并锁存到发送缓冲存储器中。如果是采用同步方式,则在发送数据之前,发送器将自动送出一个(单同步)或两个(双同步)同步字符(Sync)。然后,逐位串行输出数据。如果采用异步方式,则由发送控制电路在其首尾加上起始位及停止位,然后从起始位开始,经移位寄存器从数据输出线T X D逐位串行输出,其发送速率由T X C端上收到的发送时钟频率决定。
当发送器作好接收数据准备时,由发送控制电路向CPU发出T X RDY有效信号,CPU立即向8251A并行输出数据。如果8251A与CPU之间采用中断方式交换信息,那时T X RDY作为向CPU发出的发送中断请求信号。待发送器中的八位数据发送完毕时,由发送控制电路向CPU 发出T X EMPTY有效信号,表示发送器中移位寄存器已空。因此,发送缓冲存储器和发送移位寄存器构成发送器的双缓冲结构
8251A的接收器
包括接收缓冲存储器,接收移位寄存器(串→并转换)及接收控制电路3部分。
外部通信数据从R X T端,逐位进入接收移位寄存器中。如果是同步方式,则要检测同步字符,确认已经达到同步,接收器才可开始串行接收数据,待一组数据接收完毕,便把移位寄存器中的数据并行置入接收缓冲存储器中;如果是异步方式,则应识别并删除起始位和停止位。这时R X DRY线输出高电平,表示接收器已准备好数据,等待向CPU输出。8251A接收数据的速率由R X C端输入的时钟频率决定。
接收缓冲存储器和接收移位寄存器构成接收器的双缓冲结构。
数据总线缓冲存储器
是CPU与8251A之间信息交换的通道。它包含3个8位缓冲寄存器,其中两个用来存放CPU 向8251A读取的数据及状态,当CPU执行IN指令时,便从这两个寄存器中读取数据字及状态字。另一个缓冲寄存器存放CPU向8251A写入的数据或控制字。当CPU执行OUT指令时,可向这个寄存器写入,由于两者公用一个缓冲寄存器,这就要求CPU在向8251A写入控制字时,该寄存器中无将要发送的数据。为此,该接口电路必需要有一定的措施来防止。
读/写控制电路、
完成CPU对芯片的读写控制和复位功能
用来接收一系列的控制信号,由它们可确定8251A处于什么状态,并向8251A内部各功能部件发出有关的控制信号,因此它实际上是8251A的内部控制器
调制/解调控制电路
当使用8251A实现远距离串行通信时,8251A的数据输出端要经过调制器将数字信号转换成模拟信号,数据接收端收到的是经过解调器转换来的数字信号,
8251A芯片的控制字及其工作方式
控制字:PPT95页起
包括:方式选择控制字(95)、操作命令控制字(98)、状态控制字(100)、
8251的工作方式:
异步工作方式:
CPU发出接收命令,接收电路监视RxD端,发现一个起始位,开始一个字符的接收过程。在接收手时针的作用下,接收到的数据串行进入接收移位寄存器,被移位并进行奇偶校验,再删除停止位,得到并行数据,经片内总线接收数据缓冲器,等待CPU读取,同时RxRDY引脚置高电平,且状态寄存器的RxRDY位为1
同步工作方式:
同比工作方式分为内同步和外同步:
工作于内同步:CPU发出允许接收和进入搜索指令,检测RxD引脚,将接收
的数据位送入移位寄存器,并与同步字符寄存器的内容比较,若不同,不断接收并且进行移位比较操作,知道相同出现,则SYNDET置高电平,表明同步出现。若为双同步则需两个字符均一致。
工作于外同步:由外部电路监测同步字符,当发现同步字符后,从同步输入端SYNDET输入高电平,告知8251A,8251A就脱离对同步字符的搜索过程,高电平需维持一个接收时钟周期。
达到同步后,8251A利用接收时钟采样RxD,接收同步帧格式数据。采得的数据送往移位寄存器,当位数达到一个字符规定的数位时,移位寄存器的内容通过片内总线送往接收数据缓冲器,同时RxRDY引脚置高电平,且状态寄存器的RxRDY位为1,表示已经收到一个可用字符。
8251与CPU的数据交换
采用查询方式,在数据交换前应读取状态寄存器。
状态寄存器D0=1(TxRDY=1),CPU可以向8251数据端口写入数据,完成串行数据的发送
状态寄存器D1=1 (RxRDY=1) ,CPU可以从8251数据端口读出数据,完成一帧数据的接收采用中断方式则用TxRDY、RxRDY引脚信号提出中断申请
利用8251A进行双击通信硬件连接图:1、内部结构见下图: