串行接口芯片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)串行接口实验报告

浙江工业大学计算机学院实验报告实验名称定时/计数器(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语句在屏幕上显示刚刚接收的字符,实现自发自收的功能。
第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

停止位位数
图9.13 方式指令字各位含义
校验类型:1 偶校验;0 奇校验 S2 S1 00 0 1 1b 1 0 1.5b 1 1 2b
Hale Waihona Puke 1.3 8251A的编程接口技术
B2、B1位表示收发时钟与波特率的关系。
如当B2、B1置为10时,假设收发时钟频率为 19.2KHz,则表示8251A为异步方式,且波特 率为1200。
1.3 8251A的编程
接口技术
对8251A的编程是指由CPU写入控制字(包 括方式指令字和命令指令字)和读/写收发数 据,实现对8251A的各种工作方式以及工作进 程的控制。
8251A的编程包括初始化编程和收发数据过程 的编程两部分。
1.方式指令字
8251A方式指令字各位的定义如图9.13所示。
L2、L1指定串行异步通信中每个字符数据的 位数,可以在5~8位之间选择。
PEN位用来选择是否需要奇偶校验位。
EP位用来选择奇校验或偶校验,若EP=1, 则进行偶校验;若EP=0,则进行奇校验。
1.3 8251A的编程
接口技术
S2、S1用来指定异步方式下的停止位的位数, 可以选择1、1.5或2位。 在 同 步 方 式 ( B2、B1=00), 则 S1=1 为 外 同步,
1.3 8251A的编程
接口技术
1.方式指令字
8251A方式指令字各位的定义如图9.13所示。
D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L1 B2 B1
波特率因子
字符长度
B2 B1 00同步 011 1 016 1 164
L2 L1 005b 016b 107b 1 18b
串行通信及接口芯片8251A.

~ ~ 同步字符 同步字符 数据 数据 ~ ~
数据 校验码 校验码
同步字符的格式和个数根据需要而定。 在同步方式中,接收器接收数据时,首先搜索同步字符, 在得到同步字符后,才开始装配数据。
异步串行通信与同步串行通信的对比
第10章 串行通信及接口芯片8251A
10.1 串行通信的基本概念
ቤተ መጻሕፍቲ ባይዱ
10.2 可编程串行通信接口芯片8251A
10.3 RS-232C串行接口和8251A应用 10.4 串行同步数据通信协议
第8章习题
8-3
8-4 8-5
8-6
10.1 串行通信的基本概念
计算机 串行 接口 DTE MODEM
串行接口的例子
UART
Universal Asynchronous Receiver/Transmitter 异步收发器
功能
接收异步串行输入码并将其转换为并行码 并将CPU的并行码转换为串行码输出
串行接口原理
外部时钟和接收数据的同步
串行接口原理
Receive Data Ready
基本概念
数据传送的方向 数据传输的速率 数据传输的定时 信号的调制与解调 通信数据格式 通信数据校验
数据传送的方向
1.单工(Simplex) 2.半双工(Half duplex) 3.全双工(Duplex)
传输速率
波特率
单位时间传送的位数 单位bps
波特率因子K
每BIT占用的时钟周期数 K=接接收或发送时钟频率/比特率, 可取1、16、
串行通讯接口8251A

B U S
8286
(opotion)
D7-D0
SERIAL RxD INPUT
T
DATA-IN BUFFER
RESET RxRSY TxRDY RD WR
DATA-OUT BUFFER
TxE TxD SERIAL OUTPUT
TRANS. Shi REG
DSR DTR
3.
Intel 8251A可编程通信接口的结构与编程
• 8251A的编程 操作过程:8251A工作方式及运行由程序 控制。
复位操作
输出模式字 是
同步方式 ?
否 输出命令字 是 输出第一个同步字符 双同步 ? 是 输出第二个同步字符 否
复位 ? 传送数据 否 传递完 ? 是
异步传送模式字格式
RESET CLK C/D RD WR CS D A DSR DTR CTS RTS B U S MODEM CONTROL D A
REA D / WRITE
TRANSMIT CONTROL
TxRDY TxEMPT TxC
CONTROL LOGIC
RECEIVE BUFFER S P
RxD
RECEIVE BUFFER
8251A可编程通信接口
2. 串行通信的术语 • 全双工、半双工、单工 单工:通信一方为发送器,另一方为接收器, 一条传输线相连, 进行单向传输。 A B
发送器 接收器
单工
计算机主机与外设之间串行通信,多采用全 双工方式。
8251A可编程通信接口
2. 串行通信的术语 • 同步与异步通信方式 同步方式:通信双方用统一时钟控制通信过程, 信息传输组成数据包(数据帧)。每 帧头尾是控制代码,中间是数据块, 可有数百字节。不同的同步传输协 议有不同的数据帧格式。 数据帧 包头 数据块 包尾
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
教学重点
串行通信基本概念
8251的内部结构和编程 异步通信程序 异步通信协议和RS232C接口
11-1 基本概念
11-1-1 串行通信的基本概念 1、串行通信
将数据分解成二进制位用一条信号线,一位一位顺序传 送的方式 串行通信有以下的特点: 用于通信的线路少,因而在远距离通信时可以极大地降 低成本 串行通信适合于远距离数据传送,也常用于速度要求不 高的近距离数据传送 PC系列机上有两个串行异步通信接口、键盘、鼠标器与 主机间采用串行数据传送
(5)8251A能与MODEM直接相连,接收和发送的数据均可存放在各 自的缓冲器中,以便实现全双工通信。
11-2-2 8251A的状 令基态 缓本缓 冲结冲 器器构、接收数据缓冲器、数据/命
1. 8251A的内部结构
数据总
DB
线缓冲
器
发送
缓冲器
TxD
RESET CLK RD WR C/D
CS
DSR DTR CTS RTS
(4)读/写控制逻辑信号
CS:片选信号,低电平有效。由CPU的IO/及地址信号经译码后供给。 C/D:控制/数据端。为高电平时CPU从数据总线读入的是状态信息;为低 电平时CPU读入的是数据。同样,C/D端为高电平时CPU写入的是命令; C/D为低电平时CPU输出数据。C/D与CPU的一条地址线相连。 RESET:芯片复位信号。为高电平时8251A各寄存器处于复位状态。收、 发线路上均处于空闲状态。通常该信号与系统的复位线相连。 RD:CPU读8251A的控制信号,低有效,与CPU的RD端相连。
率 ÷
检验、停止位,按约定 的波特率从TxD输出。
TXD
SOUT 当数据全部输出结束, 在TXD发出连续低电平
起始位
(TxE=1)。
2. 8251A的引脚功能
8251A的引脚排列如下图所示
D2 D3 RXD GN D D4 D5 D6 D7 TXC WR
CS C/D RD
RXRDY
1
28
2
27
3
26
4
25
5
24
6
23
7 8251A 22
8
21
9
20
10
19
11
18
12
17
13
16
14
15
D1 D0 VCC RXC
DTR RTS DSR RESET CLK TXD TXEMPTY CTS SYNDET TXRDY
3、引脚功能
(1)与接收有关的信号
RxD(Receiver Data)接收数据:从RxD端 串行输入数据输入
WR:CPU向8251A写数据的控制信号,低有效,与CPU的WR端相连。
8251A读/写功能表
CS RD WR D
操作
0 0 1 0 CPU 读 8251 数据
0 1 0 0 CPU 向 8251 写数据
0 0 1 1 CPU 读 8251 状态字
0 1 0 1 CPU 向 8251 写控制字
01 1 *
数据总线浮空
1* * *
数据总线浮空
(5)与调制解调器有关的引脚: 在远程通信时,可用8251与调制解调器相连,经电话线传输数据
DTR(Data Terminal Read y)数据终端准备好(通知数据装置)
DSR(Data Set Ready)数据装置准备好(回应DTR信号)
AB DB CB
11-2-1 8251A的基本性能
(1)通信初始化程序可以工作在同步通信或异步通信方式。同步方式 下,波特率为0~64Kbps;异步方式下,波特率为0~19.2Kbps。
(2)同步方式时,可设定为内同步或外同步两种做法,同步字符允许 采用单同步字符和双同步字符,由用户选定。数据位可在5~8位之间进 行选择。
~~ ~~
同步字符 数据 数据
数据 校验字符
(2) 异步通信
串行通信时的数据、控制和状态信息都使 用同一根信号线传送
收发双方必须遵守共同的通信协议(通信 规程),才能解决传送速率、信息格式、 位同步、字符同步、数据校验等问题
串行异步通信以字符为单位进行传输,其 通信协议是起止式异步通信协议
起止式异步通信协议
检测 RxD
÷
内部
波
异
CLK
特
或
率
门
奇偶检验结果
接收移位寄存器 接收缓冲寄存器
DB
(3)发送器
DB
数据发送缓冲器
工作过程
CPU执行输出指令, 并行数据→发送缓冲器。
异 或 门
停止位 1 奇偶位
0 发送移位寄存器
发送缓冲器→发送移位寄
存器,向CPU提出中断
内部
申请(TxRDY=1)。
CLK 波
特
内部产生起始、奇偶
起始位
字符 数据位
1 0 0/1 0/1 …
校验位停止位 空闲位 0/1 0/1 1 1 1
低位
高位
起 起数 由校 选停位空表始始5据择验采止~示闲位位位奇位用8位没位采—个—检—逻—有—用—二—验—辑—进—逻每进数、用1表行传辑电制个偶据于传示送0平位字校电位校送该字,组符验平紧验符字可成开或跟是之符选,不始着否间传择低传传起传的送1位送送、始送逻结先校的1位正辑.束传5验标传或1确送。位电志2送;停位平,。可止,
过去,串行异步通信的数据传输速率限制在50 bps到9600 bps之间。现在,可以达到115200 bps 或更高
4. 发送/接收时钟
在异步串行通信中,发送端需要用一定频率的时钟 来决定发送每l位数据所占的时间长度(称为位宽 度),接收端也要用一定频率的时钟来测定每一位 输入数据的位宽度。
在进行串行通信时,根据传送的波特率来确定发送 时钟和接收时钟的频率。在异步传送中每发送一位 数据的时间长度由发送时钟决定,每接收一位数据 的时间长度由接收时钟决定,它们和波特率之间有 如下关系:时钟频率=n×波特率
0 无奇偶校验位 01 奇校验 11 偶校验
同步方式 SCS ESD EP PEN L2 L1 0 0
与异步方式相同 1 SYND为输入(外同步) 0 SYND为输出(内同步)
1 单字符同步 0 双字符同步
2.命令控制字
命令控制字用于控制8251A的工作,使8251A处于规定的状态以准 备发送或接收数据,应在写入方式控制字后写入,
(2)接收器
作用:接收器接收在RxD上的串行数据并按规定的 格式转换为并行数据,存放在接收数据缓冲器中。
工作过程:(异步方式)当8251允许接收并准备好接收数据时,监测RxD 端,当检测到起始位(低电平)后,使用16倍率的内部CLK,连续检测8 个0确认。然后按波特率移位、检测RXD,直至停止位。内部删除起始、 奇偶、停止位接收缓冲寄存器后停,止使位R1xR奇D偶Y为位高,向CPU提出中断申请。
外同步方式: 当SYNDET引脚有一个正跳变脉冲,8251在 下一个接收时钟的上升沿开始接收字符,一旦达到同步, SYNDET引脚的高电平即可撤除。
异步方式(断点检测):当8251从RxD端连续收到两个 由全“0”组成的字符时,该引脚输出为高电平,表示当前线 路上无数据可读,只有当RxD端收到1个“1”信号或8251复 位时, BRKDET变为低电平。
以发送数据,发送
结束CTS=“1”。
11-2-3 8251A的编程控制
8251A是可编程串行接口,在使用之前必须 由程序对其工作状态进行设定(称为初始 化),其中包括同步方式还是异步方式、传 输波特率、字符代码位数、校验方式、停止 位位数等。8251A内部既有数据寄存器,还有 控制字寄存器和状态寄存器。控制字寄存器 用于8251A的方式控制和命令控制,状态寄存 器则存放8251A的状态信息。
RxC( Receiver Clock)接收时钟
(2)与发送有关的信号
TxD(Transmitter Data)发送数据:将CPU送入的并行数据转 换成串行格式后,从TxD端输出
TxRDY( Transmitter Ready)发送数据准备好: TxRDY=1表 示发送数据缓冲器已准备好从CPU接收一个字符数据,CPU可 采用中断或查询方式输出一个数据( RxRDY=0)。 TxE( Transmitter Empty)发送器空: TxE=1表示发送移位寄 存器中已无数据可以向外部发送。此时,由TxD输出空闲位 (同步字符)。当8251从CPU接收到一个数据后,TxE=“0”。
TxC( Transmitter Clock)发送时钟
(3)数据线、时钟信号线
DB7~DB0:三态双向数据总线,可连到CPU数据总线。CPU与 8251A之间的命令信息、数据以及状态信息都是通过这组数据 总线传送的。
CLK:输入产生8251A的内部时序。CLK的频率在同步方式工 作时必须大于接收器和发送器输入时钟频率的30倍;在异步 方式工作时必须大于输入时钟的4.5倍。另外,规定CLK的周 期要在0.42~1.35μs的范围内。
(3)异步方式时,数据位仍可在5~8位范围内选用,用1位作为奇偶校 验位或不设置奇偶位。此外,8251A在异步方式下能自动为每个数据增 加1位启动位及1位、1.5位或2位停止位(由初始化程序选择)。
(4)8251A具有奇偶校验、帧校验和溢出校验三种字符数据的校验方 式,校验位的插入、检查和出错标志的建立均由芯片自动完成。
读/ 写 逻辑
调制解 调控制 电路
发送 控制 电路
TxRDY TxE TxC
接收
缓冲器
RxD
接收 控制 电路
RxRDY RxC SYNDET
(1)数据总线缓冲器
数据总线缓冲器是CPU与8251A之间的数据 接口,它包含3个8位缓冲寄存器,其中两个 寄存器分别用来存放CPU从8251A读取的状 态 信 息 或 数 据 , 一 个 寄 存 器 存 放 CPU 向 8251A写入的控制字或数据。数据总线缓冲 器将8251A的8条数据线D7~D0和CPU的系 统数据总线相连。