RS-485总线具有结构简单、成本低等优点,但各位工程师在组建RS-485总线网络时,为提升整个网络通信的可靠性,想必会经常会遇到一个问题:需不需要加终端电阻呢?本文将为你解答。
1、终端电阻的作用
对于RS-485总线,终端电阻主要是为了匹配通信线的特性阻抗,防止信号反射,提高信号质量。
在组建RS-485总线网络时,通常使用特性阻抗为120Ω的屏蔽双绞线,由于RS-485收发器输入阻抗一般较高(例如RSM485ECHT输入阻抗为96kΩ,最多可连接256个节点),在信号传输到总线末端时会由于受到的瞬时阻抗发生突变(以RSM485ECHT为例,阻抗由120Ω变为96kΩ),导致信号发生反射,影响信号的质量。RSM485ECHT在1200m,500kbps通信速率的情况下不加终端电阻和加终端电阻的波形如图 1和图 2所示,终端电阻明显改善了信号的质量。
图1 RSM485ECHT 1200m 500kbps不加终端电阻
图2 RSM485ECHT 1200m 500kbps 加终端电阻
2、终端电阻带来的问题
终端电阻虽然可以提高信号质量,但还具有以下几个问题:
1)降低了驱动信号的幅值
RS-485总线上的负载越大,RS-485收发器输出差分电压幅值越低,RSM485ECHT在5m,500kbps的情况下不加终端电阻和加终端电阻的波形如图 3和图 4所示,可以看出驱动信号在增加终端电阻后降低了2V左右。
图3 RSM485ECHT 5m 500kbps 不加终端
图4 RSM485ECHT 5m 500kbps 加终端
2)增大了通信线上的压降
增加终端电阻使通信线缆上的电流增大,产生了较大的压差,降低了接收端的信号幅值。RSM485ECHT在1200m,115.2kbps首端和末端的信号波形如图 5和图 6所示(0.75mm2通信线),末端信号与首端信号相比下降了0.7V左右。
图5 RSM485ECHT 1200m 115.2kbps 加终端电阻 首端波形
图6 RSM485ECHT 1200m 115.2kbps 加终端电阻 末端波形
3)增大了收发器的功耗
增加终端电阻对于接收状态时的工作电流影响不大,但会大大增加驱动状态时的工作电流。以RSM485ECHT为例,RSM485ECHT处于接收状态时工作电流为20mA左右,在驱动状态不加终端电阻时工作电流为27mA左右,在驱动状态加终端电阻时工作电流为83mA左右,可以看出终端电阻大大增加了RS-485收发器的功耗,对于有功耗要求的应用场合,应谨慎使用终端电阻。
4)降低总线空闲时的差分电压
如图 7所示为两个RSM485ECHT通信示意图。
图7 RSM485ECHT通信等效示意图
当两个模块都处于接收状态时,可以根据基尔霍夫电流定律对节点A和节点B列出下列公式:
其中:RPUD为RSM485ECHT内置上下拉电阻,120kΩ;R¬IN为RSM485ECHT输入阻抗,96kΩ;根据上述公式可以计算AB之间的差分电压为:
由于RSM485ECHT的门限电平为-200mV~-40mV,所以在上述情况下,模块仍然输出高电平,保证总线空闲时不会误接收数据。但对于门限电平为-200mV~+200mV的RS-485收发器,输出电平为不确定状态,此时有可能误接收数据。
3、如何解决增加终端电阻后空闲状态的问题?
对于空闲状态的问题有两个解决方法:
1)使用类似RSM485ECHT的模块(门限电平为-200mV~-40mV),当RS-485总线的差分电压大于-40mV时RS-485收发器的输出即为高电平。
2)使用RSM485PCHT或RSM485PHT等带有输出隔离电源的模块,可以通过在外部增加较小的上下拉电阻将RS-485总线的空闲状态时的电压拉到+200mV以上(一般要留有100mV或200mV以上的裕量),保证空闲时RS-485总线差分电压不处于门限电平范围内,但上下拉电阻值不能太小,一般总线上拉(或下拉)并联值要大于375Ω。
4、什么时候需要加终端电阻?
1)通信速度低或者通信距离近的情况下建议不加终端电阻
通信速度低或者通信距离近的情况下,信号反射对通信信号的影响不大,而且不加终端电阻可以大大降低功耗,并且通过加较大上下拉电阻值即可保证RS-485总线空闲时具有较高的差分电压幅值,提高了通信的可靠性。
2)通信距离较长且通信速度较快,对信号质量要求较高的情况
此时可以增加终端电阻,防止阻抗突变引起的信号反射问题,提高信号质量,但应确保在总线空闲时总线的差分电压不处于门限电平范围内。
3)对功耗有要求且通信距离较长的情况
反射信号在总线上来回反弹,反射信号会逐渐消耗掉。对于串口通信,MCU一般在一个位的中间时间对信号进行采样,由于低通信速度的情况下,每一个位的时间较长,所以在到达采样点时反射信号已被消耗掉,对通信已无影响。RSM485ECHT在1200m 9600bps不加终端电阻首端和末端的波形如图8和图9所示,可以看出反射信号在到达每一个位中间前就已经被消耗掉了。
所以对RS-485的收发器的功耗有较高要求且通信距离较长的应用,应适当降低通信的速度。
图8 RSM485ECHT 1200m 9600bps 不加终端 首端波形
图9 RSM485ECHT 1200m 9600bps 不加终端 末端波形