串行接口芯片8251A
- 格式:ppt
- 大小:450.00 KB
- 文档页数:54
可编程串行通信接口芯片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。
第二部分是数据格式转换部分,包括发送缓冲器、并行数据到串行数据转换的发送移位器,接收缓冲器和串行数据到并行数据转换的接收移位器,以及发送控制电路和接收控制电路。
8251a有何特点-在串行通信中作用_8251a的工作方式8251a有何特点?在串行通信中作用_8251a的工作方式8251A的内部结构(1)接收器接收器包括接收缓冲器和接收控制逻辑两部分。
接收器的功能是接收在RXD引脚上的串行数据,并按规定的格式把它转换成并行数据,存放在数据总线缓冲器中。
①接收缓冲器接收缓冲器主要由移位寄存器和数码寄存器组成。
接收器接收传送到RXD(接收数据输入端)引脚上的串行数据,并对串行数据流的特殊位(奇偶位,停止位等)和字符(同步字符)进行检查、处理,按规定的格式将串行数据转换为并行数据存放在缓冲器中。
接收移位寄存器和接收数据缓冲器组成了双缓冲器结构。
②接收控制逻辑这一部分控制串行数据的接收,包括三条控制线:RXRDY(Receiver Ready)接收器准备好,输出,高电平有效。
RXC(Receiver Clock)接收时钟,输入。
SYNDET/BRKDET(SYNchronous DETect/BreaK DETect)同步检测/断点检测,输出/输入,高电平有效。
(2)发送器发送器包括发送缓冲器和发送控制逻辑两部分。
①发送缓冲器和发送过程发送数据缓冲器接收由CPU送来的并行数据,按初始化编程指定的数据格式转换成串行数据流送至发送移位寄存器,在TXC的下降沿从TXD引脚发送出去。
发送数据缓冲器和发送移位寄存器组成了发送的双缓冲器结构。
②发送控制逻辑该部分控制串行数据的发送操作,包括3条控制线:TXRDY(Transmitter ReaDy)发送器准备好,输出,高电平有效。
TXE(Transmitter Empty)发送器空,输出,高电平有效。
浙江工业大学计算机学院实验报告实验名称定时/计数器(8253)姓名学号班级教师日期 2014.11.2◆实验目的和要求1、了解串行通讯的基本原理。
2、掌握串行接口芯片8251的工作原理和编程方法。
◆实验设备(环境)及要求PC机一台,TPC-USB平台、8253芯片、8251A芯片◆实验内容从键盘输入一个字符,将其ASCII码加1 后串行发送出去,再从串行口接收回来在屏幕上显示,实现自发自收。
收发均采用查询方式。
◆实验步骤1)按图4.1连接好电路,(8251插在通用插座上)。
其中8253计数器用于产生8251的发送和接收时钟,TxD和RxD连在一起。
图示电路8251的控制口地址为2B9H,数据口地址为2B8H。
2、8253计数器的计数初值=时钟频率/(波特率×波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。
图4.1 TPC-USB 平台串行实验连接2)根据流程图4.2,编程并运行,观察实验结果。
开始初始化8253初始化8251显示提示从8251控制口读状态字TxRDY为1吗?从键盘接收字符是ESC吗?将键入字符ASC码加1通过8251数据端口发送字符从8251控制端口读入状态字DxRDY为1吗?从8251数据口接收数据将字符显示在屏幕是ESC吗?YYNYN N 图4.2 TPC-USB 平台串行实验流程◆实验结果在键盘上输入一个字符在屏幕上显示出来,随后即在屏幕上输出一个刚刚输入的数的ASIIC码加1的字符。
◆讨论和分析(1)实验结果分析:在8253、8251A的初始化工作完成以后,读入状态字,检测是否已准备发送字符,确定准备好以后,通过mov ah,01 int 21h语句从键盘上输入一个数字,在执行加1操作以后,通过out dx,al语句将数据发送出去,然后又读入状态字,检测是否已准备接收字符,确定准备好以后,通过mov dx,2B8h in al,dx读入刚刚发送出去的字符,通过mov dl,al mov ah,02 int 21h语句在屏幕上显示刚刚接收的字符,实现自发自收的功能。
串行接口芯片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,表示已经收到一个可用的数据。