一、前言
在工业控制、电力通讯、智能仪表等领域中,通常使用串行通讯方式进行数据交换。最初的RS232接口,由于外界应用环境等因素,经常因电气干扰而导致信号传输错误。除此之外,RS232接口只能实现点对点的通信方式,不具备联网功能,而且其最大传输距离仅有15米,不能满足远距离通讯要求。RS485则解决了这些问题,数据信号采用差分传输方式,最大传输距离约为1219米,允许多个发送器连接到同一条总线上。
考虑到节能、低功耗等原因,系统电压由传统的5V转为3.3V,因此3.3V供电的RS485接口应运而生。
二、RS-485标准概述
RS-485数据信号采用差分传输方式,收、发端通过平衡双绞线将A-A与B-B对应相连。当线路A高于线路B电平(VA-VB》 +200mV)时,接收端输出为逻辑高电平(RO=1);当线路A低于线路B电平(VA-VB《-200mV)时,接收端输出为逻辑低电平(RO=0)。当驱动器的输入端逻辑电平为高(DI=1)时,线路A电平高于线路B电平;当驱动器的输入端逻辑电平为低(DI=0)时,线路A电平低于线路B电平。见图1。
图1:总线差模电压
三、低压RS-485网络电路的设计要点
1、共模干扰
RS-485接口采用差分方式传输信号,一般收发器能够承受的共模电压范围为-7V至+12V,一旦共模电压超出此范围,将会影响通信的可靠性,甚至损坏接口。由于每个系统都会有独立的地回路,在远距离通信条件下,系统间的地电位差VGPD将会很大。发送器的输出共模电压为VOC,那么接收器输入端的共模电压VCM=VOC+VGPD,RS-485标准规定VOC小于等于3V,但VGPD的幅度可达十几伏甚至数十伏,并可能伴有强干扰信号,导致接收器的共模输入VCM超出正常范围,并在信号线上产生干扰电流。解决此类问题的方法是:
a、通过带隔离的DC-DC将系统电源和RS-485收发器的电源隔离,如图2所示;
图2:低压3.3V隔离电源方案图
b、通过光耦将信号隔离,减小共模电压的影响。
采用该方法时,总线收发器的信号线和电源线与本地信号的电源是相互隔离的。
2、光耦隔离电路
光耦往往是限制通信数据波特率的主要因素,对于低速传输,可采用PS250、TIL117等。在高速电路设计中,可以考虑采用6N137、6N136等高速光耦,优化电路参数设计。光耦隔离示意图如图3所示。图3中,电阻R3、R4如果选取得较大,将会使光耦的发光管由截止进入饱和状态的速度变慢;如果选取得过小,退出饱和将会变慢。不同型号的光耦及驱动电路,使得这两个电阻的数值略有差异,阻值的选取通常由实验来确定。
图3:光耦隔离示意图
3、端接电阻
RS-485数据信号采用差分传输方式,信号在转换期间和转换之后会发生反射。数据的传输速率较低或者通讯距离较近时,反射持续时间较短,对接收的逻辑电平没有影响,可以不用终端匹配。相反,如果数据的传输速率高或者通讯距离较远时,反射持续时间较长,则需要对总线进行终端匹配。
那么究竟在怎样的数据速率和电缆长度时需要进行总线匹配呢?一条经验性的原则是:当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的3倍以上时无需进行终端匹配。
终端匹配有以下两种方案:
a、电阻匹配,在RS-485总线电缆的始端和末端都并接终端电阻。端接电阻取120Ω,与双绞线电缆特性阻抗匹配。该方案比较简单,目前最为普遍。如图4所示。该方案的弊端在于,匹配电阻对功率消耗较大,不太适合对功耗限制比较严格的系统。
图4:端接电阻示意图
b、RC匹配,在总线直接串联一个电阻和电容。容值的选取与信号的传输速率有关,电路连接方式如图5。由于电容的存在,减少了大部分的功率损耗,同时也影响了信号的传输速率。因此,容值的选取就显得比较关键。
图5:RC匹配示意图
4、故障保护
RS-485网络中,当所有的收发器都工作在接收模式时,总线处于空闲状态。此时总线上的差分电压VA-VB=0,接收器输出处于未定义状态,从而导致UART接收错误信息。除此之外,总线的断路、短路故障,都会造成UART上接收到错误信息。为了避免出现以上错误,在总线上放置上、下拉电阻。图6为总线偏置电路。电阻R1、R2的选择可根据下列计算方法得出,R1=R2=R,RT=120Ω(由于总线上终端和起始端各有1个120Ω终端电阻,所以RT0取值60Ω),VA-VB=Vcc*RT/(2R+RT0),应满足VA-VB》200mV,低压传输时,取Vcc=3.3V,那么R=465Ω。
图6:总线偏置电路
5、瞬态保护
实际应用中,RS-485总线上经常会遇到雷击、静电、电源波动等情况,由于传输线对高频信号相当于电感,因此对于高频瞬态干扰,接地线等同于开路。瞬态干扰虽然持续时间短暂,但可能会有成百上千伏的电压。一般在切换大功率感性负载如电机、变压器、继电器等或闪电过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护可能会引起通信接口器件的损坏。通常情况下,会采取旁路保护方法,如图7所示。
图7:偏置保护电路
由于旁路保护方法是将瞬变能量释放到地回路,因此必须要有良好的接地。对于高速信号的远距离传输,应考虑保护器件容值和线路间容值对信号延时的影响。
四、使用RS485接口时应注意的问题
1、UART电平
随着MCU等平台电平的降低,接口电平低压化趋势明显。上海英联电子的UM3483/UM3486采用CMOS接口电平,兼容2.8V、3.3V接口电平。同时,为了增加抗干扰能力,对输入口的逻辑电平做了阈值滞环处理。
2、 EMI干扰
RS-485信号在转换期间和转换之后会发生反射,形成天线向外辐射。UM3483具有低摆率驱动器,能够减小EMI和由于不恰当的终端匹配所引起的反射,并能够在接收端提供良好的信号信噪比。
3、 失效保护
传统的RS-485接收器门限为±200mV,当总线上的差分电压VA-VB介于±200mV之间时,接收器的输出状态不确定。UM3483/UM3486内置真故障安全接收器输入,将接收门限移到-200mV/-50mV,解决了总线短路、空闲等情况下的失效保护问题。可省去外部的偏置电阻,同时内部的接收阈值做了滞环处理,增加了接收器的抗干扰能力。
4、单位负载
RS-485接收器额定的输入阻抗为大于或等于12kΩ,该值为1个单位负载(UL)。如果一个RS-485接收器额定具有1/8个UL,则总线可连接8倍数量的这种接收器。UM3483/UM3486的输入阻抗为96kΩ,总线可连接多达256个节点。
5、ESD保护
由于RS-485的应用环境比较复杂,经常受到静电和瞬态电压等干扰。目前半导体常用的ESD测试标准IEC61000-4-2(空气放电模式)、IEC61000-4-2(接触放电模式)和人体放电模式,用于评价器件的防静电能力。UM3483/UM3486芯片内部集成了ESD保护电路,人体放电模式、空气放电模式均达到±15kV,接触放电模式达到±8kV。
6、电压倒灌
如果RS485接口芯片电源掉电,但I/O口(A、B、/RE、DE、DI、RO)有输入电压时,一旦芯片没有该项功能,会在VCC管脚上建立起不稳定的电压,从而导致芯片处于无法预期的工作状态,吸收总线上的电流,向总线乱发数据,引起通信的异常和终端功能混乱。UM3483/UM3486具有防止电压倒灌功能,在此种情况下,保证VCC管脚电压为0,保证芯片处于关闭状态。