串行接口芯片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. 串行通信的术语 • 同步与异步通信方式 同步方式:通信双方用统一时钟控制通信过程, 信息传输组成数据包(数据帧)。每 帧头尾是控制代码,中间是数据块, 可有数百字节。不同的同步传输协 议有不同的数据帧格式。 数据帧 包头 数据块 包尾
第10章-串行通信和可编程接口芯片8251A
1、 串行通信的基本概念 1.1串行通信的特点: 数据在单条1位宽的传输线上按时间先后一位一位 地传送; 优点:节省传输线; 缺点:数据传输率较低 主要适用于长距离、低速率的通信中。
2015年1月1日4时37分
1
1.2 串行通信的方式
异步方式与同步方式
2015年1月1日4时37分
27
4.3、8251A初始化和数据传送流程图
2015年1月1日4时37分
28
3、丢失(溢出)错误
接收时,串行数据变为并行数据后,存储在接收寄存器中。 当接收寄存器中的数据没有被取走,UART又接收到另一个 新的字符存入接收寄存器,于是第一个数据丢失,UART产 生丢失(溢出)错误 13 2015年1月1日4时37分
1.6 信号的调制和解调
在模拟通信系统(如电话网),为传送数字信号(话音信 息) ,必须经过调制和解调。
实现调制和解调两个过程的设备称为“调制解调器” (Modulator Demodulator-Modem)
方法:选取某一频率的正(余)弦模拟信号作为载波,用以 运载所要传送的数字信号。要用传送的数字信号改变载波 信号的幅值、频率或相位,使之在信道上传送;到达信道 另一端,再将数字信号从载波中取出。
2015年1月1日4时37分
2015年1月1日4时37分
22
4.1 8251的内部结构 •数据总线缓冲器
•读写控制电路
•发送器
•接收器
•调制解调控制电路
2015年1月1日4时37分
23
8251A的读/写功能表
2015年1月1日4时37分
24
4.2、8251A的编程
方式选择控制字
串行通信和可编程串行接口芯片8251A
控制线的连接
控制线用于控制8251a芯片的工作方式和状态,如起始位、 停止位、波特率等。
控制线通常由微处理器通过编程设置,以实现串行通信的参 数配置和控制。
地址线的连接
地址线用于标识8251a芯片在系统中的地址,以便微处理 器能够正确寻址和访问。
02
movwf CR ; 将值写入CR寄存器
03 movlw 0x01 ; 设置IER寄存器,允许接收中断
初始化编程
movwf IER ; 将值写入IER寄存器
```ቤተ መጻሕፍቲ ባይዱ
数据发送编程
01 发送步骤
02
将数据写入发送缓冲寄存器(THR)。
03
通过设置控制寄存器(CR)的发送使能位启动发送过
程。
数据发送编程
编程控制
通过编程控制8251A的工作模式、 波特率、数据位、停止位等参数, 实现灵活的串行通信功能。
感谢您的观看
THANKS
05 串行通信协议及8251a的 应用
RS-232C协议
定义
RS-232C是一种标准的串行通信协议,用于 连接计算机和其他设备。
特点
采用单端信号传输方式,具有高电平、低电 平两种逻辑状态,传输距离较近。
应用
常用于连接计算机和调制解调器、打印机等 低速设备。
RS-485协议
定义
RS-485是一种改进的串行通信协议,克服了RS-232C传输距离较 近的限制。
• 数据发送代码示例
数据发送编程
01
```
02
movlw 0x12 ; 要发送的数据是0x12
03
第8章 可编程串行通信接口芯片8251A
CTS(5脚):允许发送,输入。发出作为对RTS的回 答,计算机才可以进行发送数据。 DSR(6脚):数据装置就绪(即MODEM准备好),输 入。表示调制解调器可以使用,该信号有时直接接到 电源上,这样当设备连通时即有效。 DCD(8脚):载波检测,输入。表示MODEM已与电 话线路连接好。如果通信线路是交换电话的一部分, 则至少还需如下两个信号: RI(22脚):振铃指示,输入。MODEM若接到交换 台送来的振铃呼叫信号,就发出该信号来通知计算机 或终端。 DTR(20脚):数据终端就绪,输出。计算机收到RI 信号以后,就发出信号到MODEM作为回答,以控制 它的转换设备,建立通信链路。 GND(7脚):地
8251 的外部引脚
8251A初始化编程 8251A在使用之前必须进行初始化,用来设定:同步方式 还是异步方式、传输速率、字符格式、校验方式、停止位 长度等。 初始化编程时,向8251A写入的控制字分为方式控制字和 命令控制字,另外,8251A还提供一个状态字。
④X.25 第二级—国际电报电话咨询委员会CCITT提出的协议;
⑤DDCMP—美国DEC公司提出的数字数据通信信息协议。
(3)面向字符的同步通信协议 这种协议较早在二十世纪60年代就开始发展,目前仍在使用, 其典型代表是IBM公司提出的二进制同步通信协议BSC。 面向字符的同步通信协议BSC的帧格式: 该协议以若干字符组成一个信息块一起发送,一个信息块称 为一帧,用一些特殊定义的字符来定界一帧的开始、结束和 分隔不同的段以及控制整个信息交换过程。 此种协议的一般帧格式如下所示:
ETX(End of Text)称为文终符。
块校验是对前面从SOH开始,直到ETX(或ETB)进行检 验产生的校验码,可以用奇偶校验,也可以用CRC校验。
8-3串行接口芯片8251A
串行接口芯片8251A8251A基本功能⏹可用于同步和异步通信方式(通信方式通过对方式字编程实现):☐同步方式:波特率0-64Kbps,每个字符可为5~8位,可使用内部同步检测和外部同步检测,能自动插入同步字符。
☐异步方式:波特率0-19.2Kbps,每个字符可为5~8位,自动增加起始位、停止位和校验位。
时钟TxC,RxC的时钟频率为传输波特率的1,16和64倍。
⏹全双工,具有双缓冲器接收器和发送器;⏹出错检测,具有奇偶、溢出和帧错等检测电路。
8251A的内部结构8251A的内部结构主要包括:数据总线缓冲器、接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、调制/解调控制电路、读/写控制逻辑电路等数据总线缓冲器发送缓冲器发送控制电路接收缓冲器接收控制电路D0~D7SYNDETRxDRxRDY读写控制电路C / DCLKRESETRDWRCSDSRCTSDTRRTSRxCTxCTxETxRDYTxD调制解调控制电路内部总线8251A的内部结构⏹发送器:包括发送缓冲器和发送控制电路☐采用异步方式时,则由发送控制电路自动在其首尾加上起始位、奇偶校验位和停止位,然后从起始位开始,经移位寄存器从数据输出线TxD逐位串行输出。
发送速率取决于TxC接收的发送时钟频率,可以编程定义是发送速率的1、16、64倍。
8251A的内部结构☐采用同步方式,则在发送数据之前,发送器将自动送出1个或2个同步字符,然后才逐位串行输出数据。
◆如果CPU与8251A之间采用中断方式交换信息,那么TxRDY可作为向CPU发出的中断请求信号,表示发送缓冲器已空,可以接收CPU下一个数据。
◆当发送器中的8位数据串行发送完毕时,由发送控制电路向CPU发出TxE有效信号,表示发送器中移位寄存器已空。
8251A的内部结构⏹接收器:包括接收缓冲器和接收控制电路从RxD引脚上接收串行数据转换成并行数据后存入接收缓冲器。
☐异步方式:在RxD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RxRDY信号送CPU,表示已经收到一个可用的数据。
串行通信接口8251A
2)8251A的发送和接收 (1)同步发送方式。
在同步发送方式下,要在程序中将控制寄存器的TxEN位置1,并在CTS 有效的情况下,才能开始发送过程。此时,发送器先根据编程要求发送1个 或2个同步字符,然后发送数据块。在发送数据块时,发送器会根据编程要 求对数据块中的每个数据加上奇/偶校验位,当然,如在8251A编程时不要 求加奇/偶校验位,那么,在发送时就不添加任何附加位。 (2)同步接收方式。
按照数据传输时发送过程和接收过程来划分,串行通信有全双 工方式、半双工方式和单双工方式。全双工方式下系统可同时进行 发送和接收;半双工方式中输入过程和输出过程使用同一通道,因 此两者不能同时进行;而单双工方式下系统只能在一个方向传输信 息。
2021年1月30日星期六
2)按时钟对通信过程的定时方式来划分 按时钟对通信过程的定时方式,串行通信可分为同步通信和
RS-422定义了一种平衡通信接口,从而改进了RS-232通信距离短、 速率低的缺点,将传输速率提高到10 Mb/s,并允许在一条平衡线上连接 最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输 规范,后来被命名为TIA/EIA-422标准。
RS-485是EIA为了扩展应用范围于1983年在RS-422的基础上制定的, 增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上, 同时又增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围, 后被命名为TIA/EIA-485标准。
8251A和CPU之间的信号,一组是8251A和外设之间的信号,如图1-21 所示。
2021年1月30日星期六
图1-2 18251A与CPU及外设的连接关系
4.8251A的编程 1)8251A的初始化 8251A的初始化流程图如图1-22 所示。
D8.3串行接口芯片8251A
1 帧
1 到 0 的跳变作为字符的开始 LSB MSB 字符间隔(均为 1) 1、1.5 或 2 个停止位(均为 1) 1 位可选的奇偶校验位 5 到 8 位的数据位,低位在前,高位在后 起始位
说明: ①无信息传输(或间隔)时,输出必须为“1”状态(标识态); ②1到0的跳变作为字符的开始——起始位; ③起始位后为5~8位的数据位,低位在前,高位在后; ④数据位后为奇偶校验位,可设为奇或偶校验,也可不设; ⑤最后有1、1.5或2位停止位,均为“1”
注意:接口的输入和输出均为TTL电平,与RS232C 标准不符,需要加电平转换电路。
TTL MC1489 RS232C输入 MC1488 RS232C输出
接口 8251
输入 TTL
输出
0.3V
3.0V
+3V——+15V
-3V——-15V
串入
并出
图8.25 串行与并行数据的转换
3. 数据传送方式: • 单工方式——只收不发或只发不收 • 半双工方式——接收和发送使用一条通信线,收/发 分时进行 • 全双工方式——接收(输入)和发送(输出)可以 同时进行(收/发各使用1条通信线) P291 图8.30
4. 信号的调制与解调 为在模拟信道上传输数字信号,必须把数字信号转换 成适于传输的模拟信号,而在接收端再将模拟信号转 换成数字信号。前一种转换称为调制,后一种转换称 为解调。完成调制、解调功能的设备叫做调制解调器 (Modem)。 三种主要的调制方式: •幅移键控ASK(调频FM) •频移键控FSK(调幅AM) •相移键控PSK(调相PM)
计 算 机 或 外 设
计 算 机
微机系统在串行通信时必须进行串行与并行的转换
由于微型计算机是并行操作系统,在串行通信时 必须进行串行与并行之间的转换,这可以用软件或硬 件来实现。后者是用移位寄存器来完成串、并之间转 换的任务。 图8.25(a)表示的是发送的情况:在打入/移 位控制信号作用下,将来自计算机的8位并行数据同 时置入移位寄存器,然后在时钟信号作用下,每次移 出1位,经过8个时钟脉冲后,就完成了1个字节数据 的串行输出。 接收过程正好相反:在时钟信号控制下,每次接 收并移位1数据,经过8个时钟,接收1个字节数据, 再把这8位数据并行输出给计算机,这就完成了串行 到并行的转换,如图8.25(b)所示。
串行通信和可编程接口芯片8251A
ABCD
发送数据
通过将数据写入到8251A的数据寄存器中,然 后启动发送过程。
错误检测与处理
在数据传输过程中,应进行错误检测,如奇偶校 验、帧错误等,并采取相应的处理措施。
使用8251A芯片进行数据传输的示例
设置参数
首先,配置8251A的寄存器以设置数据传输 参数,如数据格式、波特率等。
发送数据
将要发送的数据写入到8251A的数据寄存器 中,然后启动发送过程。
03 8251A芯片与串行通信的 结合
8251A芯片在串行通信中的作用
数据传输
8251A芯片作为串行通信接口, 能够实现数据在串行通道上的传 输,包括发送和接收。
协议转换
8251A芯片可以将并行数据转换 为串行数据,或者将串行数据转 换为并行数据,实现不同协议之 间的转换。
信号调制与解调
8251A芯片可以对信号进行调制 和解调,以适应不同的传输介质 和距离要求。
工业控制
02
03
智能仪表
在工业控制系统中,传感器和执 行器之间的通信通常使用串行通 信。
பைடு நூலகம்
智能仪表之间的通信通常使用串 行通信,例如通过RS-485总线进 行数据传输。
02 8251A芯片介绍
8251A芯片的特点
高度集成
01
8251A是一款高度集成的串行通信芯片,内部包含波特率生成
器、数据接收器和发送器等模块。
异常处理
在协议转换过程中,应处理可能出现的异常情况,如协议不匹配、 数据格式错误等。
05 8251A芯片的常见问题与 解决方案
8251A芯片无法正常工作的问题及解决方案
总结词
无法正常工作
详细描述
8251A芯片无法正常工作可能是由于电源问题、接口连接不良、芯 片损坏等原因。
串行接口芯片8251A课件
THANKS
感谢观看
06
8251A芯片应用案例
应用场景一:串行通讯系统
总结词
8251A芯片在串行通讯系统中发挥着关键作用,能够实现数据的高速传输和可靠通讯。
详细描述
在串行通讯系统中,8251A芯片作为主控制器与多个从设备进行数据交换。通过设置不同的波特率和数据位,可 以灵活地适应不同的通讯协议和传输速率。同时,8251A芯片还支持奇偶校验和流控制功能,提高了数据传输的 可靠性和稳定性。
串行接口芯片8251a课件
contents
目录
• 8251A芯片概述 • 8251A芯片工作原理 • 8251A芯片编程与控制 • 8251A芯片接口技术 • 8251A芯片调试与测试 • 8251A芯片应用案例
01
8251A芯片概述
芯片简介
8251A是Intel公司生产的一款可编程的串行接口芯片,用于实现计算机与外部设备 之间的串行通讯。
编程实例与演示
01
02
03
04
设置波特率
演示如何设置8251A的波特 率,以便控制数据传输速率。
数据发送与接收
演示如何通过8251A发送和 接收数据。
中断处理
演示如何处理8251A产生中 断的情况。
多机通讯
演示如何使用8251A实现多 机通讯。
04
8251A芯片接口技术
接口类型与规范
接口类型
8251A芯片支持同步和异步串行通讯 接口,包括RS-232、RS-422和RS485等类型。
在工业自动化领域,8251A芯片可以 用于实现计算机与机器人、传感器等 设备之间的通讯和控制。
数据采集与控制系统
在数据采集与控制系统中,8251A芯 片可以用于实现计算机与各种外表和 控制设备之间的通讯。
第11章 可编程串行接口芯片8251A
发送允许 1:允许 0:禁止 数据终端准备好 1:迫使DTR输出0 接收允许 1:允许 0:禁止 发送断点字符 1:迫使TxD为0
图11-9 8251A命令控制字的格式
15
第11章
D7 D6 D5 D4 OE D3 PE D2 TxE D1 RxRDY D0 TxRDY 同引脚定义 奇偶错 溢出错 帧出错
2
第11章
(3)数据传送方式 串行通信通过一条信号线按顺序进
行传输,发送信息和接收信息分时使 用线路。 串行通信数据通常在两个站间进行 双向传送。 分为单工、半双工和全双工传送。
3
A
B 单工通信 接收器 (a)
单工传送: 一方发送,另 一方接收数据 半双工传送: 双方都能接收 或发送,但不 能同时接收和 发送 全双工传送: 有两条通路, 发送信息和接 收信息可同时 进行
28
1.RS-232C引脚
RS-232C接口有9针、25针等规格。
(a)25脚排列图 (b)9脚排列图 图11-14 RS-232C引脚排列
25引脚中,有4条数据线、11条控制线、3条定 时信号线、2条地信号线。另外还保留2个引脚, 有3个引脚未定义。
29
第11章
2.RS-232C的连接
RS-232C广泛用于数字终端设备,
调制解调器(Modem)是计算机在远程 通讯中采用的辅助外部设备。 发送端用调制器把数字信号转换为模拟信 号。 接收端用解调器检测从发送端送来的模拟 信号,再转换成数字信号。 调制解调器在发送端相当于D/A转换器, 在接收端相当于A/D转换器。
7
第11章
11.2 串行接口芯片8251A
9
11.2.2 8251A基本结构
D—D 7 0
第十一章可编程串行接口芯片8251
黄河科技学院计算机科学与技术教研室
-12 V 1488 发送器 TXD
+12 V
RS -232C 连接器
TTL 电平 1489 接收器
3 接收数据 RS -232C 电平
通信接口 RXD
TTL 电平
RS -232C 电平 2
发送数据
27 k -12 V +5V
1 保护地 7 信号地
图11-6 RS–232C总线接收器与发送器的连接方法
当接收端检测到一个完整的同步字后,就连续接收数据。一 (c)
标志符 地址符 控制符 CRC 校验 CRC 校验 标志符 帧数据结束,便进行16位的循环冗余校验(Cyclic Redundancy 数据场 01111110 8 位 8 位 字符1 字符2 01111110
(d) Check)——CRC校验,以校验所传送的数据中是否出现错误。 数据场 CRC 校验字符1 CRC 校验字符2 图(b)为双同步数据格式,这时利用两个同步字进行同步。 (e)
2.串行数据传送方式
A 发送器 B 接收器
A 发送器 接收器 A 发送器 接收器
(a)
B 发送器 接收器
(b)
B 接收器 发送器
(c)
图 11-2串行通信中数据的传送模式 (a) 单工通信模式 (b) 半双工通信模式 (c) 全双工通信模式
黄河科技学院计算机科学与技术教研室
(1) 单工(Simplex)通信模式:该模式仅能进行一个 方向的数据传送,数据只能从发送器A发送到接收器B。
黄河科技学院计算机科学与技术教研室
异步传送数据格式下传送的过程:
每个字符传送前,其传输线上必须处于高电平“1”
状态,这样,当传输线由“1”变为“0”状态,并持续
串行接口芯片8251A.
内部产生起始、奇偶 检验、停止位,按约定 的波特率从TxD输出。 当数据全部输出结束, 在TXD发出连续低电平 (TxE=1)。
停止位 1
奇偶位
发送移位寄存器
起始位
2. 8251A的引脚功能
8251A的引脚排列如下图所示
D2 D3 R XD GN D D4 D5 D6 D7 TXC WR CS C/D RD RXRDY
4. 发送/接收时钟
在异步串行通信中,发送端需要用一定频率的时钟 来决定发送每 l 位数据所占的时间长度(称为位宽 度),接收端也要用一定频率的时钟来测定每一位 输入数据的位宽度。 在进行串行通信时,根据传送的波特率来确定发送 时钟和接收时钟的频率。在异步传送中每发送一位 数据的时间长度由发送时钟决定,每接收一位数据 的时间长度由接收时钟决定,它们和波特率之间有 如下关系:时钟频率=n×波特率
(4)读/写控制逻辑信号
CS:片选信号,低电平有效。由CPU的IO/及地址信号经译码后供给。
C/D:控制/数据端。为高电平时CPU从数据总线读入的是状态信息;为低 电平时CPU读入的是数据。同样,C/D端为高电平时CPU写入的是命令; C/D为低电平时CPU输出数据。C/D与CPU的一条地址线相连。
(2)接收器 作用:接收器接收在RxD上的串行数据并按规定的 格式转换为并行数据,存放在接收数据缓冲器中。
工作过程:(异步方式)当8251允许接收并准备好接收数据时,监测RxD 端,当检测到起始位(低电平)后,使用16倍率的内部CLK,连续检测8 个0确认。然后按波特率移位、检测RXD,直至停止位。内部删除起始、 停止位 1 奇偶位 奇偶、停止位接收缓冲寄存器后,使 RxRDY 为高,向CPU提出中断申请。
8251A可编程串行接口芯片
• CTS # :允许传送,是输入信号,低电平有效。 允许传送,是输入信号,低电平有效。 通常是MODEM对8251A的信号的响应,当 的信号的响应, 通常是 对 的信号的响应 CTS#有效且工作命令字中的 有效且 位为1时 有效 工作命令字中的TxE位为 时 位为 8251A方可发送数据。 方可发送数据。 方可发送数据 • 如果在发送器工作过程中,TxE位变为 或 如果在发送器工作过程中, 位变为0或 位变为 CTS #变为无效,则发送器关闭之前要将已经 变为无效, 变为无效 写入的所有数据发送出去后才关闭。 写入的所有数据发送出去后才关闭。如果在最 后一个字符出现在串行数据流之前出现这种状 则最后一个字符将在CTS #变为有效和 况,则最后一个字符将在 变为有效和 TxE变为 时再发送一次。 变为1时再发送一次 变为 时再发送一次。
• CLK:工作时钟,由外部时钟源提供。为芯片 :工作时钟, 外部时钟源提供。 提供 内部电路提供定时, 内部电路提供定时,并非发送或接收数据的时 在同步方式下, 的频率要大于接收器 钟。在同步方式下,CLK的频率要大于接收器 或发送器输入时钟(RxC或TxC)频率的 倍。 频率的30倍 或发送器输入时钟 或 频率的 在异步方式下, 在异步方式下,CLK的频率要大于接收器或发 的频率要大于接收器或发 送器输入时钟频率的4.5倍 另外, 送器输入时钟频率的 倍。另外,CLK的周 的周 期要在0.4µs到1.35µs范围内。 范围内。 期要在 到 范围内
• TxRDY(Transmitter Ready):发送器准备好,输出, :发送器准备好,输出, 高电平有效。当它有效时, 高电平有效。当它有效时,表示发送器已准备好接收 CPU送来的数据字符,通知 送来的数据字符, 可以向8251A发送数 送来的数据字符 通知CPU可以向 可以向 发送数 据。CPU向8251A写入了一个字符以后,TxRDY自 向 写入了一个字符以后, 自 写入了一个字符以后 动复位。在用查询方式时,此信号作为一个状态位, 动复位。在用查询方式时,此信号作为一个状态位, CPU可从状态寄存器的 位检测这个信号;在用中 可从状态寄存器的D0位检测这个信号 可从状态寄存器的 位检测这个信号; 断方式时,此信号作为中断请求信号。 断方式时,此信号作为中断请求信号。 • TxEMPTY(Transmitter Empty):发送器空,输出, :发送器空,输出, 高电平有效。当它有效时, 高电平有效。当它有效时,指示发送器中的数据已发 送出去,已经没有要发送的字符了。当8251A从CPU 送出去,已经没有要发送的字符了。 从 接收待发的字符后,自动复位。 接收待发的字符后,自动复位。TxEMPTY既然表示 既然表示 发送已经结束,这样在半双工方式中, 半双工方式中 发送已经结束,这样在半双工方式中,CPU就从它知 就从它知 道何时切换数据的传输方向,由发送转为接收。 道何时切换数据的传输方向,由发送转为接收。此信 号可从状态寄存器的D2位检测到 位检测到。 号可从状态寄存器的 位检测到。
- 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的系 统数据总线相连。