8251芯片
- 格式:pdf
- 大小:264.69 KB
- 文档页数:4
可编程串行通信接口芯片8251A可编程串行通信接口芯片8251A2010-05-25 15:058251 A是一个通用串行输入/输出接口,可用来将86系列CPU以同步或异步方式与外部设备进行串行通信。
它能将主机以并行方式输入的8位数据变换成逐位输出的串行信号;也能将串行输入数据变换成并行数据传送给处理机。
由于由接口芯片硬件完成串行通信的基本过程,从而大大减轻了CPU的负担,被广泛应用于长距离通信系统及计算机网络。
8251A是一个功能很强的全双工可编程串行通信接口,具有独立的双缓冲结构的接收和发送器,通过编程可以选择同步方式或者异步方式。
在同步方式下,既可以设定为内同步方式也可以设定为外同步方式,并可以在内同步方式时自动插入一个到两个同步字符。
传送字符的数据位可以定义为5~8位,波特率0~64K可选择。
在异步方式下,可以自动产生起始和停止位,并可以编程选择传送字符为5~8位之间的数据位以及1、1/2位之中的停止位,波特率0~19.2K可选择。
同步和异步方式都具有对奇偶错、覆盖错以及帧错误的检测能力。
一、8251A内部结构及功能图8.5.1为8251A结构框图。
作为常用的通信接口,和8255A类似,8251A 的结构也可以归纳为以下三个部分:第一部分是和CPU或者总线的接口部分,其中包括数据总线缓冲器、读/写控制逻辑。
数据总线缓冲器用来把8251A和系统数据总线相连,在CPU执行输入/输出指令期间,由数据总线缓冲器发送和接收数据,此外,控制字,命令字和状态信息也通过数据总线缓冲器传输,读/写控制逻辑电路用来配合数据总线缓冲器工作。
CPU通过数据总线缓冲器和读写控制逻辑向8251A写入工作方式和控制命令字,对芯片初始化;向8251A写入要发送字符的数据代码,送到发送缓冲器进行并行到串行的转换,并且将接收的、已转换成并行代码的接收缓冲器中的字符数据读入CPU。
第二部分是数据格式转换部分,包括发送缓冲器、并行数据到串行数据转换的发送移位器,接收缓冲器和串行数据到并行数据转换的接收移位器,以及发送控制电路和接收控制电路。
(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发出的发送中断请求信号。
师大学数计学院实验报告专业名称 11计科课程微机原理实验名称串行通信实验姓名学号 1107040128251 可编程串行口与PC 机通讯实验一、实验目的(1) 掌握8251 芯片的结构和编程,掌握微机通讯的编制。
(2) 学习有关串行通讯的知识。
(3) 学习 PC 机串口的操作方法。
二、实验说明1、8251 信号线8251 是CPU 与外设或Mode 之间的接口芯片,所以它的信号线分为两组:一组是用于与CPU 接口的信号线,另一组用于与外设或Mode 接口。
(1)与CPU 相连的信号线:除了双向三态数据总线(D7~D0)、读(RD)、写(WR)、片选(CS)之外,还有:RESET:复位。
通常与系统复位相连。
CLK:时钟。
由外部时钟发生器提供。
C/D:控制/数据引脚。
TxRDY:发送器准备好,高电平有效。
TxE:发送器空,高电平有效。
RxRDY:接收器准备好,高电平有效。
SYNDET/BRKDET:同步/中止检测,双功能引脚。
(2)与外设或Mode 相连的信号线:DTR:数据终端准备好,输出,低电平有效。
DSR:数据装置准备好,输入,低电平有效。
RTS:请求发送,输出,低电平有效。
CTS:准许传送,输入,低电平有效。
TxD:发送数据线。
RxD:接收数据线。
TxC:发送时钟,控制发送数据的速率。
RxC:接收时钟,控制接收数据的速率。
2、8251 的初始化编程和状态字8251 是一个可编程的多功能串行通信接口芯片,在使用前必须对它进行初始化编程。
初始化编程包括CPU 写方式控制字和操作命令字到8251 同一控制口,在初始化编程时必须按一定的顺序。
如下面的流程图:三、实验原理图四、实验容本实验由实验器发送一串字符0~9,PC 机串口接收并在超级终端上显示。
五、实验步骤与PC 机通讯应用实验(1)实验连线:a.用串口线把实验机 8251 模块的RS232 通讯口与PC 机相连,把串口旁边的短路块SW1 短路在2-2/3-3 上,SW2 短路在RS232 上。
实验四 8251串行收发实验一、实验目的1. 掌握8251芯片结构、工作原理和编程方法2. 了解实现串行通讯的硬件环境,数据格式的协议,数据交换的协议3. 了解PC机通讯的编程方法二、实验原理1. 8251芯片的工作原理2. 同步通信与异步通信的特点3. 串行通信接口的基本任务三、实验内容与要求1. 根据空间配置的原理,掌握获得PCI 设备配置的方法,并获得当前PCI卡扩展I/O 的起始地址;2. 理解8251串行收发原理,在 Borland C3.1环境下输入附录中的程序,程序运行结果为8251将“123456”以9600 波特率发送出去,同时8251 自己收回,PC 机屏幕上显示“123456”,按‘Esc’键时退出,按键盘其他键显示“123456”;3. 将扩展通讯口的8251TXD(发送口)和8251RXD(接收口)和相邻实验箱上的扩展通讯口的8251RXD(接收口)和8251TXD(发送口)交叉连接,并连接信号地(GND)。
修改源程序,按PC 机键盘的键,将其键码以9600 波特率发送出去,在与相邻实验箱连接的PC机上显示。
即在相邻的A、B两PC机之间进行串行通信,A、B两机可同时发送或接收对方的用PC机键盘输入的信息。
当用户按‘Esc’键时退出;4. 带着讲义中的思考题,在Borland C 3.1 环境下调试程序,观察运行结果。
四、实验步骤1.根据实验原理中的实验连线,将扩展通讯口移去XC28 上的4个短路套,扩展通讯口的8251TXD和扩展通讯口的8251RXD相连接;2. 在Borland C3.1环境下输入程序,观察PC机上的显示,调试修改程序,得到结果;3. 关闭实验箱和PC机电源,将实验箱连线整理好。
五、实验报告1. 画出所编程序的流程图;2. 给出实验内容3中程序修改部分的源代码;3. 认真回答思考题,并附在实验报告里。
六、思考题1. 程序中波特率为9600 bit/s是怎么得到的?波特率的大小说明什么?2. 简述8251芯片工作原理。
串行接口芯片8251A8251A基本功能⏹可用于同步和异步通信方式(通信方式通过对方式字编程实现):☐同步方式:波特率0-64Kbps,每个字符可为5~8位,可使用内部同步检测和外部同步检测,能自动插入同步字符。
☐异步方式:波特率0-19.2Kbps,每个字符可为5~8位,自动增加起始位、停止位和校验位。
时钟TxC,RxC的时钟频率为传输波特率的1,16和64倍。
⏹全双工,具有双缓冲器接收器和发送器;⏹出错检测,具有奇偶、溢出和帧错等检测电路。
8251A的内部结构8251A的内部结构主要包括:数据总线缓冲器、接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、调制/解调控制电路、读/写控制逻辑电路等数据总线缓冲器发送缓冲器发送控制电路接收缓冲器接收控制电路D0~D7SYNDETRxDRxRDY读写控制电路C / DCLKRESETRDWRCSDSRCTSDTRRTSRxCTxCTxETxRDYTxD调制解调控制电路内部总线8251A的内部结构⏹发送器:包括发送缓冲器和发送控制电路☐采用异步方式时,则由发送控制电路自动在其首尾加上起始位、奇偶校验位和停止位,然后从起始位开始,经移位寄存器从数据输出线TxD逐位串行输出。
发送速率取决于TxC接收的发送时钟频率,可以编程定义是发送速率的1、16、64倍。
8251A的内部结构☐采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位串行输出数据。
◆如果CPU与8251A之间采用中断方式交换信息,那么TxRDY可作为向CPU发出的中断请求信号,表示发送缓冲器已空,可以接收CPU下一个数据。
◆当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TxE有效信号,表示发送器中移位寄存器已空。
8251A的内部结构⏹接收器:包括接收缓冲器和接收控制电路从RxD引脚上接收串行数据转换成并行数据后存入接收缓冲器。
☐异步方式:在RxD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RxRDY信号送CPU,表示已经收到一个可用的数据。
8251芯片工作原理嘿呀!今天咱们就来好好聊聊8251 芯片的工作原理!首先呢,咱们得知道8251 芯片到底是个啥呀?哎呀呀,简单来说,它就是在计算机通信中发挥重要作用的一个小家伙呢!那它到底是怎么工作的呢?哇!这可有的说了。
8251 芯片有发送和接收两个主要的功能部分哟!先说说发送部分吧!当要发送数据的时候,数据会被送入8251 的发送缓冲器,哎呀呀,这可不得了,然后它会按照特定的格式和时序,把数据转换成适合传输的信号呢!这中间还有好多细节,比如说,要进行奇偶校验的设置呀,还有停止位的添加啥的。
你说神奇不神奇?接收部分呢,也不简单哟!当接收到数据信号时,8251 会对其进行检测和识别,判断数据的有效性和完整性。
哇!这可太重要了,如果数据有问题,那可就麻烦大啦!还有哦,8251 芯片的工作模式设置也很关键呢!比如说同步模式和异步模式。
在同步模式下,它得跟外部设备保持严格的同步,哎呀呀,一点都不能出错。
而异步模式呢,相对就灵活一些啦,但也有自己的一套规则要遵守哟!再来说说它的控制字和状态字吧!控制字可以让我们对8251 的工作方式进行各种设置,就像给它下达命令一样。
状态字呢,则能告诉我们8251 现在的工作状态,是正常工作呢,还是出了啥问题。
这可太有用啦,不然我们怎么知道它干得好不好呀?哎呀呀,说了这么多,是不是觉得8251 芯片还挺复杂的?其实呀,只要我们一点点去理解,去琢磨,也不难掌握它的工作原理呢!你看,在现代通信技术飞速发展的今天,8251 芯片虽然可能不是最先进的啦,但它曾经为计算机通信的发展做出了重要贡献呀!咱们了解它的工作原理,不仅能增长知识,还能为学习更先进的技术打下基础呢!哇!希望我讲的这些能让你对8251 芯片的工作原理有个大概的了解哟!要是还有啥不明白的,咱们再一起探讨探讨!。
可编程通信接口8251A(USART)1.8251A的基本结构
8251A的基本结构包括5个功能模块
(1)数据总线缓冲器——用于暂存接收,发送数据,CPU发来的命令及8251的工作状态。
(2)读/写控制逻辑——接收来自CPU控制总线的控制信号,控制数据的传送方向。
(3)接收器——从接收数据线RXD上接收串行数据,按指定方式将其转换成并行数据。
(4)发送器——接收CPU送来的并行数据,按指定方式将其转换成串行数据通过发送数据线TXD发送出去。
(5)调制解调器控制电路——提供4个通用的控制信号,即(数据终端准备好),
(数据设备准备好),(请求发送)和(准许发送),以备8251A与外设联络。
2.8251A的工作过程
(1)8251A发送数据的过程
①当发送缓冲器为空时,信号TXRDY有效(或状态字的D0=1),以示发送器准备好,等待CPU送入数据。
②CPU将要发送的数据写入8251A的发送缓冲器;
③发送的数据进行“并→串”转换;
④插入起始位、奇/偶位和停止位或同步字符等,数据一位一位从TXD端串行输出。
(2)8251A接收数据的过程
①在RXD端检测到起始位或同步字符;
②开始在RXD线上采集数据;
③将接收到的数据“串→并”转换,并进行奇偶校验和检查错误;
④将采样到的、经过变换的8位数据由接收缓冲器送入数据总线缓冲器;
⑤信号RXRDY有效(或状态字的D1=1),以示8251A已接收到一个数据,待CPU读取。
3.8251A的初始化
在如前面已经强调过的,在使用可编程接口之前必须进行初始化,即在使用8251A进行数据传输前,对其进行编程,将相关方式指令字、命令指令字写入8251A。
8251A初始化的具体步骤如图7-3所示。
图7-3 8251A 初始化流程图
4. CPU 对8251A 的操作和控制
8251A 有两个端口地址,偶地址为输入/输出数据端口地址,奇地址为控制/状态端口地址。
引脚线C/与A 0连接:
A 0=0,访问输入/输出数据端口
A 0=1,访问控制/状态端口
控制信号:
、、C/、合成对8251A 的操作如表7-1所示。
表7-1 CPU 对8251A 的操作
5.8251A 的控制字和状态字
关于8251A 的方式指令字、命令指令字和状态字,考生应着重对字中各位符号"0"、"1"含义的理解,掌握这些字的应用。
(1)方式指令字(控制字)格式
方式指令字的格式如图7-4所示:
[注]方式指令字的B2B1=00,此时8251A工作于同步方式,而字中S2S1的设置不起作用。
图7-4 8251A方式指令字格式
(2)命令指令字(控制字)格式
命令指令字的格式如图7-5所示:
图7-5 8251A方式指令字格式
(3)状态字
8251A的状态字格式如图7-6所示:[注]
(i)状态位RX RDY、TXE、SYNDET和8251A的引脚信号RXRDY、TXE、SYNDET定义相同,电平一致;
(ii)状态位TXRDY与8251A的引脚信号TXRDY定义相同,但条件不一样。
当发送缓冲器为空时,状态位TXRDY=1;而引脚信号TXRDY为高电平的条件是状态位TXRDY=1、命令控制
字TXEN=1,且输入低电平。
(iii)采用查询方式利用8251A传送数据时,可通过对状态位RXRDY或TXRDY的测试来进行数据的传送。
图7-6 8251A的状态字格式。