第十章 串行接口及可编程接口芯片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。
第二部分是数据格式转换部分,包括发送缓冲器、并行数据到串行数据转换的发送移位器,接收缓冲器和串行数据到并行数据转换的接收移位器,以及发送控制电路和接收控制电路。
8251芯片介绍

(1) 单工通信:它只允许一个方向传输数据,不能进行反方向传输。
(2) 半双工通信:它允许两个方向传输数据,但不能同时传输,只能交替进行,A发B收或B发A收,这种协调可以靠增加接口的附加控制线来实现,也可用软件约定来实现。
(3) 全双工通信:它允许两个方向同时进行数据传输,A收B发的同时可A发B收,但是这两个传输方向的资源必须完全独立,A与B都必须有独立的接收器和发送器,从A到B和从B到A的数据通路也必须完全分开(至少在逻辑上是分开的)。
8251作用、特点具有同步/异步的接受/发送功能它能将并行输入的8位数据变换成逐位输出的串行信号;也能将串行输入数据变换成并行数据,一次传送给处理机。
广泛应用于长距离通信系统及计算机网络。
8251A由发送器、接收器、数据总线缓冲存储器读/写控制电路及调制/解调控制电路等5部分组成,各组成部分的工作过程:8251A的发送器包括发送缓冲存储器,CPU用OUT指令将要发送的数据送入到8251A的数据总线缓冲器,再并行送入发送数据缓冲器中。
当TxRDY有效时,将数据送移位寄存器将并行数据转换为串行数据并格式化后,经TxD引脚串行输出。
发送移位寄存器(并→串转换)及发送控制电路3部分,CPU需要发送的数据经数据发送缓冲存储器并行输入,并锁存到发送缓冲存储器中。
如果是采用同步方式,则在发送数据之前,发送器将自动送出一个(单同步)或两个(双同步)同步字符(Sync)。
然后,逐位串行输出数据。
如果采用异步方式,则由发送控制电路在其首尾加上起始位及停止位,然后从起始位开始,经移位寄存器从数据输出线T X D逐位串行输出,其发送速率由T X C端上收到的发送时钟频率决定。
当发送器作好接收数据准备时,由发送控制电路向CPU发出T X RDY有效信号,CPU立即向8251A 并行输出数据。
如果8251A与CPU之间采用中断方式交换信息,那时T X RDY作为向CPU发出的发送中断请求信号。
串行通信ppt课件

第10章 串行通信
(2)起始位的检测
必须确定起始位才能开始接收数据,即实现位同步。 数据接收时钟RCLK使用16倍波特率的时钟信号。接收器 用RCLK检测到串行数据输入引脚SIN由高电平变低后,连续 测试8个RCLK时钟周期,若采样到的都是低电平,则确认为 起始位。 确认了起始位后每隔16个RCLK时钟周期对SIN输入的数据 位进行采样一次,直至规定的数据格式结束。
10
第10章 串行通信
TxD 发送数据——串行数据的发送端。 RxD 接收数据——串行数据的接收端。 GND 信号地——为所有的信号提供一个公共的参考电平 RTS 请求发送——当数据终端设备准备好送出数据时,就发出有效的 RTS信号,用于通知数据通信设备准备接收数据。 CTS 清除发送——当数据通信设备已准备好接收数据终端设备的传送 数据时,发出CTS有效信号来响应RTS信号。 DTR 数据终端准备好——通常当数据终端设备一加电,该信号就有效, 表明数据终端设备准备就绪。 DSR 数据装置准备好——通常表示数据通信设备(即数据装置)已接通 电源连到通信线路上,并处于数据传输方式,而不是处于测试方式或 断开状态。 CD 载波检测——当本地调制解调器接收到来自对方的载波信号时,就 从该引脚向数据终端设备提供有效信号。该引脚缩写为DCD。 RI 振铃指示——当调制解调器接收到对方的拨号信号期间,该引脚 信号作为电话铃响的指示,保持有效。
16
第10章 串行通信
2.结构
其中寄存器: THR、TSR RBR、RSR LCR LSR DLH DLL MCR MSR IER IIR
17
第10章 串行通信
(1)串行数据的发送
CPU送来的并行数据存在发送保持寄存器THR中。 只要发送移位寄存器TSR中没有正在发送的数据, 发送保持寄存器的数据就送入TSR 。 与此同时,8250按照编程规定的起止式字符格式, 加入起始位、奇偶校验位和停止位,从串行数据输 出引脚SOUT逐位输出。 因为THR、TSR采用双缓冲寄存器结构,所以在 TSR进行串行发送的同时,CPU可以向8250提供下 一个发送数据到THR,这样可以保证数据的连续发 送。
串行通信和可编程串行接口芯片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-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,表示已经收到一个可用的数据。
8251可编程串行接口实验

集美大学计算机工程学院实验报告课程名称微机系统与接口技术实验名称实验四8251可编程串行接口实验实验类型设计型姓名学号日期地点成绩教师第1页共8页1. 实验目的及内容 1.1实验目的1、了解8251的内部结构、工作原理及与8086的接口逻辑;2、掌握8251的初始化编程方法,学会使用8251实现设备之间的串行通信。
1.2实验内容1)设计8251与8086CPU 的硬件连接图,分配8251的基地址为0FF00H 。
8251的CLK 引脚需接4MHZ 的时钟。
2)设计8251的硬件连接及编写程序,实现自发自收。
把内存中的字符串,依次传送出去,并接收回来,然后把接收回来的字符显示在LED 上。
使用8253作分频器提供8251的收发时钟,并给出程序流程图。
3)计算你所设计的串行通信的波特率为多少?本次设计实验中,我所设计的通信的波特率为19200,波特率因子为16。
4)设计8251的硬件连接及编写程序,实现从PC 机的串行通信测试软件向8251发送一批数据,8251接收完数据之后,再将数据依次发送回去。
使用8253作分频器提供8251的收发时钟,并给出程序流程图。
2. 实验环境星研电子软件,STAR 系列实验仪一套、PC 机一台、导线若干3. 实验方法8251是通用同步/异步接收发送器,可用作CPU 和串行外设的接口电路,它的工作各种工作方式及工作进程都是用初始化及实时控制实现的,编程时,方式指令紧接在复位后由CPU 写入,用来定义8251A 的一般工作特性;在写入方式指令的前提下由CPU 写入同步字符和命令指令用来指定芯片的实际操作。
根据实验要求,需完成一下两个方面的问题:(1)8253对收发时钟的分频。
8253的CLK 接频率发生器的2MHZ ,初值赋给104,得到收发时钟为19200HZ 。
(2)利用8251实现自发自收。
8251的方式命令字:停止位为1,产生偶校验,字符长度为8位,波特率因子为16位;命令指令字:出错标志复位,允许发送,允许接收。
可编程串行通信接口芯片8251A

• 2)在同步发送方式中,发送缓冲器在准备发送的数据前面先插入由初始化程序设 定的一个或两个同步字符,在数据中插入奇偶校验位。然后在发送时钟TXC的作用 下,将数据逐位地由TXD引脚发送出去。
能根据编程为每个字符设置1个、1.5个或2个停止位。 • (4)所有的输入输出电路都与TTL电平兼容。 • (5)全双工双缓冲的接收/发送器。
2
1.1 8251A内部逻辑与工作原理
• 8251A的结构框图如图1.1所示,可分五个主要部分:写控制逻辑电路和调制解调控制电路。
6
(3)接收缓冲器
• 1)在异步接收方式,当“允许接收”和“准备好接收数据”有效时,接收缓冲器 监视RXD线。在无字符传送时,RXD线上为高电平,当RXD线上出现低电平时,即 认为它是起始位,就启动接收控制电路中的一个内部计数器,计数脉冲就是8251A 的接收时钟脉冲RXC,当计数器计到一个数据位宽度的一半(若时钟脉冲频率为波 特率的16倍,则计数到第8个脉冲)时,又重新采样RXD线,若其仍为低电平,则 确认它为起始位,而不是噪声信号。
17
• 1.方式选择控制字:根据题意,方式选择控制字为00111000B(即38H),写入控 制端口,端口地址为91H。
• 2.命令控制字:设置为10010111B(即97H),使8251A进入同步字符检测,出错 标志复位,允许发送和接收,置引脚有效,写入控制端口,端口地址为91H。
• 3.同步字符:2个同步字符,均为3AH。 • 4.初始化程序:
9
1.3 8251A的控制字
第十章 串行通信

A机 2 TXD 3 RXD 7 2 3 7
B机 TXD RXD
4 5 6 20
4 5 6 20
2.远距离连接(>15m) 1)需用MODEM和专用电话线 2)需用2~9条信号线(在接口与MODEM之间)
计 算 机 口 TXD 2 RD X RTS ┇ CTS DSR SG DCD 调 制 解 调 器 调 制 解 调 器 TXD RXD RTS CTS DSR SG DCD 2 终 ┇ 端
三、RS-485接口标准 三、RS-485接口标准
1.特点: 1.特点: (1)兼容RS-422A,扩展RS-422A的功能; )兼容RS-422A,扩展RS-422A的功能; (2)允许在电路中有多个发送器和允许一个发送器 驱动多个接收器,多达32个收/ 驱动多个接收器,多达32个收/发器; (3)搞干扰能力强,传送距离远,传输速率高。 数传率:100Kbps 数传率:100Kbps <1.2Km 不用MODEM 不用MODEM 9.6Kbps <15Km 10Mbps <15m
2、串行同步通讯:以数据块为信息单位传送。数据块内是同步的。
SYN SYN SOH 标题 STX
数据块 ETB/ETX 块校验
串行异步通信协议
1.格式 ①每个字符总是以起始位开始(“0”),以停止位(“1”)结 束。 ②字符之间没有时间间隔要求 ③字符后一位校验位(可没有)
1 0 1 0 0 起始位 0 低 数据位
3.全双工(Full Duplex) 数据的发送和接收分别由两根可以在两个不同的站点同 时发送和接收的传输线进行传送,通信双方都能在同一时刻 进行发送和接收操作,选择的传送方式称为全双工制。
A站 发送器 接收器
B站 发送器 接收器
《微机原理与接口技术》课程总结

《微机原理与接口技术》课程总结本学期我们学习了《微型计算机原理与接口技术》,总的来说,我掌握的知识点可以说是少之又少,我感觉这门课的内容对我来说是比较难理解的。
这门课围绕微型计算机原理和应用主题,以Intel8086CPU为主线,系统介绍了微型计算机的基本知识、基本组成、体系结构、工作模式,介绍了8086CPU的指令系统、汇编语言及程序设计方法和技巧,存储器的组成和I/O接口扩展方法,微机的中断结构、工作过程,并系统介绍了微机中的常用接口原理和应用技术,包括七大接口芯片:并行接口8255A、串行接口8251A、计数器/定时器8253、中断控制器8259A、A/D(ADC0809)、D/A (DAC0832)、DMA(8237)、人机接口(键盘与显示器接口)的结构原理与应用。
在此基础上,对现代微机系统中涉及的总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术作了简要介绍。
第一章:微型计算机概论(1)超、大、中、小型计算机阶段(1946年-1980年)采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理(2)微型计算机阶段(1981年-1990年)微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。
(3)计算机网络阶段(1991年至今)。
计算机的数值表示方法:二进制,八进制,十进制,十六进制。
要会各个进制之间的数制转换。
计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。
第二章:80X86微处理器结构本章讲述了80X86微处理器的内部结构及他们的引脚信号和工作方式,重点讲述了8086微处理器的相关知识,从而为8086微处理器同存储器以及I/O设备的接口设计做了准备。
本章内容是本课程的重点部分。
第三章:80X86指令系统和汇编语言本章讲述了80X86微处理器指令的多种寻址方式,讲述了80X86指令系统中各指令的书写方式、指令含义及编程应用;讲述了汇编语言伪指令的书写格式和含义、汇编语言中语句的书写格式。
第10章8251A

图10.4 8251A内部结构框图
D2 D3 RXD GND
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
1: 接收允许 0: 屏蔽
0: 屏蔽
图10.10 8251A的控制字格式
四、状态字
CPU向8251A发送各种操作命令,许多时候是依据8251A当前 的运行状态决定的。CPU可在8251A工作过程中利用IN指令读取 当前8251A的状态字,以控制CPU与8251A之间的数据交换。状 态字的格式如图10.11所示。
0
CPU由8251A输入数据
0
CPU向8251A输出数据
1
CPU读取8251A的状态
1
CPU向8251A写入控制命令
五、调制解调器控制电路
利用8251A进行远距离通信时,发送方要通过调制解调器将 输出的串行数字信号变为模拟信号,再发送出去。接收方也必
须将模拟信号经过调制解调器变为数字信号,才能由串行接口
10位/字符×120字符/秒=1200位/秒=1200波特 传送每位信息所占用的时间为: 1秒/1200=0.833 毫秒
10.1.4 串行接口芯片UART和USART 常用的通用串行接口芯片有两类,一种是仅用于异步通信的
串行通信和可编程接口芯片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芯片无法正常工作可能是由于电源问题、接口连接不良、芯 片损坏等原因。
8251芯片

接收端初始化程序和接收控制程序
2、发送器DB 数据发送来自冲器工作过程 CPU执行输出指令, 并行数据→发送缓冲器。
发送缓冲器→发送移位寄 存器,向CPU提出中断
异 或 门 0
内部 CLK ÷
申请(TxRDY=1)。
波 特 率
TXD SOUT
内部产生起始、奇偶 检验、停止位,按约定 的波特率从TxD输出。 当数据全部输出结束, 在TXD发出连续低电平 (TxE=1)。
2.两台微型计算机通过8251A相 互通信的举例
分析:初始化程序由两部分组成: ⑴是将一方定义为发送器。发送 端CPU每查询到TXRDY有效,则 向8251A并行输出一个字节数据; ⑵是将对方定义为接收器。接收 端CPU每查询到RXRDY有效,则 从8251A输入一个字节数据,一直 进行到全部数据传送完毕为止。
M O D E M 波特率 发生器
电 话 线 接 口
RTS(Request to Send)数据终端向 MODEM发出请求表 示数据已准备好需 要发送
8251A
RxC TxC 数据终端设备DTE
电 CTS(Clear to Send) 话 MODEM回应终端, 线 若TxEN有效8251可
以发送数据,发送 结束CTS=“1”。
输出第一个同步字符 双同步 输出第二个同步字符
N
输出命令字 复位 传送数据
Y
N
输入状态字
N
传送完
Y
1. 8251复位 电源上电,8251自动进入复位状态,为了确保在送方式字 和命令字之前8251正确复位,可向8251的控制口连续写 入3个“0”,然后再写入一个复位控制字(40H),用软 件使8251可靠复位。 注:对8251的控制口进行一次写入操作,需有写恢复时间。 (写恢复时间一般为16个时钟周期) DELAY1: MOV CX,02H
微机原理与接口技术课程总结

微机原理与接口技术课程总结篇一:《微机原理与接口技术》课程总结《微机原理与接口技术》课程总结班级:12电子专升本学号:1205061044姓名:陶翠玲主要内容:《微机原理与接口技术》是我们这学期开的比较难学的一门课,课程紧密结合通信工程专业的特点,围绕微型计算机原理和应用主题,以intel8086cPU为主线,系统介绍了微型计算机的基本知识、基本组成、体系结构、工作模式,介绍了8086cPU的指令系统、汇编语言及程序设计方法和技巧,存储器的组成和i/o接口扩展方法,微机的中断结构、工作过程,并系统介绍了微机中的常用接口原理和应用技术,包括七大接口芯片:并行接口8255a、串行接口8251a、计数器/定时器8253、中断控制器8259a、a/d(adc0809)、d/a(dac0832)、dma(8237)、人机接口(键盘与显示器接口)的结构原理与应用。
在此基础上,对现代微机系统中涉及的总线技术、高速缓存技术、数据传输方法、高性能计算机的体系结构和主要技术作了简要介绍。
具体介绍:第一章:主要了叙述微型计算机的发展构成和数的表示方法(1)超、大、中、小型计算机阶段(1946年-1980年)采用计算机来代替人的脑力劳动,提高了工作效率,能够解决较复杂的数学计算和数据处理(2)微型计算机阶段(1981年-1990年)微型计算机大量普及,几乎应用于所有领域,对世界科技和经济的发展起到了重要的推动作用。
(3)计算机网络阶段(1991年至今)。
计算机的数值表示方法:二进制,八进制,十进制,十六进制。
要会各个进制之间的数制转换。
计算机网络为人类实现资源共享提供了有力的帮助,从而促进了信息化社会的到来,实现了遍及全球的信息资源共享。
第二章:介绍了8086微型机算计系统的组成原理和体系结构(1)BiU与EU的动作协调原则:总线接口部件(BiU)和执行部件(EU)按以下流水线技术原则协调工作,共同完成所要求的信息处理任务:①每当8086的指令队列中有两个空字节,或8088的指令队列中有一个空字节时,BiU就会自动把指令取到指令队列中。
串行接口芯片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芯 片可以用于实现计算机与各种外表和 控制设备之间的通讯。
8251芯片

8251芯片8251芯片是一种通讯接口芯片,主要用于计算机之间或计算机与外设之间的数据传输。
该芯片通过串行和并行数据传输的方式,实现了计算机之间的数据传输和通信功能。
8251芯片提供了串行和并行两种模式的通信接口。
在串行模式下,数据以位的形式传输,适用于长距离传输和低速传输场景。
在并行模式下,数据以字节或字的形式传输,适用于短距离传输和高速传输场景。
8251芯片具有以下主要功能:1. 数据格式控制:8251芯片支持多种数据格式,包括异步串行传输、同步传输和标准格式传输等。
用户可以根据需要选择合适的数据传输格式。
2. 时钟控制:8251芯片提供了多个时钟源,可以根据需要选择不同的时钟源。
同时,芯片还支持外部时钟源的输入。
3. 数据传输控制:芯片可以根据指令进行数据传输的启动、停止和暂停等控制操作。
同时,芯片还支持自动重整、自动请求和自动调整等功能,可以提高数据传输的效率。
4. 错误检测:8251芯片提供了丰富的错误检测和纠错功能,包括奇偶校验、帧错误检测等。
可以有效减少数据传输过程中的错误和丢失。
5. 缓冲区管理:芯片内置了数据缓冲区,可以存储待传输的数据。
通过合理调整缓冲区大小和设置触发阈值,可以实现高效的数据传输。
8251芯片广泛应用于计算机和外设之间的数据传输和通信领域。
它可以与各种外设进行通信,包括打印机、调制解调器、终端设备等。
它不仅提供了稳定可靠的数据传输功能,还具备丰富的扩展接口,可实现更多的功能拓展。
总结来说,8251芯片是一种功能强大的通讯接口芯片,通过串行和并行的数据传输方式,实现了计算机之间或计算机与外设之间的数据传输和通信功能。
它具有多种数据格式控制、时钟控制、数据传输控制、错误检测和缓冲区管理等功能,广泛应用于计算机和外设之间的通信领域。
串行接口芯片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)。
性要求不高,只要相近就可以,所以收发双方可用各自独 立的同频时钟。 简言之:字符间异步,字符内部各位同步。
16
回顾 异步通信方式(续)
数据格式
每个字符(每帧信息)由4个部分组成:
1位起始位,规定为低电0; 5~8位数据位,即要传送的有效信息; 1位奇偶校验位; 1~2位停止位,规定为高电平“1”。
1. 8251A的内部结构和引脚 2. 8251A的初始化编程 3. 8251A应用举例
15
回顾
异步通信方式
概念
指数据传送以字符为单位,字符与字符间的传送是完全异 步的,位与位之间的传送基本上是同步的。
特点
以字符为单位传送信息。 相邻两字符间的间隔是任意长。 收、发间字符传送的同步是依靠协议来实现的,而字符内
微机原理与汇编语言
第十章 串行接口及可编程接口芯片8251A
合肥工业大学计算机与信息学院 2013-09
第十章 串行接口及可编程接口芯片8251A 数据传输(通信)
并行传输
串行传输
2
第十章 串行接口及可编程接口芯片8251A
10.1 串行通信概述 10.2 可编程串行通信接口芯片8251A 10.3 RS-232C串行口
异步通信方式
字符与字符间的传送是完全异步的,位与位之间的传送基 本上是同步的(借助起始位和停止位同步)。
传送速度一般在50~19200波特之间。 常用于计算机和CRT终端、字符打印机之间的通信。
8
10.1 串行通信概述
串行传送速率
波特率(Baud Rate)
定义:单位时间(每秒)内传送二进制数据的位数。它是 衡量串行数据传送速度的重要参数。
单位:波特(位/秒) 计算方法:波特率=数据传送速率(字符/秒)×字符位数
【举例】一个串行字符由1个起始位、7个数据位、1个奇偶 校验位和1个停止位组成,每秒传送120个字符,则数据传 送的波特率为:
120字符/秒×10=1200位/秒=1200波特(即每位占用0.833毫秒)
异步串行传送常用的波特率:110、300、600、1200、 2400、4800、9600、19200、28800、36400、57600波特。
异步通信的每个字符由四部分组成。
通信帧
①
②
③ ④
★ 两个相邻字符间的间隔叫空闲位(MARK状态,高电平),任意个。
6
10.1 串行通信概述
串行通信的两种基本工作方式(续)
同步通信方式(SYNC)
以数据块(一组字符)为单位。通信中每个字符间的时间
间隔是相等的,而且每个字符中各相邻位代码间的时间间
表示已收到一个字符数据,可送往CPU。 当CPU从接收数据缓冲器读取该字符后,复位为低电平,待
接收到一个新字符,又变为高电平。 该信号与CPU的工作方式可以是中断方式或查询方式(作为
联络信号)。
28
10.2.1 8251A的内部结构和引脚
接收器和接收控制电路(续)
SYNDET/BRKDET(Sync Detect/Break Detect)——同步检 测/断点检测,输入或输出。
基本性能
可用于同步或异步传送。 在同步方式中,可进行5~8位字符的操作,可用内部或
外部同步,自动插入同步字符。 在异步方式中,可进行5~8位字符的操作,波特率系数
可为1、16或64。 可产生1、1.5或2位的停止位,可检查假启动位;自动
检测和处理终止字符。 波特率:0~19.2K(异步),0~64K(同步)。 全双工的工作方式:其内部提供具有双缓冲器的发送器
通用异步收发器UART(续)
功能
双向处理
何谓 奇/偶 校验?
接收外设输入的异步串行数据并转换为CPU所需并行数据。 将CPU的并行数据转换成串行数据并输出。
奇偶校验——检测长距离传送中可能发生的错误。
发送时,检查要传送字符的“1”的个数,并在奇偶校验位 上添上“1”或“0”,使“1”的总数(包括校验位本身) 为偶数或奇数。
26
10.2.1 8251A的内部结构和引脚
接收器和接收控制电路(续)
同步通信方式
监视RxD引脚,以一次一位的方式将数据送至接收寄存器。 每接收一位,将接收寄存器与存放同步字符的寄存器比较。
若不相等,则接收下一位后继续比较;若相等,则表示搜 索到同步字符,置SYNDET=1,表示已达到同步。 若是双同步,必须要连续检测到两个同步字符后才认为已 达到同步。 同步后,根据RxC引脚送入的同步时钟,逐个移位RxD引脚 上的数据位,并按规定位数将其送至接收数据缓冲器,同 时发出RxRDY信号通知CPU。
操作,并输出状态信息和控制信息。
数据总线 缓冲器
状态寄存器 控制寄存器 接收缓冲寄存器
中断请求
控制 读 信号 写
复位
发送与 接收 控制逻辑
接收移位寄存器 发送移位寄存器
接收时钟 RxC 串行数据输入 SIN或RxD 串行数据输出 SOUT或TxD
地址
CS
译码Biblioteka 发送保持寄存器发送时钟 TxC
11
10.1 串行通信概述
半双工
T
发送与接收之间只有一根传输线。
但能分时交替进行双向传送。 R
全双工
发送与接收之间有两条传输线。
T
能双向同时传送。
R
R
T R
R T
5
10.1 串行通信概述
串行通信的两种基本工作方式
异步通信方式(ASYNC)
传送效率低
以一个字符为传输单位。通信中两个字符间的时间间隔是 不固定的,但在同一个字符中的两个相邻位代码间的时间 间隔是固定的。
隔也是固定的。
①
②
1~2个
字符1 字符2
字符n
收、发两端需用同一个时钟源作为时钟信号。 同步通信传输效率高,适合于快速、大量数据的传送。
通信线路上不会出现空状态,永远有内容在发送。 不是数据字符或校验字符,就是同步字符。
7
10.1 串行通信概述
小结
同步通信方式
字符与字符之间、字符内部的位与位之间都是同步。 传送速度最高可达500000波特。 需要配置结构复杂的同步时钟电路。 常用于计算机之间的通信,或主机与外设间的通信。
步的要求很严格,要求收/发双方必须以同一时钟来控制 数据的发送和接收。
18
回顾 同步通信方式(续)
数据格式
每个数据块(信息帧)由3个部分组成:
1~2个同步字符作为一个数据块(信息帧)的起始标志。 n个连续传送的数据。 1~2个字节循环冗余校验码(CRC)。
…
同步字符
19
10.2.1 8251A的内部结构和引脚
接收时,检查字符的每一位以及奇偶校验位的“1”的个 数,以确定是否发生传送错误。
12
10.1 串行通信概述
通用异步收发器UART(续)
常设的错误标志
奇偶错误
接收时对字符中“1”的个数进行统计,若与字符格式中设 的奇偶性不一致,则置位该标志,发奇偶错信息。
帧错误
接收的字符格式不符合规定(如无停止位等),则置位该标 志,发帧错误信息。
C/D——控制/数据信号,输入。
高电平时,表示数据总线传输的是控制信号或状态字。 低电平时,表示数据总线传输的是数据信息。
CS RD WR
0
0
1
0
1
0
0
0
1
0
1
0
C/D
执 行 的 操 作
0
CPU由8251A输入数据
0
CPU向8251A输出数据
1
CPU读取8251A的状态
1
CPU向8251A写入控制命令
读写控制电路
作用:接收CPU的控制信号和命令字,用以决定8251A的 工作方式,并向内部其它功能部件发出控制信号。
对应引脚<来自CPU的控制信号>(6根)
RESET——复位信号,输入,高电平有效。
使8251A进入空闲状态,等待初始化编程。
CLK——主时钟信号,输入。
用来产生内部定时信号。 同步方式下,CLK的频率必须比TxC和RxC大30倍。 异步方式下,CLK的频率应比TxC和RxC大4.5倍。
同步传送的波特率高于异步传送方式,最高能到上百千波 特。
9
10.1 串行通信概述 串行通信接口芯片
通用同步异步收发器UASRT——8251A 通用异步收发器UART
10
10.1 串行通信概述
通用异步收发器UART
组成
接收器:负责数据接收,并把串行码转换为并行码。 发送器:负责把并行码转换为串行码,并执行发送任务。 控制器:主要用来接收CPU的控制信号,执行CPU所要求的
RD——读信号,输入,低电平有效。
表示CPU从8251A读出数据或状态信息。
24
10.2.1 8251A的内部结构和引脚
读写控制电路(续)
WR——写信号,输入,低电平有效。
表示CPU把数据或控制字写入8251A。
CS——片选信号,输入,低电平有效。
表示8251A被CPU选中,可以对它进行读写操作。
送到方式寄存器、控制寄存器和同步字符寄存器中。
内部包含3个8位双向三态缓冲器:
状态缓冲器:用IN指令从中读取状态信息。 接收数据缓冲器:用IN指令从中读取数据信息。 发送数据/命令缓冲器:存放CPU用OUT指令向8251A写入的
数据或命令字。
对应引脚(8根)
D7~D0
23
10.2.1 8251A的内部结构和引脚