可编程串行通信接口芯片8251A
Posted SuPhoebe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可编程串行通信接口芯片8251A相关的知识,希望对你有一定的参考价值。
8251A的基本功能
8251A是一种可编程的通用同步/异步接收发送器,通常作为串行通信接口使用,被广泛应用Intel80X86为CPU的 微型计算机中。其基本功能为:
- (1) 它是全双工、双缓冲器的接收/发送器。
- (2) 有两种工作方式,可工作在同步或异步工作方式。同步方式工作时,波特率在0~64K范围内;异步方式时,波特率在0~ 9.2K范围内。
- (3) 同步方式时,字符可选择为5~8bit,可加奇偶校验位,可自动检测同步字符。
- (4) 异步方式时,字符可选择为5~8bit,可加奇偶校验位,自动为每个字符添加一个启动位,并允许通过编程选择
1
、
1.5 、或 2 位停止位。
8251A的内部结构
(1)接收器
接收器包括接收缓冲器和接收控制逻辑两部分。接收器的功能是接收在RXD引脚上的串行数据,并按规定的格式把它转换成并行数据,存放在数据总线缓冲器中。
- ①接收缓冲器
接收缓冲器主要由移位寄存器和数码寄存器组成。接收器接收传送到RXD(接收数据输入端)引脚上的串行数 据,并对串行数据流的特殊位(奇偶位,停止位等)和字符(同步字符)进行检查、处理,按规定的格式将串行 数据转换为并行数据存放在缓冲器中。
接收移位寄存器和接收数据缓冲器组成了双缓冲器结构。
- ②接收控制逻辑
这一部分控制串行数据的接收,包括三条控制线:
RXRDY(Receiver Ready)接收器准备好,输出,高电平有效。
RXC(Receiver Clock)接收时钟,输入。
SYNDET/BRKDET(SYNchronous DETect/BreaK DETect)同步检测/断点检测,输出/输入,高电平有效。
(2)发送器
发送器包括发送缓冲器和发送控制逻辑两部分。
- ①发送缓冲器和发送过程
发送数据缓冲器接收由CPU送来的并行数据,按初始化编程指定的数据格式转换成串行数据流送至发送移位寄存器,在TXC的下降沿从TXD引脚发送出去。
发送数据缓冲器和发送移位寄存器组成了发送的双缓冲器结构。
- ②发送控制逻辑
该部分控制串行数据的发送操作,包括3条控制线:
TXE (Transmitter Empty)发送器空,输出,高电平有效。
TXC (Transmitter Clock)发送时钟,输入。
(3)读/写控制逻辑
读/写控制逻辑接收CPU的有关控制信号,据此确定对8251A的操作。该部分共有6条对外引线。
CLK 时钟,输入。
RESET 复位,输入,高电平有效。RESET有效,8251A被强行复位到空闲状态。只有在重新初始化后才能脱离空闲状态。
CS¯¯¯¯¯
(Chip Select)片选,输入,低电平有效。
C/D¯¯¯ (Control/Data) 控制/数据信号,输入。
RD¯¯¯¯¯ (Read)读,输入,低电平有效。
WR¯¯¯¯¯¯ (Write)写,输入,低电平有效。
(4)数据总线缓冲
数据总线缓冲器是三态,双向,8位缓冲器,经引脚 D7 ~ D0 和系统的数据总线相连,是8251A与系统数据总线之间的接口。数据总线缓冲器包括:
- ① 状态字缓冲寄存器,寄存8251A接收/发送操作的各种工作状态。
- ② 发送数据缓冲寄存器,暂存由CPU送来的数据或控制字。8251A没有独立的控制寄存器,写入的控制命令和发送的数据共用一个寄存器。
- ③ 接收数据缓冲寄存器,暂存接收到的准备送往CPU数据。
(5)调制解调控制逻辑
远程通信时,8251A的TXD端数据经调制器调制后送上传输线,经传输线送来的信号经解调后送往8251A的RXD端。为了在8251A和调制解调器之间能正确的传送数据,8251A调制解调控制逻辑产生四个相应的联络信号如下:
DIR¯¯¯¯¯¯¯
(Data Terminal Ready)数据终端准备好,输出,低电平有效。
DSR¯¯¯¯¯¯¯¯ (Data Set Ready)调制解调器准备好,输入,低电平有效。
RTS¯¯¯¯¯¯¯ (Request To Send)请求发送,输入,低电平有效。
CTS¯¯¯¯¯¯¯ (Clear To Send)允许发送,输入,低电平有效。
当8251A不与调制解调器相接而是接续其它外设时,这四条线可以作为控制数据传输的联络线。
8251A的编程字
(1)工作方式控制字
D1 D0 确定是工作于同步方式还是异步方式。 D1 D0 =00为同步方式,当方式设为同步时,方式控制字后必须装入 同步字符,并由同一个方式控制字规定装入单同步字符还是双同步字符; D1 D0≠00 为异步方式,且有3种组合来 选择输入的时钟频率与波特率之间的系数。
D3 D2 确定每个字符的数据位(不包括奇偶校验位)。
D5 D4 确定是否校验和奇偶校验的性质。
D7 D6 含义因同步方式或异步方式而异。异步方式( D1 D0 ≠00)时用来确定停止位个数。同步方式时 D6 用来确定 是内同步(SYNDET脚为输出)还是外同步(SYNDET为输入), D7 用来确定同步字符个数。外同步方式时,同步字 符只用于发送,接收时不作用。
例:某异步通讯,数据位为8位,1位起始位、2位停止位、奇校验、波特率系数为16。
则有:11011110B=0DEH
MOV DX,309H ;8251A命令口
MOV AL,0DEH
OUT DX,AL
(2)工作命令控制字
ALB学习笔记基于事件触发方式的串行通信接口数据接收案例