单片机串行通信的结构组成及工作原理解析
出处:电子发烧友 发布于:2019-06-24 14:01:35
随着计算机应用的不断发展,在有些场合需要高速度、远距离传输信号,同时又要尽量降低成本。为满足这一要求,本节以单片机之间的串行通信为例,介绍一个可以实现高速度、远距离的串行通信装置。
一、单片机串口的特点
目前多数单片机都配有串行接口,如51单片机和MCS - 96等系列单片机都配有一个全双工的串行接口,可以同时收、发信号。以51单片机串口为例,共有4种串行工作方式,波特率可由软件设置,并在片内定时器产生,接收或发送均可工作在中断或查询方式,使用比较灵活。该接口一般通过接口电路工作在RS - 232C或RS - 422A方式,因此,它具有RS - 232 C或RS - 422A的特点。其4种工作方式如下。
1.方式O
同步移位寄存方式,其波特率为fosc/12。fsc为振荡器的振荡频率,数据由RxD端输入,同步移位脉冲由TxD端输出,发/收均为8位数据。一般利用这种方式扩展并行接口、键盘或显示接口等。
2.方式1
串行工作方式,RxD接收,TxD发送,每帧信息为10位,包括1位起始位、8位数据位和1位停止位,其收/发的波特率为:
式中:SMOD=1或0,由软件设定;N为软件设置的定时器自装载常数,其值为0~255。当SMOD-1.N-255时,波特率,为fosc/192;当SMOD=0,N=O时,波特率,为:
3.方式2
串行工作方式,每帧11位数据,包括1位起始位、8位数据位、1位可编程位、1位停止位,发送时可编程位应根据需要设定为O或1。其收/发的波特率为:
当SMOD=1时,可得波特率为fosc/32;当SMOD-0时,可得波特率为fosc/64。
4.方式3
串行通信方式,发送格式同方式2,收/发波特率同方式1,即这种方式所能得到的波特率为fosc/192,波特率为ose/98 304。
比较3种串行工作方式可知,方式2的波特率。对于51单片机,当选fosc=12 MHz(51单片机晶振)时,可得
这些值远高于目前常用的串口的波特率,因此在单片机(51单片机等)之间串行通信时,在晶振选定的情况下,只有选方式2,方可得到的波特率。而要远距离收/发信号,还必须在电路上采取一定的措施。为此,介绍一个可以远距离收/发信号的电路。
二、组成框图
1.信号的表示
(1)1的表示
当TxD输出1时,通过收/发电路后,在总线上出现高阻信号,接收器通过收/发电路将高阻信号变为1,送RxD接收。当串口不工作时,TxD为1,对应总线为高阻态。
(2)0的表示
用一个周期的矩形波表示0,矩形波的周期为振荡周期的32或64倍。当TxD输出0时,通过收/发电路后,在串行总线上出现一个周期的矩形波。该信号通过接收器收/发电路转换后,在RxD端又变为0。
2.收/发电路的组成框图
收/发电路的组成框图如图1 - 17所示。该装置由控制电路、分频器、输出驱动、差动输入、耦合变压器等组成。控制电路由一片GAL电路或由门电路组成,输出驱动采用三态门,差动输入利用三片运放组成两级比较电路,分频器提供控制电路工作的基准和状态变化的条件,耦合变压器用来实现信号的输入或输出。
三、工作原理
1.信号输出
当TxD为1时,A,B两线信号为0,C线信号为1,三态门关闭,输出高阻信号;当TxD为0时,C线为0,三态门打开,A线由0变1,A’输出高电平,B线保持为0,B’输出低电平。持续32或16个振荡周期后,电路状态改变,A线由1变O,B线由0变1,C线继续为0,A’输出低电平,B,输出高电平。经过32或16个振荡周期后,0发送完毕,电路恢复原态,通过耦合变压器,在串行总线上有一个矩形波出现。
2.信号输入
串行总线上的信号经耦合变压器,送到接收器的差动输入电路。
当总线上出现高阻信号时,运放Ai的输出为O。该信号分别送到运放A2和A3的输入端,经过比较后,A2和A3的输出也为0,经过控制电路后,使RxD为1。
当总线上出现矩形波信号时,若前半周T+为高电平,后半周T+为低电平,则:
①前半周
T+=1,T-=O
经A1差动放大后,其输出为低电平。经过A2和A3后,A2的输出保持为0;而A3的输出则由O变1。这两个信号都送至控制电路,并使RxD由1变O,同时开始定时。
②后半周
T+ =0.T_=1
经Ai后,A1输出变为高电平,再经A2和A3的比较,A2的输出由0变1,A3则输出O,再经控制电路后,维持RxD为0这一状态,直到定时时间或输入信号改变。
控制电路保证只有E线先由O变1,接着F线由0变1时,RxD才会由1变O,并持续32/64个振荡周期,否则RxD保持为1。
3.可靠性措施
(1)本装置输出时
收/发电路的输入端与输出端连在一起,因此当本装置输出时,输入端同样也有响应。为便于区分输入端的信号是来自装置自身还是来自总线,输出信号经变压器倒相后输出。这样外来信号就与内部信号有180。的相位差,而接收装置只对其中一种信号有响应,因而输入电路只对来自总线的信号作出响应。
(2)干扰信号引入时
当干扰信号经过总线串入时,运放A1,A2和A3的输出端也要改变,但干扰信号一般都是不规则信号,不会与本装置输入电路要求的矩形波信号完全一样。所以,尽管输入电路有输出,但不会引起控制电路的状态发生变化,也就不会影响RxD的状态。
本例介绍的串行通信装置,组成简单,成本低,操作方便,只需两根线就可在两个设备之间交换信息;利用高阻差分电路作输入端,只要两根线上有信号差,输出就有变化,可在1 200 m范围内以187.5 Kb/s的速率可靠地传输信息;对传输线的要求低,普通双绞线就可连接两个设备,不需要屏蔽电缆,对导线无特殊要求,当传输距离较远时,可以大大降低系统的成本;采用独特的信号传输方式和结构,有很强的抗干扰能力,利用本装置不影响单片机串口的操作方式。因此,本装置是实现单片机之间高速度、远距离串行通信的一种比较理想的装置。若给PC机配上这类装置,还可实现PC机与单片机之间的高速度、远距离串行通信。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- Microchip 发布PIC16F13145系列MCU,促进可定制逻辑的新发展2024/4/23 15:34:17
- 什么是MCU2024/3/25 17:05:40
- 了解GD32单片机和STM32单片机2024/3/13 14:17:13
- STM32F103单片机概述2024/3/13 14:13:33
- 什么是DSP?DSP的分类2024/1/22 16:38:45