随着数据采集系统的广泛应用,通常由单片机构成的应用系统,如仪器仪表、智能设备等都需要与PC机之间交换数据,实现与PC机之间的通信,以充分发挥PC和单片机之间的功能互补、资源共享的优势.RS-485作为一种多点、差分数据传输的电气规范现已成为应用最为广泛的标准通信接口之一,这种通信接口允许在简单的一对双绞线上进行多点、双向通信.它具有噪声抑制能力、数据传输速率可调、传输距离远及可靠性高等优点.在工厂自动化、工业控制、小区监控、水利自动测量等领域,广泛使用RS-485来实现单片机与PC机之间的远程通信。
RS-485方式构成的多机通信原理在由工业计算机或单片机构成的多机串行通信系统中,一般采用主从式结构,即从机不主动发送命令或数据,一切都由主机控制.并且在一个多机通信系统中,只有一台单机作为主机,各从机之间不能相互通信,即使有信息交换也必须通过主机转发.采用RS-485构成的多机通信原理框图如图l所示.
但RS-485总线在抗干扰、自适应、通信效率等方面仍存在缺陷,一些细节的处理不当常会导致通信失败甚至系统瘫痪等故障,特别是在比较复杂、恶劣的应用环境下,现场干扰较多,因此,提高RS-485总线的运行可靠性至关重要.现在介绍一下提高RS-485通信可靠性的一些措施.
提高RS-485通信可靠性的一些措施1.网络配置RS-485支持半双工或全双工模式,网络拓扑一般采用终端匹配的总线型结构,不支持环形或星型网络.
最好采用一条总线将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低.除此之外,还应注意总线特性阻抗的连续性,在阻抗不连续点也会发生信号的反射.总之,应该提供一条单一、连续的信号通道作为总线.
网络节点数与所选RS-485芯片驱动能力和接收器的输入阻抗有关,为了扩展总线节点数,可增大收发器输入电阻,如MAX487、MAxl487的输入电阻增加至48kΩ以上,节点数就可增加至128个.实际使用时,因线缆长度、线径、网络分布、传输速率不同,实际节点数均达不到理论值.网络上节点数超过50或速率大于9.6kbpS时,工作可靠性明显下降.
2.总线匹配对RS-485总线是否进行终端匹配取决于数据传输速率、电缆长度及信号转换速率.只要数据速率在250kbpS以内,电缆长度不超过16m,一般可以不加终端匹配.
当需终端匹配时,有多种匹配方案可以选择,最简单的就是在总线两端各接一只阻值等于电缆特性阻抗的电阻,一般在100~120Ω(如图2a),能减少由于不匹配而引起的反射、吸收噪声,有效地抑制了噪声干扰.但匹配电阻要消耗较大电流,不适用于功耗限制严格的系统.
一种比较省电的匹配方案是RC匹配(如图2b),利用一只电容c隔断直流成分,可以节省大部分功率,但电容c的取值是个难点,需要在功耗和匹配质量间进行折衷.除上述两种外,还有一种采用二极管的匹配方案(如图2c),这种方案虽未实现真正的匹配,但它利用二极管的箝位作用,迅速削弱反射信号达到改善信号质量的目的,节能效果显着.
3.通信速度和通信可靠性由于485总线是异步半双工的通信总线,在某一个时刻,总线只可能呈现一种状态,所以这种方式一般适用于主机对分机的查询方式通信,总线上必然有一台始终处于主机地位的设备在巡检其它的分机,选用合适的通信协议及控制方式非常重要.现在一般采用的是数据包通信方式,通信数据是成帧成包发送.
在485芯片的通信中,尤其要注意对485控制端DE的软件编程.为了可靠地工作,在485总线状态切换时需要做适当延时,再进行数据的收发.具体的做法是在数据发送状态下,先将控制端置"1",延时1mS左右的时间,再发送有效的数据,一包数据发送结束后再延时1mS后,将控制端置"0".这样的处理会使总线在状态切换时,有一个稳定的工作过程.
4.失效保护RS-485标准规定接收器门限为±200mV,但是,当总线电压在±200mV中间时接收器输出状态不确定.
由于uART以一个前导"0"触发一次接收动作,所以,接收器的不定态可能会使uART错误地接收一些数据,导致系统误动作.一般的做法是给总线加偏置,当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压≥200mV).
如将接收门限移到-200mV/-50mV,也可很好地解决这个问题.
5.地线与接地由于工程环境比较复杂,现场常有各种形式的干扰源,电子系统的接地是一个非常关键而又常常被忽视的问题,接地处理不当经常会导致不能稳定工作甚至危及系统安全.所以485总线一定要有良好的接地及保护措施.
虽然RS-485接口采用的是差分传输方式,具有一定的抗共模干扰的能力,但当共模电压超过RS-485接收器的极限接收电压,即大于+12V或小于-7V时,将在信号线上产生干扰电流,轻则影响正常通信,重则损坏接口.另外就是电磁辐射问题,驱动器输出信号中的共模部分需要一个返回通路,如果没有一个低阻的返回通道(信号地)就会以辐射的形式返回,源端整个总线就会像一个巨大的天线向外辐射电磁波.
因此,尽管是差分传输,对于RS-485网络来讲一条低阻的信号地还是必不可少的,接地示意图如图3所示.一条低阻的信号地将两个接口的工作地连接起来.使共模干扰电压VGPD被短路.这条信号地可以是额外的一对线(非屏蔽双绞线)、或者是屏蔽双绞线的屏蔽层.
这样的接地措施只对低频率的共模干扰有保护作用,对于频率很高的瞬态干扰就无能为力了.这样的瞬态干扰可能会有成百上千伏的电压,但持续时间很短.如果不加以适当防护就会损坏接口.对于这种瞬态干扰可以采用隔离或旁路的方法加以防护.通常采用光耦、带隔离的DC-DC、RS-485芯片构筑电路,或使用二次集成电路,如PSl480、MAXl480/MAx1490等,隔离电压可以到2500V,隔离电路如图4所示.
结论经过以上的软硬件共同处理,RS-485总线在应用系统的通信能力可靠性将大大提高,在通常的环境条件下,基本能满足远距离数据通信的需要.
RS-485作为一个极为坚固和可靠的通信链路,具有高噪声抑制、宽共模范围、长传输距离、冲突保护等特性,但一个真正牢靠的RS-485网络还有赖于合理的应用.合理的网络布局、信号通道的连续性周全的保护措施等,在设计之初就应该有一个总体规划.