8251芯片介绍
可编程串行通信接口芯片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发出的发送中断请求信号。
8251芯片

可编程通信接口8251A(USART)1.8251A的基本结构8251A的基本结构包括5个功能模块(1)数据总线缓冲器——用于暂存接收,发送数据,CPU发来的命令及8251的工作状态。
(2)读/写控制逻辑——接收来自CPU控制总线的控制信号,控制数据的传送方向。
(3)接收器——从接收数据线RXD上接收串行数据,按指定方式将其转换成并行数据。
(4)发送器——接收CPU送来的并行数据,按指定方式将其转换成串行数据通过发送数据线TXD发送出去。
(5)调制解调器控制电路——提供4个通用的控制信号,即(数据终端准备好),(数据设备准备好),(请求发送)和(准许发送),以备8251A与外设联络。
2.8251A的工作过程(1)8251A发送数据的过程①当发送缓冲器为空时,信号TXRDY有效(或状态字的D0=1),以示发送器准备好,等待CPU送入数据。
②CPU将要发送的数据写入8251A的发送缓冲器;③发送的数据进行“并→串”转换;④插入起始位、奇/偶位和停止位或同步字符等,数据一位一位从TXD端串行输出。
(2)8251A接收数据的过程①在RXD端检测到起始位或同步字符;②开始在RXD线上采集数据;③将接收到的数据“串→并”转换,并进行奇偶校验和检查错误;④将采样到的、经过变换的8位数据由接收缓冲器送入数据总线缓冲器;⑤信号RXRDY有效(或状态字的D1=1),以示8251A已接收到一个数据,待CPU读取。
3.8251A的初始化在如前面已经强调过的,在使用可编程接口之前必须进行初始化,即在使用8251A进行数据传输前,对其进行编程,将相关方式指令字、命令指令字写入8251A。
8251A初始化的具体步骤如图7-3所示。
图7-3 8251A 初始化流程图4. CPU 对8251A 的操作和控制8251A 有两个端口地址,偶地址为输入/输出数据端口地址,奇地址为控制/状态端口地址。
引脚线C/与A 0连接:A 0=0,访问输入/输出数据端口A 0=1,访问控制/状态端口控制信号:、、C/、合成对8251A 的操作如表7-1所示。
串行通信和可编程串行接口芯片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,表示已经收到一个可用的数据。
可编程串行通信接口芯片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的控制字
CTM8251T_CAN

CTM8251广州致远电子有限公司 工业通讯网络事业部———————————————概述CTM8251是一款带隔离的通用CAN 收发器芯片,该芯片内部集成了所有必需的CAN 隔离及CAN 收、发器件,这些都被集成在不到3平方厘米的芯片上。
芯片的主要功能是将CAN 控制器的逻辑电平转换为CAN 总线的差分电平并且具有DC 2500V 的隔离功能。
和PCA82C251一样,该芯片符合ISO 11898标准,因此,它可以和其他遵从ISO 11898标准的CAN 收发器产品互操作。
——————————————产品特性 具有DC 2500V 隔离功能;完全符合“ISO 11898-24 V ”标准; 速率最高达1Mbit/s;在24V 系统中防止电池对地的短路; 热保护;对电磁干扰有高的抗干扰性; 至少可连接110个节点;注:CTM8251T 除具有以上特性外,还具有TVS 管防总线过压。
————————————产品应用 ◆ 汽车电子 ◆ 仪器、仪表 ◆ 石油化工 ◆ 电力监控 ◆ ……—————————————订购信息型号 温度范围 封装CTM8251 -40℃—+85℃ DIP-8Pin CTM8251T-40℃—+85℃DIP-8Pin————————————————————————————————典型应用图 1.1 CTM8251应用示例如图1所示为CTM8251的应用示例,该芯片可以连接任何一款CAN 协议控制器,实现CAN 节点的收发与隔离功能。
在以往的设计方案中需要光耦、DC/DC 隔离、CAN 收发器等其他元器件才能实现带隔离的CAN 收发电路,但现在您只需利用一片CTM8251接口芯片就可以实现带隔离的CAN 收发电路,隔离电压可以达到DC 2500V ,其接口简单,使用方便,是嵌入式系统的理想选择!修订历史版本日期原因Rev X1 2006/8/1 内部制定初稿Rev 1.0 2006/8/25 第一次发布Rev 1.1 2006/11/13 数据手册升级目录销售信息 (2)技术支持 (2)1. 功能简介 (3)2. 引脚信息 (4)2.1 CTM8251引脚信息 (4)3. CTM8251特性参数 (5)3.1 参数列表 (5)3.2 电气特性 (5)3.3 绝缘特性 (6)4. 机械尺寸 (7)4.1 CTM8251机械尺寸 (7)5. 电路连接 (8)5.1 CTM8251电路连接 (8)6. 声明 (9)销售信息如果需要购买本产品,请在办公时间(星期一至五上午8:30~11:50;下午1:30~5:30;星期六上午8:30~11:50)拨打电话咨询广州致远电子有限公司。
串行通信和可编程接口芯片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芯片无法正常工作可能是由于电源问题、接口连接不良、芯 片损坏等原因。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串行通信线路有如下3种方式:
(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发出的发送中断请求信号。
待发送器中的八位数据发送完毕时,由发送控制电路向CPU 发出T X EMPTY有效信号,表示发送器中移位寄存器已空。
因此,发送缓冲存储器和发送移位寄存器构成发送器的双缓冲结构
8251A的接收器
包括接收缓冲存储器,接收移位寄存器(串→并转换)及接收控制电路3部分。
外部通信数据从R X T端,逐位进入接收移位寄存器中。
如果是同步方式,则要检测同步字符,确认已经达到同步,接收器才可开始串行接收数据,待一组数据接收完毕,便把移位寄存器中的数据并行置入接收缓冲存储器中;如果是异步方式,则应识别并删除起始位和停止位。
这时R X DRY线输出高电平,表示接收器已准备好数据,等待向CPU输出。
8251A接收数据的速率由R X C端输入的时钟频率决定。
接收缓冲存储器和接收移位寄存器构成接收器的双缓冲结构。
数据总线缓冲存储器
是CPU与8251A之间信息交换的通道。
它包含3个8位缓冲寄存器,其中两个用来存放CPU 向8251A读取的数据及状态,当CPU执行IN指令时,便从这两个寄存器中读取数据字及状态字。
另一个缓冲寄存器存放CPU向8251A写入的数据或控制字。
当CPU执行OUT指令时,可向这个寄存器写入,由于两者公用一个缓冲寄存器,这就要求CPU在向8251A写入控制字时,该寄存器中无将要发送的数据。
为此,该接口电路必需要有一定的措施来防止。
读/写控制电路、
完成CPU对芯片的读写控制和复位功能
用来接收一系列的控制信号,由它们可确定8251A处于什么状态,并向8251A内部各功能部件发出有关的控制信号,因此它实际上是8251A的内部控制器
调制/解调控制电路
当使用8251A实现远距离串行通信时,8251A的数据输出端要经过调制器将数字信号转换成模拟信号,数据接收端收到的是经过解调器转换来的数字信号,
8251A芯片的控制字及其工作方式
控制字:PPT95页起
包括:方式选择控制字(95)、操作命令控制字(98)、状态控制字(100)、
8251的工作方式:
异步工作方式:
CPU发出接收命令,接收电路监视RxD端,发现一个起始位,开始一个字符的接收过程。
在接收手时针的作用下,接收到的数据串行进入接收移位寄存器,被移位并进行奇偶校验,再删除停止位,得到并行数据,经片内总线接收数据缓冲器,等待CPU读取,同时RxRDY引脚置高电平,且状态寄存器的RxRDY位为1
同步工作方式:
同比工作方式分为内同步和外同步:
工作于内同步:CPU发出允许接收和进入搜索指令,检测RxD引脚,将接收
的数据位送入移位寄存器,并与同步字符寄存器的内容比较,若不同,不断接收并且进行移位比较操作,知道相同出现,则SYNDET置高电平,表明同步出现。
若为双同步则需两个字符均一致。
工作于外同步:由外部电路监测同步字符,当发现同步字符后,从同步输入端SYNDET输入高电平,告知8251A,8251A就脱离对同步字符的搜索过程,高电平需维持一个接收时钟周期。
达到同步后,8251A利用接收时钟采样RxD,接收同步帧格式数据。
采得的数据送往移位寄存器,当位数达到一个字符规定的数位时,移位寄存器的内容通过片内总线送往接收数据缓冲器,同时RxRDY引脚置高电平,且状态寄存器的RxRDY位为1,表示已经收到一个可用字符。
8251与CPU的数据交换
采用查询方式,在数据交换前应读取状态寄存器。
状态寄存器D0=1(TxRDY=1),CPU可以向8251数据端口写入数据,完成串行数据的发送
状态寄存器D1=1 (RxRDY=1) ,CPU可以从8251数据端口读出数据,完成一帧数据的接收采用中断方式则用TxRDY、RxRDY引脚信号提出中断申请
利用8251A进行双击通信硬件连接图:1、内部结构见下图:
2、方式字见下图:
3、命令控制字见下图:
4、状态字如下:。