RS485串行总线可靠性的研究
扫描二维码
随时随地手机看文章
在进行嵌入式系统开发时,微处理器要与不同的设备实现互连,这就需要建立统一的通信总线标准。通信总线可分为并行总线和串行总线,并行通信速度快、实时性好,但占用的口线多,不宜于小型化产品的开发;串行通信速率虽低,但在数据通信吞吐量不是很大的微处理电路中显得更加简易、方便、灵活。串行通信总线的种类繁多,文中就当前嵌入式系统开发中最常用的RS485总线的通信可靠性做分析,希望对设计者有所帮助。
1 RS485标准
RS485是串行数据接口标准,由电子工业协会(EIA)制订并发布的,它是在RS-422基础上制定的标准,RS一485标准采用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求:接收器的输入电阻Rin≥12 kΩ;驱动器能输出±7 V的共模电压;输入端的电容≤50 pF;在节点数为32个,配置了120 Ω的终端电阻的情况下,驱动器至少还能输出电压1.5 V(终端电阻的大小与所用双绞线的参数有关);接收器的输入灵敏度为200 mV(即(V+)一(V一)≥0.2 V,表示信号“0”;(V+)一(V一)≤一0.2 V,表示信号“l”)因为RS一485的远距离、多节点(32个)以及传输线成本低的特性,使得EIA RS-485成为工业应用中数据传输的首选标准。
2 RS485数据传输的可靠性
RS485总线属于外部总线,外部总线用于与外部设备进行信息和数据交换,是设备级的。
RS一485标准所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。然而在实际应用中,往往分散控制单元数量较多、分布较远、现场存在各种干扰,使得通信的可靠性不高。为了提高RS一485总线在实际应用中的可靠性,应注意以下几个问题。
2.1 阻抗匹配
RS一485的信号线应考虑阻抗匹配问题,所谓阻抗匹配即信号线的负载应与信号线的特性阻抗相等。特性阻抗与信号线的宽度、与地线层的距离以及板材的介电常数等物理因素有关,是信号线的固有特性。阻抗不匹配将引起传输信号的反射,使数字波形产生振荡,造成逻辑混乱。由于通信载体是双绞线,它的特性阻抗为120 Ω左右,所以线路设计时,在RS一485网络传输线的始端和末端各应接1只120 Ω的匹配电阻,如图1所示,以减少线路上传输信号的反射。
RS一485标准规定接收器门限为±200 mV。这样规定能够提供比较高的噪声抑制能力,但同时也带来了一个问题:当总线电压在±200 mV中间时接收器输出状态不确定。由于UART以一个前导“0”触发一次接收动作,所以接收器的不确定状态可能会使UART错误地接收一些数据,导致系统误动作。当总线空闲、开路或短路时都有可能出现两线电压差低于200 mV的情况,必须采取一定措施避免接收器处于不确定状态。传统的做法是给总线加偏置,当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压≥200 mV),但这种方法仍然不能解决总线短路时的问题。Maxim公司的MAX3080系列S485接口芯片将接收门限移到一200 mV/一50 mV,巧妙地解决了这个问题。不但省去了外部偏置电阻,而且解决了总线短路情况下的失效保护问题。
2.3 地线与接地
电子系统的接地是一个非常关键而又常常被忽视的问题,接地处理不当经常会导致不能稳定工作甚至危及系统安全。对于RS一485网络来讲也是一样,没有一个合理的接地系统可能会使系统的可靠性大打折扣。一个典型的错误观点就是认为RS一485通信链路不需要信号地,而只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。这种处理方法在某些情况下也可以工作,但给系统埋下了隐患,主要有以下两方面的问题:
(1)共模干扰问题。
RS一485接口采用差分方式传输信号,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但应该注意的是,收发器只有在共模电压不超出一定范围(一7~+12 V)的条件下才能正常工作。当共模电压超出此范围就会影响通信的可靠,直至损坏接口。如图2所示,当发送器A向接收器B发送数据时,发送器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。那么,接收器输入端的共模电压就会达到VCM=VOS+VGPD。RS一485标准规定VOS≤3 V,但VGPD可能会有很大的幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在信号线上产生干扰电流,轻则影响正常通信,重则损坏接口。
(2)电磁辐射(EMI)问题。
驱动器输出信号中的共模部分需要一个返回通路,如果没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
因此,尽管是差分传输,对于RS一485网络来讲,一条低阻的信号地还是必不可少的。
2.4 瞬态保护
前面提到的接地措施只对低频率的共模干扰有保护作用,对于频率很高的瞬态干扰则几乎无效。因为引线电感的作用,对于高频瞬态干扰来讲,接地线实际等同于开路。这样的瞬态干扰可能会有成百上千伏的电压,但持续时间很短。在切换大功率感性负载(电机、变压器、继电器等)、闪电等过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损坏接口。对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。
图3(a)所示为隔离保护方案。这种方案实际上将瞬态高压转移到隔离接口中的电隔离层上,由于隔离层的高绝缘电阻,不会产生损害性的浪涌电流,起到保护接口的作用。通常采用高频变压器、光耦等元件实现接口的电气隔离。这种方案的优点是可以承受高电压、持续时间较长的瞬态干扰,实现起来也比较容易,缺点是成本较高。
图3(b)所示为旁路保护方案。这种方案利用瞬态抑制元件(如TVS、MOV、气体放电管等)将危害性的瞬态能量旁路到大地,优点是成本较低,缺点是保护能力有限,只能保护一定能量以内的瞬态干扰,持续时间不能很长,而且需要有一条良好的接地通道,实现起来比较困难。实际应用中可以将二者结合起来灵活运用。.隔离接口对大幅度瞬态干扰进行隔离,而旁路元件保护隔离接口不被过高的瞬态电压击穿。
2.5 通信规则
由于RS一485通讯是一种半双工通讯,发送和接收共用同一物理信道。在任意时刻只允许一台单机处于发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。半双工通讯对主机和从机的发送和接收时序有严格的要求。如果在时序上配合不好,就会发生总线冲突,使整个系统的通讯瘫痪,无法正常工作。要做到总线上的设备在时序上的严格配合,必须要遵从以下原则:
(1)复位时,主从机都应该处于接收状态。
以Maxim公司的485接口芯片MAX3082为例。MAX3082芯片的发送和接收功能转换是由芯片的RE,DE端控制的。RE=l,DE=1时,MAX3082处于发送状态;RE=O,DE=O时,MAX3082处于接收状态。由于应用系统中,主机与分机相隔较远,通信线路的总长度往往超过400 m,而分机系统上电或复位又常常不在同一个时刻完成。一般使用微处理器的一根口线连接RE,DE两端。在上电复位时,由于硬件电路稳定需要一定的时间,并且微处理器各端口复位后处于高电平状态,这样就会使总线上各个分机处于发送状态,再者上电时各电路不稳定,可能向总线发送信息。因此,如果用一根口线作发送和接收控制信号,应该将口线反向后接入MAX3082的控制端,使上电时MAX3082处于接收状态。
另外,在主从机软件上也应附加若干处理措施,例如,上电时或正式通讯之前,对串行口做几次空操作,清除端口的非法数据和命令。
(2)总线上所连接的各单机的发送控制信号在时序上完全隔开。
为了保证发送和接收信号的完整和正确,避免总线上信号的碰撞,对总线的使用权必须进行分配才能避免竞争。连接到总线上的单机,其发送控制信号在时间上要完全隔离。
总之,发送和接收控制信号应该足够完宽,以保证完整地接收一帧数据,任意两个单机的发送控制信号在时间上完全分开,避免总线争端。
3 结束语
近年来,RS485标准在工业控制自动化、交通控制自动化、楼宇自控系统等多个领域得到广泛应用,而且不少现场总总线物理层也采取RS485的电气标准。文中对当前最流行的外部总线RS-485的可靠性问题做了探讨。