微机原理笔记(4)------8251A芯片

引脚

双列直插,28根引脚
引脚图

引脚功能

数据总线缓冲器

D7~D0:实现CPU与外设间数据传送
实现状态寄存器中的状态信息对CPU的传输

双向三态缓冲器

其内部包含3个8位双向三态缓冲器

  1. 状态缓冲器:用IN指令读取状态信息。
  2. 接收数据缓冲器:用IN指令读取数据信息。
  3. 发送数据/命令缓冲器:OUT指令写入的数据/命令字

读写控制电路

用于接收CPU的控制信号和命令字,协调内部工作。

RESET:复位信号,输入,高电平有效,使8251A进入空闲状态,等待初始化编程。

CLK:主时钟信号,输入,在同步方式下,CLK的频率必须比~ TxC和~ RxC大30倍。在异步方式下,CLK的频率应比~ TxC和~ RxC大4.5倍。

~RD:读信号,输入,低电平有效。表示CPU从8251A读出数据或状态信息。

~WR:写信号,输入,低电平有效,表示CPU把数据或控制字写入8251A。

~CS:片选信号,输入,低电平有效,表示8251A被CPU选中,可以对它进行读写操作。

C/~D:控制/数据信号,输入,在高电平时,表示传输的是控制信号或状态字,在低电平时,表示传输的是数据信息。
对应引脚编码

接收器和接收控制电路

接收串行数据,转换为并行数据后存放
RxD:接收数据,输入,逐位移入接收移位寄存器,串转并后送入接收数据缓冲器

RxRDY:接收数据准备好,输出,高电平有效,当CPU读取该字符后,复位为低电平,中断方式或查询方式(作为联络信号)

RxC:接收时钟,输入,决定8251A接收数据的速率,在异步方式下,输入的时钟频率可以是波特率的1倍、16倍或64倍。接收时钟通常应与发送时钟相同。

SYNDET/BRKDET:同步检测/断点检测,输入或输出。

  1. 同步方式:用于同步检测。复位时为低电平。
    内(自)同步方式:检测到同步字符输出高电平
    外同步方式:由低变高时,在下一个时钟的上升沿开始接收字符
  2. 异步方式:用于断点检测,输出
    RxD引脚连续收到两个全0字符时,输出高电平。
    作为状态位,供CPU读取
异步通信方式

在无字符传送时,RxD引脚上为高电平。
RxD出现低电平,启动内部计数器,检测起始位。
接收数据位,送移位寄存器处理得到并行数据,送至接收数据缓冲器,同时发出RxRDY信号通知CPU

同步通信方式

监视RxD引脚,以一次一位的方式将数据送至接收寄存器。
每接收一位,将接收寄存器与存放同步字符的寄存器比较。
直至搜索到同步字符,置SYNDET=1。
根据RxC引脚送入的同步时钟,按规定位数逐个移位至接收数据缓冲器,同时发出RxRDY信号通知CPU。

发送器和发送控制电路

将并行数据+成帧信号,转换为串行数据发送。
异步通信方式:加上起始位,并根据控制字加上奇偶校验位和停止位。
同步通信方式:先发送同步字符,随后发送若干数据字符。

TxD:发送数据,输出。将并行数据转换成串行数据,逐位从TxD引脚发送。

TxRDY:发送数据准备好,输出,高电平有效。表示已准备好从CPU接收一个数据。
在中断方式或查询方式中作为联络信号

TxE:发送缓冲器空,输出,高电平有效,表示发送器中的并到串转换器空。
异步方式下,由TxD引脚向外部输出空闲位。
同步方式下,由TxD引脚向外部输出同步字符。

~TxC:发送器时钟,输入,决定8251A的发送速率。
异步方式下,时钟是波特率的1倍、16倍或64倍。
同步方式下,时钟频率应等于发送数据的波特率。

调制解调控制电路

与调制解调器(Modem)相连,可实现远距离数据传输,发送方用Modem将串行数字信号变为模拟信号,接收方模拟信号经过Modem变为数字信号。
用于为调制解调器提供控制信号。

~DTR:数据终端准备好,输出,低电平有效。表示CPU准备好进行数据传送,由控制命令字的D1位置1使之有效

~DSR:数据设备准备好,输入,低电平有效,对应状态寄存器D7位,可通过读状态字获取设备的状态。

~RTS:请求传送数据,输出,低电平有效,表示CPU已准备好发送数据,由控制命令字的D5位置1使之有效。

~CTS:允许发送数据,输入,低电平有效,是调制解调器或外设对RTS的响应信号

初始化编程

初始化流程

控制字

方式控制字

紧接在复位操作后写入。
方式控制字

命令控制字

写入方式控制字后,才能写入同步字符和命令控制字。在工作过程中,可随时写入新的命令控制字。
命令控制字
与方式控制字写入相同端口地址。
复位后首先写入方式控制字,之后写入命令控制字。

状态字

给出8251A当前的运行状态
状态字

原文地址:https://www.cnblogs.com/yanzs/p/13788294.html