单片机串行通信的结构组成及工作原理解析
扫描二维码
随时随地手机看文章
串行通信方式是数据传输的一种方式。这种方式操作简单,连接少,传输距离远,因而在信息传送,尤其是在远距离的传送中得到了广泛的应用。目前常用的串行通信方式有RS -232 C,RS - 422 A,RS - 423 A及RS - 485 A等。RS - 232 C是通用串行接口,以电平形式传输信号,只需3根线就可在两个设备之间交换信息,最高传输速率为20 Kb/s,此时允许设备之间的最远距离为15 m。为了改进RS - 232C传输速率低,传输距离短的不足,EIA又推出了RS - 422 A,RS - 423 A.RS - 485 A等。RS - 422 A采用差分形式传输信号,每个通道用两根信号线,在电路中规定只有一个发送器,其最高传输速率为10 Mb/s,在此速率下的最远传输距离为120 m;若将波特率降到90 Kb/s,则通信距离可延长至1200 m。RS - 423A采用不平衡差分形式传送信号。RS - 485A则允许多个发送器的存在。它们都有一些共同的特点,即传输速率低,传输速率和传输距离相互影响,对传输介质要求高,一般要求用屏蔽电缆。当传输距离较远或连接的设备较多时,会增加系统的成本。
随着计算机应用的不断发展,在有些场合需要高速度、远距离传输信号,同时又要尽量降低成本。为满足这一要求,本节以单片机之间的串行通信为例,介绍一个可以实现高速度、远距离的串行通信装置。
一、单片机串口的特点
目前多数单片机都配有串行接口,如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机与单片机之间的高速度、远距离串行通信。