提高RS-485网络可靠性的若干措施
扫描二维码
随时随地手机看文章
建议性标准RS-485作为一种多点、差分数据传输的电气规范现已成为业界应用最为广泛的标准通信接口之一。这种通信接口允许在简单的一对双绞线上进行多点、双向通信、它所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。正因为此,许多不同领域都采用RS-485作为数据传输链路。例如汽车电子、电信设备、局域网、蜂窝基站、工业控制、仪器仪表等等。这项标准得到广泛接受的另外一个原因是它的通用性。RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。
尽管RS-485标准已被广泛接受,但是对于它在实际应用中的一些具体问题并没有得到深入广泛的认识,甚至存在着种种误区,以至于影响到整个系统的性能。本文在回顾RS-485标准的基础上,重点讨论几个实际应用中常被忽视的问题。
RS-485标准回顾
RS-485标准最初由电子工业协会(EIA)于1983年制订并发布,后由TIA-通讯工业协会修订后命名为TIA/EIA-485-A,不过工程师还是习惯地称之为RS-485。RS-485由RS-422发展而来,后者是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100kbps时),并允许在一条平衡线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,为扩展应用范围,随后又为其增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,这就是后来的EIA RS-485标准。
RS-485是一个电气接口规范,它只规定了平衡驱动器和接收器的电特性,而没有规定接插件、传输电缆和通信协议。RS-485标准定义了一个基于单对平衡线的多点、双向(半双工)通信链路,是一种极为经济、并具有相当高噪声抑制、传输速率、传输距离和宽共模范围的通信平台。RS-485接口的主要特点如下:
平衡伟输;
多点通信;
驱动器输出电压(带载):≥|1.5V|;
接收器输入门限:±200mV;
-7V至+12V总线共模范围;
最大输入电流:1.0mA/-0.8mA(12Vin/-7Vin);
最大总线负载:32个单位负载(UL);
最大传输速率:10Mbps;
最大电缆长度:4000英尺。
网络配置
图1:几种错误的网络连接方式及正确的方式
RS-485支持半双工或全双工模式,网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。最好采用一条总线将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。图1所示为实际应用中常见的一些错误连接方式(a,c,e)和正确的连接方式(b,d,f)。a,c,e三种不恰当的网络连接尽管在某些情况下(短距离、低速率)仍然可以正常工作,但随着通信距离的延长或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反射后与原信号叠加,造成信号质量下降。除此之外还应注意总线特性阻抗的连续性,在阻抗不连续点也会发生信号的反射。例如,总线的不同区段采用不同电缆、某一段总线上有过多收发器紧靠在一起安装、或者是有过长分支线引出总线时都会出现阻抗不连续点。总之,应该提供一条单一、连续的信号通道作为总线。
有关总线上允许连接的收发器数标准并没有做出规定,但规定了最大总线负载为32个单位负载(UL)。每单位负载的最大输入电流为1.0mA/-0.8mA,相当于约12kΩ。为了扩展总线节点数,器件生产厂商增大收发器输入电阻。例如MAX487,MAX1487的输入电阻增加至48kΩ以上(1/4UL),节点数就可增加至128个,96kΩ输入电阻的MAX1483允许节点数可到256个。
总线匹配
是否对RS-485总线进行终端匹配取决于数据传输速率、电缆长度及信号转换速率。UART是在每个数据位的中点采样数据的,只要反射信号在开始采样时衰减到足够低就可以不考虑匹配。有一条经验性的准则可以用来判断在什么样的数据速率和电缆长度时需要进行匹配:当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的3倍以上时就可以不加匹配。例如具有限斜率特性的RS-485接口MAX483输出信号的上升或下降时间最小为250ns,典型双绞线上的信号传输速率约为0.2m/ns(24AWG PVC电缆),那么只要数据速率在250kbps以内、电缆长度不超过16米,采用MAX483作为RS-485接口时就可以不加终端匹配。
图2:几种终端匹配方案
当考虑终端匹配时,有多种匹配方案可以选择。最简单的就是在总线两端各接一只阻值等于电缆特性阻抗的电阻(图2a)。大多数双绞线特性阻抗大约在100Ω至120Ω之间。这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。另外一种比较省电的匹配方式是RC匹配(图2b)。利用一只电容C隔断直流成分可以节省大部分功率。但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。除上述两种外,还有一种采用二极管的匹配方案(图2c)。这种方案虽未实现真正的"匹配",但它利用二极管的钳位作用迅速削弱反射信号,达到改善信号质量的目的。节能效果显著。
引出线
RS-485总线上的每个收发器通过一段引出线接入总线,引出线过长时,由于信号在引出线中的反射,也会影响总线上的信号质量。和前面的讨论一样,系统所能允许的引出线长度也和信号的转换时间、数据速率有关。下面的经验公式可以用来估算引出线的最大长度:
Lmax=(tRISE×0.2m/ns)/10
以MAX483为例,对应于250ns的上升/下降时间,总线允许的最大引出线长度约为5米。
从以上的分析可以看出,减缓信号的前后沿斜率有利于降低对于总线匹配、引出线长度的要求,改善信号质量,同时,还使信号中的高频成分降低,减少电磁辐射,因此,有些器件生产厂商在RS-485接口器件中增加了摆率限制电路来减缓信号前后沿,但这种做法也限制了数据传输速率。由此看来,在选择接口器件时,并不是速率越高越好,应该根据系统要求,选择最低速率的器件。
失效保护
RS-485标准规定接收器门限为±200mV。这样规定能够提供比较高的噪声抑制能力,但同时也带来了一个问题:当总线电压在±200mV中间时接收器输出状态不确定。由于UART以一个前导"0"触发一次接收动作,所以接收器的不定态可能会使UART错误地接收一些数据,导致系统误动作。当总线空闲、开路或短路时都有可能出现两线电压差低于200mV的情况,必须采取一定措施避免接收器处于不定态。传统的做法是给总线加偏置,当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压≥200mV)。但这种方法仍然不能解决总线短路时的问题,为此,有些器件制造商将接收门限移到-200mV/-50mV,巧妙地解决了这个问题。例如Maxim公司为MAX3080系列RS-485接口,不但省去了外部偏置电阻,而且解决了总线短路情况下的失效保护问题。
地线与接地
电子系统的接地是一个非常关键而又常常被忽视的问题,接地处理不当经常会导致不能稳定工作甚至危及系统安全。对于RS-485网络来讲也是一样,没有一个合理的接地系统可能会使系统的可靠性大打折扣,尤其是在工作环境比较恶劣的情况下,对于接地的要求更为严格。有关RS-485网络的接地问题很少有资料提及,在设计者中也存在着很多误区,致使通信可靠性降低、接口损坏率较高。一个典型的错误观点就是认为RS-485通信链路不需要信号地,而只是简单地用一对双绞线将各个接口的"A"、"B"端连接起来。这种处理方法在某些情况下也可以工作,但给系统埋下了隐患,主要有以下两方面的问题:
图3:地电位差导致的共模干扰问题
共模干扰问题。的确,RS-485接口采用差分方式传输信号,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但应该注意的是,收发器只有在共模电压不超出一定范围(-7V至+12V)的条件下才能正常工作。当共模电压超出此范围就会影响通信的可靠,直至损坏接口。如图3所示,当发送器A向接收器B发送数据时,发送器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。那么,接收器输入端的共模电压就会达到VCM=VOS+VGPD。RS-485标准规定VOS≤3V,但VGPD可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在信号线上产生干扰电流,轻则影响正常通信,重则损坏接口。
电磁辐射(EMI)问题。驱动器输出信号中的共模部分需要一个返回通路,如果没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
因此,尽管是差分传输,对于RS-485网络来讲,一条低阻的信号地还是必不可少的。如图4a所示,一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压VGPD被短路。这条信号地可以是额外的一对线(非屏蔽双绞线)、或者是屏蔽双绞线的屏蔽层。值得注意的是,这种做法仅对高阻型共模干扰有效,由于干扰源内阻大,短接后不会形成很大的接地环路电流,对于通信不会有很大影响。当共模干扰源内阻较低时,会在接地线上形成较大的环路电流,影响正常通信。笔者认为,可以采取以下三种措施:
图4:地线与接地方案
若干扰源内阻不是非常小,可以考虑在接地线上加限流电阻限制干扰电流。接地电阻的增加可能会使共模电压升高,但只要控制在适当的范围内就不会影响正常通信(图4b);
采用浮地技术,隔断接地环路。当共模干扰内阻很小时上述方法已不能奏效,此时可以考虑将引入干扰的节点(例如处于恶劣的工作环境的现场仪表)浮置起来(也就是系统的电路地与机壳或大地隔离),这样就隔断了接地环路,不会形成很大的环路电流(图4c);
采用隔离接口。有些情况下,出于安全或其他方面的考虑,电路地必须与机壳或大地相连,不能悬浮,这时可以采用隔离接口来隔断接地回路,但是仍然应该有一条地线将隔离侧的公共端与其它接口的工作地相连(图4d)。
瞬态保护
前面提到的接地措施只对低频率的共模干扰有保护作用,对于频率很高的瞬态干扰就无能为力了。因为引线电感的作用,对于高频瞬态干扰来讲,接地线实际等同于开路。这样的瞬态干扰可能会有成百上千伏的电压,但持续时间很短。在切换大功率感性负载(电机、变压器、继电器等)、闪电等过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损坏接口。对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。
图5:瞬态保护方案
图5a所示为隔离保护方案。这种方案实际上将瞬态高压转移到隔离接口中的电隔离层上,由于隔离层的高绝缘电阻,不会产生损害性的浪涌电流,起到保护接口的作用。通常采用高频变压器、光耦等元件实现接口的电气隔离,已有器件厂商将所有这些元件集成在一片IC中,使用起来非常简便,如Maxim公司的MAX1480/MAX1490,隔离电压可以到2500V。这种方案的优点是可以承受高电压、持续时间较长的瞬态干扰,实现起来也比较容易,缺点是成本较高。
图5b所示为旁路保护方案。这种方案利用瞬态抑制元件(如TVS、MOV、气体放电管等)将危害性的瞬态能量旁路到大地,优点是成本较低,缺点是保护能力有限,只能保护一定能量以内的瞬态干扰,持续时间不能很长,而且需要有一条良好的连接大地的通道,实现起来比较困难。
实际应用中可以将二者结合起来灵活运用(图5c)。隔离接口对大幅度瞬态干扰进行隔离,而旁路元件保护隔离接口不被过高的瞬态电压击穿。
结论
RS-485标准定义了一个极为坚固和可靠的通信链路,具有高噪声抑制、宽共模范围、长传输距离、冲突保护等特性,但一个真正可靠的RS-485网络还有赖于合理的应用。合理的网络布局、信号通道的连续性、周全的保护措施等,在设计之初就应该有一个总体规划。