RS-485总线广泛应用于通信、工业自动化等领域,在实际应中,通常会遇到是否需要加上下拉电阻以及加多大的电阻合适的问题,下面我们将对这些问题进行详细的分析。
当485总线处于开路(485收发器与总线断开)或者空闲状态(485收发器全部处于接收状态,总线没有收发器进行驱动)时,485总线的差分电压基本为0,此时总线就处于一个不确定的状态。同时由于目前485芯片为了提高总线上的节点数,输入阻抗设计的比较高,例如输入阻抗为1/4单位阻抗或者1/8单位阻抗(单位阻抗为12kΩ,1/4单位阻抗为48kΩ),在管脚悬空时容易受到电磁干扰。
因此为了防止485总线出现上述情况,通常在485总线上增加上下拉电阻(通常A接上拉电阻,B总线下拉电阻)。若使用隔离RS-485收发模块(例如RSM485PCHT),由于模块内部具有上下拉电阻(对于RSM485PCHT,内部上下拉电阻为24kΩ),因此在模块外部一般不需要增加上下拉电阻。
假设模块的输出电源电压VO相同,由于RGND接在一起,因此可以认为模块内部的上拉电阻是并联在一起的,为了方便解释,对图2的电路进行整理,如图3所示,在模块外部增加上下拉电阻可以选择只增加一组,也可以选择在每个模块都增加上下拉电阻,为了解释方便,我们在485总线上增加一组上下拉电阻。
RPU为模块内部上拉电阻,RPD为模块内部的下拉电阻,本例中为24kΩ; RIN为模块接收器输入阻抗,本例取最小值为120kΩ; RT为终端电阻,本例取120Ω; RPU_EX为模块外部所加的上拉电阻,RPU_EX为模块外部所加的下拉电阻。
如图4所示,我们可以看到当485总线上接有32个节点时,总线A或B的共模负载为:
当增加终端电阻后,可以发现485总线的共模负载没有发生变化,但差模负载急剧减小,差模负载为:
以RSM485PCHT为例说明增加上下拉电阻的情况,如图6所示,总线A或B的共模负载为:
当在485总线上增加终端电阻时,可以看出总线A或B的共模负载并没有发生变化,而差分阻抗有了较大的变化,此时差模负载为:
计算出的差模负载要略大于RS-485标准规定的最大负载为54Ω,我们对RSM485PCHT进行实际测试,其输出差分电压1.58V,略大于标准规定的最小电压。
当差模负载为54Ω(485总线接两个120Ω终端电阻并且上拉电阻(下拉电阻)与收发器内阻的并联值为270Ω)时,RSM485PCHT的差分输出电压为1.52V(实测值),基本和RS-485标准相同。当差模负载为41.54Ω(485总线接两个120Ω终端电阻并且上拉电阻(下拉电阻)与收发器内阻的并联值为135Ω)时,RSM485PCHT的差分输出电压在1.17V左右(实测值),在这种情况下可以通信。但485收发芯片手册中规定的最大差模负载通常为54Ω,即在485总线上增加两个120Ω后,上拉电阻(下拉电阻)与收发器输入阻抗的并联值应大于270Ω。同时为了保证稳定可靠通信,一般485总线的上拉电阻(下拉电阻)与收发器输入阻抗的并联值应大于375Ω。
总结
通信线应选用屏蔽双绞线,屏蔽层应单点接大地; 当我们没有遇到信号反射问题时,尽量不要使用终端电阻; 如果使用终端电阻,我们可以通过上下拉电阻调节485总线在空闲状态的电压值,保证不处于门限电平(-200mV~+200mV或-200mV~-40mV)范围内; 当我们增加上下拉电阻时,上拉电阻(下拉电阻)与收发器输入阻抗的并联值应大于375Ω。