串行通信8251A
可编程串行通信接口芯片8251A

可编程串行通信接口芯片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

2
1.1 8251A内部逻辑与工作原理
• 8251A的结构框图如图1.1所示,可分五个主要部分:数据总线缓冲器、接收缓冲器、 发送缓冲器、读/写控制逻辑电路和调制解调控制电路。
• 2.命令控制字:设置为00110111B(即37H),置引脚、有效,出错标志复位,允许发送和接收 (虽然本例只是接收,但8251A作为串行通信接口,通常同时具有发送和接收功能,只是本例仅编 写输入部分程序而已),写入控制端口,端口地址为71H。
• 3.状态字:检测状态字D1位的RXRDY,若RXRDY=1,说明已接收一个完整字符,可以读取。读 取一个字符后,还要确定接收的字符是否正确,方法是检测状态字的D5D4D3位(帧错、溢出错、 奇偶错),相应位为1表明出现对应的错误,需要进行错误处理。
3
8251A的结构框图
4
(1)数据总线缓冲器
• 数据总线缓冲器是三态双向8位缓冲器,它是8251A与微机系统数据总线的接口,数 据、控制命令及状态信息均通过此缓冲器传送。它含有命令寄存器、状态寄存器、 方式寄存器、两个同步字符寄存器、数据输入缓冲器和数据输出缓冲器。
5
(2)发送缓冲器
• 发送缓冲器的功能是接收CPU送来的并行数据,按照规定的数据格式变成串行数据 流后,由TXD输出线送出。
15
• 1.方式选择控制字:根据题意,方式选择控制字为11111010B(即FAH),写入控 制端口,端口地址为201H。
• 2.命令控制字:设置为00110111B(即37H),允许发送和接收,写入控制端口, 端口地址为201H。
8251a有何特点-在串行通信中作用_8251a的工作方式

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)发送器空,输出,高电平有效。
第十章:串行通信和8251A

4
四,串行传送速率
1,波特率(Bd):每秒钟所传送数据的位数 波特率(Bd):每秒钟所传送数据的位数 ): 常用的波特率为110 300,600,1200,2400,4800, 110, 2,常用的波特率为110,300,600,1200,2400,4800, 9600, 9600,19200 已知波特率为1200 例:已知波特率为1200 异步传输:每个字符包括1个起始位, 个数据位, 个校验位, 异步传输:每个字符包括1个起始位,7个数据位,1个校验位, 个停止位. 1个停止位. 每秒钟能传送的最大字符数=1200/10=120 =1200/10=120个 则 每秒钟能传送的最大字符数=1200/10=120个 同步传输: 个同步字符,每个字符7个数据位. 同步传输:用4个同步字符,每个字符7个数据位. X=167个 则 每秒钟能传送的最大字符数 X=167个 X+4) (X+4)×7=1200
3
2,同步方式 空闲状态 同步字符1 同步字符2 同步字符 同步字符 数据字符 数据字符
①不发送数据,空闲状态 不发送数据, 数据: ②数据:同步字符 + 数据字符 特殊字符,使收发双方同步) 一个字符接一个字符) (特殊字符,使收发双方同步) (一个字符接一个字符) 同步传输不允许有间隙,在没有信息要传输时, ③同步传输不允许有间隙,在没有信息要传输时,要填上 空字符 双方: 双方:同一时钟 ④传输效率高
3,发送数据缓冲器和控制电路 , 有关信号: 有关信号: ①TxD:发送数据,输出 :发送数据, 高电平有效. ②TxRDY:发送器准备好,输出 高电平有效. :发送器准备好,输出,高电平有效 有效时,表示8251A准备好, 允许 准备好, 并行送数据至 有效时,表示 准备好 允许CPU并行送数据至 并行 8251A 可供查询或用作中断请求信号 发送器空,输出,高电平有效 ③TxE(transmitter Empty) 发送器空,输出 高电平有效 有效时, 有效时,表示缓冲器中无数据可发送 异步: 异步:输出空闲位 同步: 同步:输出同步字符 发送时钟, ④TxC :发送时钟,输入 决定8251A的发送速率 决定 的发送速率
第4讲可编程串行通信接口芯片8251A

第4讲 可编程串行通信接口芯片8251A
例2:编写通过8251A采用查询方式接收数据 的初始化程序
将8251定义为:异步传送方式,波特率系数为 64偶校验,1位停止位,7位数据位.设8251A数 据口地址为06A0H,控制口地址为06A2H.
第4讲 可编程串行通信接口芯片8251A
MOV DX,06A2H MOV AL,7BH ;写工作方式控制字 OUT DX,AL MOV AL,14H ;写操作命令控制字 OUT DX,AL WAIT: IN AL,DX ;读入状态控制字 AND AL,02H JZ WAIT ;检查RxRDY是否为1 MOV DX,06A0H IN AL,DX ;输入数据
5.全双工,双缓冲的发送器和接收器.
6.具有三种错误检测功能:奇/偶,溢出和帧错误.
第4讲 可编程串行通信接口芯片8251A
8251A的内部工作原理图:
第4讲 可编程串行通信接口芯片8251A
第4讲 可编程串行通信接口芯片8251A
8251A芯片的初始化
为使8251配合cpu进行通信,通信之前: 1.约定双方的通信方式〔同步/异步〕,数据格式
3.单片机:把cpu、内存储器、输入输出 接口集成在一个芯片上所构成的微型计 算机.
INC DI
IN AL,0F1H
TEST AL,38H
;检测错误标志
JNZ ERROR
;出错,至错误处理
LOOP WAIT
第4讲 可编程串行通信接口芯片8251A
相关术语
1.微型计算机:把cpu、内存储器、输入 输出接口电路集成在若干芯片上,加上 控制电极和电源等所组成的计算机.
2.单板机:把cpu、内存储器、输入输出 接口电路装在一块印制电路板上所构成 的微型计算机.
简述8251a的编程结构

简述8251a的编程结构是一种通用异步收发器,也是一种串行通信接口芯片。
它可以实现数据的收发、控制、同步等功能。
在计算机通信领域中,8251A 被广泛应用于串行通信接口的设计中。
8251A的编程结构可以分为两部分,分别是控制寄存器和状态寄存器。
控制寄存器用于设置串行通信的参数,状态寄存器则用于反映串行通信的状态。
控制寄存器的结构如下:| 位数 | 功能 | 说明 || ---- | ---- | ---- || 7 | DLAB | 波特率发生器访问位 || 6 | SB | 停止位数 || 5 | PE | 奇偶校验使能 || 4 | PM | 奇偶校验模式 || 3 | SM | 串行模式选择 || 2 | 2 | 保留 || 1 | 1 | 保留 || 0 | 1 | 保留 |其中,DLAB位用于选择波特率发生器的访问,SB位用于选择停止位的数量,PE位用于使能奇偶校验,PM位用于选择奇偶校验模式,SM位用于选择串行通信的模式。
状态寄存器的结构如下:| 位数 | 功能 | 说明 || ---- | ---- | ---- || 7 | FE | 帧错误 || 6 | OR | 溢出错误 || 5 | PE | 奇偶校验错误 || 4 | TB | 发送缓冲器空 || 3 | RB | 接收缓冲器满 || 2 | DSR | 数据终端就绪 || 1 | CTS | 清除发送 || 0 | RI | 接收到的数据 |其中,FE位用于表示帧错误,OR位用于表示溢出错误,PE位用于表示奇偶校验错误,TB位用于表示发送缓冲器是否为空,RB位用于表示接收缓冲器是否已满,DSR位用于表示数据终端是否就绪,CTS 位用于表示清除发送,RI位用于表示接收到的数据。
在使用8251A进行串行通信时,需要对控制寄存器和状态寄存器进行编程。
具体步骤如下:1. 设置波特率:首先要设置波特率,可以通过设置波特率发生器的值来实现。
可编程串行通信接口芯片8251A

逻辑低电平为+3V~+15V
逻辑高电平为-3V~-15V 实际常用±12V或±15V
相互转换
标准TTL电平 低电平:0V~0.8V 高电平:+2V~+5V
Page 16
RS-232C的引脚定义
RS-232C是一种标准接口,D型插座,采用25芯引 脚或9芯引脚的连接器,如图所示。
Page 5
1.串行数据传送方式
串行通信数据传送方式分为:单工通信方式、半双工通信 方式和全双工通信方式。 ⑴单工通信方式 传输的线路用一根线,通信的数据只允许按照一个固定的 方向传送。如图:只能从A站点传送到B站点。 A T B R
例: 单工通信类似无线电广播,电台发送信号,收音机 接收信号,收音机永远不能发送信号。
…
1
起始位——每个字符开始传送的标志,起始位 数据位——数据位紧跟着起始位传送。由5~8 校验位——用于校验是否传送正确;可选择奇 停止位——表示该字符传送结束。停止位采用 空闲位——传送字符之间的逻辑1电平,表示 采用逻辑0电平 个二进制位组成,低位先传送 检验、偶校验或不传送校验位 逻辑1电平,可选择1、1.5或2位 没有进行传送
收、发双方取得同步的方法是采用在字符格式中设置起始 位和停止位。
在一个有效字符正式发送前,发送器先发送一个起始位, 然后发送有效字符位,在字符结束时再发送一个停止位, 起始位至停止位构成一帧。
Page 9
异步通信数据格式
字符 数据位
起始位
校验位停止位 空闲位 0/1 0/1 1 1 高位
1
0
0/1 0/1 低位
Page 6
⑵半双工通信方式
传输的过程中依然用一根线连接,在某个时刻,只能迚行
微机原理第十章 串行通信和接口芯片8251A

数据 总线 缓冲器
异步
发送 缓冲器
TXD
MODEM
读/写 控制 电路
发送 控制 电路
电话线 接口 TXRDY
TXE TXC
DSR:数据通信设备准 备好,当DCE电源接通, 作好准备,向数据终端 DTE发低电平信号。
RXCCS TXC DSR
DTR CTS RTS DTE
波特率 产生器
调制解 调控制 电路
1,允许从TXD 发送 1,数据终端准备好 使引脚DTR为低电平 1,允许从RXD接收 1,发送空白字符 使TXD为低电平
1,清除错误标志
状态字 D7 D6 DSR SYN/B D5 FE D4 OE D3 PE D2 D1 D0 TXE RXRDY TXRDY
1,发送数据准备好
1,接收数据准备好
;向控制口写入0 ;延时,等待写操作完成 ;向控制口写入第二个0 ;延时,等待写操作完成 ;向控制口写入第三个0 ;延时,等待写操作完成
;向控制口写入复位字 ;延时,等待写操作完成 ;向控制口写入方式字 ;延时,等待写操作完成
为确保8251已正 确复位。在写方式 字和命令字前,先 向控制口连续写三 个0。每写一次需要 等待。
G1
G2A Y0 G2B C B A CS
RXD TXD
RS232C 接口
外 设
8251A
C/D RESET RD WR TXRDY TXE RXRDY BRKDET
RXC TXC
A1 RESET RD WR
波特率 产生器
8086
CPU采用查询方式时使用输入缓冲器接口通过DB连接。采用中 断方式时TXRDY、 RXRDY为中断申请 信号。
零MODEM方式的标准连接
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字符速率与波特率两者关系
字符速率:每秒钟传输的字符数。 波特率:指单位时间内传送二进制数据的 位数。单位为:b/s
例1: 异步传输过程
设每个字符对应1个起始位、7个信息位、1个 奇偶校验位和1个停止位,如果波特率为1200bps, 那么,每秒钟能传输的最大字符数为1200/10= 120个
(2) 发送/接收时钟
串行异步通信以字符为单位进行传输,其 通信协议是起止式异步通信协议
起止式异步通信协议
起始位
字符 数据位
1 0 0/1 0/1 …
校验位停止位 空闲位 0/1 0/1 1 1 1
低位
高位
起 起数 由校 选停位空表始始5据择验采止~示闲位位位奇位用8位没位采—个—检—逻—有—用—二—验—辑—进—逻每进数、用1表行传辑电制个偶据于传示送0平位字校电位校送该字,组符验平紧验符字可成开或跟是之符选,不始着否间传择低传传起传的送1位送送、始送逻结先校的1位正辑.束传5验标传或1确送。位电志2送;停位平,。可止,
解调(Demodulating)
将电话线路的模拟信号转换为数字信号
调制解调器MODEM
具有调制和解调功能的器件合制在一个装置
10.2 串行接口标准RS-232C(补充)
美国电子工业协会EIA制定的通用标准串行接口
1962年公布,1969年修订 1987年1月正式改名为EIA-232D
数据传输速率
数据传输速率也称比特率(Bit Rate)
每秒传输的二进制位数bps 字符中每个二进制位持续的时间长度都一样,为数据
传输速率的倒数
当进行二进制数码传输,且每位时间长度相等时, 比特率还等于波特率(Baud Rate)
过去,串行异步通信的数据传输速率限制在50 bps到9600 bps之间。现在,可以达到115200 bps 或更高
DTR和DSR也可用做数据终端设备与数据通信设 备间的联络信号,例如应答数据接收
RS-232C的引脚(4)
GND:信号地
为所有的信号提供一个公共的参考电平
CD:载波检测(DCD)
当本地调制解调器接收到来自对方的载波信号 时,该引脚向数据终端设备提供有效信号
RI:振铃指示
当调制解调器接收到对方的拨号信号期间,该 引脚信号作为电话铃响的指示、保持有效
同步通信的数据传输效率和传输速率较高,但硬 件电路比较复杂
串行同步通信主要应用在网络当中
最常使用高级数据链路控制协议HDLC
~~ ~~
同步字符 数据 数据
数据 校验字符
3. 传输制式
全双工
站A
站B
半双工
站A
站B
单工
站A
站B
4. 调制解调器
调制(Modulating)
把数字信号转换为电话线路传送的模拟信号
第10章 串行通信与8250,8251A
第10章 串行通信接口
教学重点
串行通信基础(异步通信协议和RS232C 接口) 8250的内部结构和编程 异步通信程序 8251A的应用
10.1 串行通信基础
串行通信:将数据分解成二进制位用一条 信号线,一位一位顺序传送的方式
串行通信的优势:用于通信的线路少,因 而在远距离通信时可以极大地降低成本
串行通信适合于远距离数据传送,也常用 于速度要求不高的近距离数据传送
PC系列机上有两个串行异步通信接口、键 盘、鼠标器与主机间采用串行数据传送
1. 异步通信
串行通信时的数据、控制和状态信息都使 用同一根信号线传送
收发双方必须遵守共同的通信协议(通信 规程),才能解决传送速率、信息格式、 位同步、字符同步、数据校验等问题
当数据终端设备(PC)准备好送出数据时,就发出有效 的RTS信号,用于通知数据通信设备(MODERM)准备 接收数据
CTS:清除发送(允许发送)(入)
当数据通信设备(MODERM)已准备好接收数据终端 设 备 (PC) 的 传 送 数 据 时 , 发 出 CTS 有 效 信 号 来 响 应 RTS信号
设计目的是用于连接调制解调器 现已成为数据终端设备DTE(例如计算机)与数
据通信设备DCE(例如调制解调器)的标准接口 可实现远距离通信,也可近距离连接两台微机 属于网络层次结构中的最低层:物理层
10.2.1 RS-232C的引脚定义
232C接口标准使用一个25针连接器 绝大多数设备只使用其中9个信号,所以
RS-232C的引脚(5)
保护地(机壳地)
起屏蔽保护作用的接地端,一般应参照设备的 使用规定,连接到设备的外壳或大地
TxC:发送器时钟
控制数据终端发送串行数据的时钟信号
RxC:接收器时钟
控制数据终端接收串行数据的时钟信号
10.2.2 RS-232C的连接
微机利用232C接口连接调制解调器,用于 实现通过电话线路的远距离通信
微机利用232C接口直接连接进行短距离通 信。这种连接不使用调制解调器,所以被 称为零调制解调器(Null Modem)连接
连接调制解调器
微机
2 3 4 5 6 7 8 20 22
MODEM
发送/接收时钟频率与波特率之间的关系为: 发送/接收时钟频率=n发送/接收波特率
其中n称为波特因子,一般n=1,16,32,64
例:要求传输速率为1200 bps 当选择n=16时,表明一位数字信号中有16个时 钟脉冲,故发送/接收时钟频率为:
120016=19.2kHz
2. 同步通信
以一个数据块(帧)为传输单位,每个数据块附 加1个或2个同步字符,最后以校验字符结束
RTS和CTS是数据终端设备与数据通信设备间一 对用于数据发送的联络信号Βιβλιοθήκη RS-232C的引脚(3)
DTR:数据终端PC准备好
通常当数据终端设备一加电,该信号就有效,表明数 据终端设备准备就绪
DSR:数据装置准备好
通常表示数据通信设备(即数据装置)已接通电源连 到通信线路上,并处在数据传输方式
就有了9针连接器 232C包括两个信道:主信道和次信道 次信道为辅助串行通道提供数据控制和通
道,但其传输速率比主信道要低得多,其 他跟主信道相同,通常较少使用
RS-232C的引脚(1)
TxD:发送数据
串行数据的发送端
RxD:接收数据
串行数据的接收端
RS-232C的引脚(2)
RTS:请求发送(出)