8-3串行接口芯片8251A
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行接口芯片8251A
8251A基本功能
⏹可用于同步和异步通信方式(通信方式通过对方式字
编程实现):
☐同步方式:波特率0-64Kbps,每个字符可为5~8位,可使用内部同步检测和外部同步检测,能自动插入同步字符。
☐异步方式:波特率0-19.2Kbps,每个字符可为5~8位,自动增加起始位、停止位和校验位。
时钟TxC,RxC的时钟频率为传输
波特率的1,16和64倍。
⏹全双工,具有双缓冲器接收器和发送器;
⏹出错检测,具有奇偶、溢出和帧错等检测电路。
8251A的内部结构
8251A的内部结构主要包括:数据总线缓冲器、接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、调制/解调控制电路、读/写控制逻辑电路等
数据总线
缓冲器
发送缓
冲器
发送控制
电路
接收缓
冲器
接收控制
电路
D0~D7
SYNDET
RxD
RxRDY
读写控
制电路
C / D
CLK
RESET
RD
WR
CS
DSR
CTS
DTR
RTS
RxC
TxC
TxE
TxRDY
TxD
调制解调
控制电路
内
部
总
线
8251A的内部结构
⏹发送器:包括发送缓冲器和发送控
制电路
☐采用异步方式时,则由发送控制电路自动在其首尾加上起始位、奇偶校验位和
停止位,然后从起始位开始,经移位寄
存器从数据输出线TxD逐位串行输出。
发送速率取决于TxC接收的发送时钟频
率,可以编程定义是发送速率的1、16、
64倍。
8251A的内部结构
☐采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然
后才逐位串行输出数据。
◆如果CPU与8251A之间采用中断方式交换
信息,那么TxRDY可作为向CPU发出的中
断请求信号,表示发送缓冲器已空,可
以接收CPU下一个数据。
◆当发送器中的8位数据串行发送完毕时,
由发送控制电路向CPU发出TxE有效信号,
表示发送器中移位寄存器已空。
8251A的内部结构
⏹接收器:包括接收缓冲器和接收控制电路
从RxD引脚上接收串行数据转换成并行数据
后存入接收缓冲器。
☐异步方式:在RxD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,
送到数据输入寄存器,同时发出RxRDY信号送CPU,
表示已经收到一个可用的数据。
8251A的内部结构
同步方式:首先搜索同步字符,8251A监测RxD线,每当RxD线上出现一个数据位
时,接收下来并送入移位寄存器移位,
与同步字符寄存器的内容进行比较,如
果两者不相等,则接收下一位数据,并
且重复上述比较过程。
当两个寄存器的
内容比较相等时,8251A的同步检测引脚
SYNDET变为高电平,表示同步已经实现。
8251A的内部结构
☐采用双字符同步方式,在测得输入移位寄存器的内容与第一个同步字符寄
存器的内容相同后,再继续检测此后
输入移位寄存器的内容是否与第二个
同步字符寄存器的内容相同。
如果相
同,则认为同步已经实现。
☐在外同步情况下,同步输入端SYNDET 加一个高电位来实现同步。
8251A的内部结构
实现同步之后,接收器和发送器间就开始进行数据的同步传输。
这时,接
收器利用时钟信号对RxD线进行采样,
并把收到的数据位送到移位寄存器中。
同时,在RxRDY引脚上发出一个信号,
表示收到了一个字符。
8251A的内部结构
⏹数据总线缓冲器
☐数据总线缓冲器是CPU与8251A之间的数据接口。
☐它包含3个8位的缓冲寄存器:两个寄存器分别用来存放CPU向8251A读取的
数据或状态信息;一个寄存器用来存
放CPU向8251A写入的数据或控制信息。
8251A的内部结构
⏹读/写控制电路
读/写控制电路用来配合数据总线缓冲器的工作。
功能如下:
☐写控制信号WR,控制来自数据总线的数据或控制字写入8251A;
☐读控制信号RD,控制数据或状态字从8251A送数据总线;
8251A的内部结构
☐控制/数据信号C/D,高电平时为控制字或状态字;低电平时为数据。
相当于芯
片内部端口选择(接CPU的低位地址
线)。
与读、写控制信号配合工作☐时钟信号CLK完成8251A的内部定时,要比接收时钟和发送时钟频率高;
☐复位信号RESET,使8251A处于复位状态;
片选CS。
8251A的内部结构
⏹调制解调控制电路
调制解调控制电路用来简化8251A和调制解调
器的连接,从而实现数字信号与模拟信号之间的转换。
☐DTR:数据终端准备好信号,通知外部设备,CPU当前已经准备就绪。
☐DSR:数据设备准备好信号,表示当前外设已经准备好。
☐RTS:请求发送信号,表示CPU已经准备好发送。
☐CTS:允许发送信号,是对RTS的响应,由外设送往8251A。
8251A与CPU、外设之间的连接
8251A的编程 8251A是一个可编
程的多功能芯片,在使用时必须对其进行初始化编程,用以确定工作方式、命令、波特率、字符格式、同步字符等。
复位操作
输出方式字
同步方式?
输出第一个
同步字
输出第二个
同步字
双同步?
输出命令字
复位
结束
出错
处理
输入状态字
传送数据
有错?
传送完?
Y
N
Y
N
Y
N
Y
N
Y
N
8251A的编程
编程流程包括两大方面:
⏹由CPU发给8251A的控制字,即方式选择控制字和操作命
令控制字;共用一个端口地址(C/D=1),按顺序写入。
☐异步方式:在方式选择控制字写入后,紧接着必须写入操作命令控制字。
☐同步方式:在方式选择控制字写入后,先完成同步字符的写入,再写入操作命令控制字。
⏹由8251A向CPU发送状态字
8251A的编程
⏹方式选择控制字,简称方式字
☐对8251A的工作方式进行选择,约定双方的通信方式,
数据格式,传送速率等问题。
⏹操作命令控制字,简称命令字
☐确定8251A的实际操作类型,迫使8251A进入某种操作
或工作状态,以便接收或发送数据。
⏹状态字
☐保存能反映8251A当前工作状态的状态字,包括数据
收发的就绪状态、同步状态、出错信息等内容。
17
8251A 的编程
方式字对应于8位模式寄存器,异步
方式各位的定义如下:
S 1
S 2
EP
PEN
L 1L 2
B 1
B 201:异步方式×110:异步方式×1611:异步方式×64
00:5位字符长度01:6位字符长度10:7位字符长度11:8位字符长度
x0:无奇偶校验位01:奇校验11:偶校验00:无效
01:1位停止位10:1.5位停止位11:2位停止位
8251A 的编程
同步方式下方式字各位的定义如下:
SCS ESD
EP
PEN
L 1
L 2
与异步方式相同
1:SYNDET 为输入(外同步)0:SYNDET 为输出(内同步)
1:单字符同步0:双字符同步
8251A 的编程
命令字对应于8位的控制寄存器,其
各位的定义如下:
EH IR RTS ER
RxE SBRK
TxEN
DTR
1:使TxD 变低,发送终止字符0:正常工作
1:允许发送0:禁止发送
1:允许接收0:禁止接收1:使DTR 引脚输出低电平
1:使错误标志PE ,OE ,FE 复位
1:使RTS 引脚输出低电平1:启动搜索同步字符1:内部复位
8251A 的编程
⏹状态字对应于8位状态寄存器,其状态位是8251A 在执行命
令过程中产生的。
⏹状态寄存器的某一位置1,表示有效。
FE 、OE 、PE 均由操作命令控制字的D 4(ER )位置1来复位。
出错状态置位,只指明错误,不禁止8251A 的操作。
DSR
SYNDET /BRKDET
FE OE TxE
PE TxRDY
RxRDY 同步检测/断点检测
溢出错误数据装置准备好帧错误(只用于异步方式)
奇偶错误发送器空
接收器准备好发送器准备好
8251A的编程 8251A初始化时,一定要在写方式字之前先使用复位命令对
8251A进行内部的复位操作。
MOV DX,309H
MOV AL,40H
OUT DX,AL
EH IR RTS ER RxE
SBRK TxEN
DTR
1:使TxD变低,发送终止字符
0:正常工作
1:允许发送
0:禁止发送
1:允许接收
0:禁止接收
1:使DTR引脚输出低电平
1:使错误标志
PE,OE,FE复位
1:使RTS引脚输出低电平
1:启动搜
索同步字符
1:内部复位
01000000
1
1
1
1
1
1
8251A 的编程
⏹异步方式下的初始化例:
☐复位命令——方式字——命令字——数据收发
MOV DX ,309H
MOV AL ,40H ;复位命令OUT DX ,AL MOV AL ,0FAH OUT DX ,AL ;设置方式字,为异步模式;波特率因子为16;
用7个数据位,偶校验,2个停止位
MOV AL ,37H OUT DX ,AL ;设置命令字,使发送启动、接收启动,并设置
RTS 和DTR 有效
S 1
S 2
EP
PEN
L 1
L 2
B 1
B 2
01:异步方式×110:异步方式×1611:异步方式×64
00:5位字符长度01:6位字符长度10:7位字符长度11:8位字符长度
x0:无奇偶校验位01:奇校验11:偶校验00:无效
01:1位停止位10:1.5位停止位11:2位停止位
8251A 的编程
⏹异步方式下的初始化例:
☐复位命令——方式字——命令字——数据收发
MOV DX ,309H
MOV AL ,40H ;复位命令OUT DX ,AL MOV AL ,0FAH OUT DX ,AL ;设置方式字,为异步模式;波特率因子为16;
用7个数据位,偶校验,2个停止位
MOV AL ,37H OUT DX ,AL ;设置命令字,使发送启动、接收启动,并设置
RTS 和DTR 有效
EH
IR
RTS
ER
RxE SBRK TxEN
DTR 1:使TxD 变低,发送终止字符0:正常工作1:允许发送0:禁止发送
1:允许接收0:禁止接收
1:使DTR 引脚输出低电平
1:使错误标志PE ,OE ,FE 复位1:使RTS 引脚输出低电平
1:启动搜索同步字符
1:内部复位,
0110111
8251A 的编程
⏹同步模式下的初始化例
☐
复位命令——方式字——同步字符——命令字——数据收发
MOV DX ,309H
MOV AL ,40H ;复位命令
OUT DX ,AL MOV AL ,0B8H OUT DX ,AL ;设置方式字为同步模式,2个同步字符,
7个数据位,偶校验
MOV AL ,16H OUT DX ,AL ;同步字符为16H MOV AL ,0B7H OUT DX ,AL ;设置控制字,并启动
101
1
1
SCS ESD
EP
PEN
L 1
L 2
与异步方式相同1:SYNDET 为输入(外同步)0:SYNDET 为输出(内同步)1:单字符同步
0:双字符同步
8251A 的编程
⏹同步模式下的初始化例
☐复位命令——方式字——同步字符——命令字——数据收发
MOV DX ,309H MOV AL ,40H ;复位命令OUT DX ,AL MOV AL ,0B8H OUT DX ,AL ;设置方式字为同步模式,2个同步字符,
7个数据位,偶校验
MOV AL ,16H OUT DX ,AL ;同步字符为16H MOV AL ,0B7H OUT DX ,AL ;设置控制字,并启动
EH IR
RTS
ER
RxE SBRK TxEN DTR
1:使TxD 变低,发送终止字符0:正常工作1:允许发送0:禁止发送
1:允许接收0:禁止接收
1:使DTR 引脚输出低电平1:使错误标志PE ,OE ,FE 复位1:使RTS 引脚输出低电平1:启动搜索同步字符
1:内部复位
1
0110111。