RS-485 总线广泛应用于通信、工业自动化等领域,在实际应中,通常会遇到是否需要加上下拉电阻以及加多大的电阻合适的问题,下面我们将对这些问题进行详细的分析。

 

一、为什么需要加上下拉电阻?
1)当 485 总线差分电压大于+200mV 时,485 收发器输出高电平。

2)当 485 总线差分电压小于 -200mV 时,485 收发器输出低电平。

3)当 485 总线上的电压在 -200mV~+200mV 时,485 收发器可能输出高电平也可能输出低电平。但一般总处于一种电平状态,若 485 收发器的输出低电平,这对于 UART 通信来说是一个起始位,此时通信会不正常。

 

当 485 总线处于开路(485 收发器与总线断开)或者空闲状态(485 收发器全部处于接收状态,总线没有收发器进行驱动)时,485 总线的差分电压基本为 0,此时总线就处于一个不确定的状态。同时由于目前 485 芯片为了提高总线上的节点数,输入阻抗设计的比较高,例如输入阻抗为 1/4 单位阻抗或者 1/8 单位阻抗(单位阻抗为 12kΩ,1/4 单位阻抗为 48kΩ),在管脚悬空时容易受到电磁干扰。

 

因此为了防止 485 总线出现上述情况,通常在 485 总线上增加上下拉电阻(通常 A 接上拉电阻,B 总线下拉电阻)。若使用隔离 RS-485 收发模块(例如 RSM485PCHT),由于模块内部具有上下拉电阻(对于 RSM485PCHT,内部上下拉电阻为 24kΩ),因此在模块外部一般不需要增加上下拉电阻。

 


二、什么情况下需要加上下拉电阻?
当遇到信号反射问题时,通常会通过增加匹配电阻来避免信号反射,以 1 对 1 通信为例,如图 1 所示。由于 485 总线通常使用特性阻抗为 120Ω的双绞线,因此在 485 总线的首尾两端增加 120Ω终端电阻来避免信号反射问题。

 

 

根据 RSM485PCHT 的具体参数(如表 1)可以得到如图 2 所示等效电路,其中 RPU、RPD 为模块内部在 485 总线上加的上下拉电阻,RIN 为模块的输入阻抗。

 

 

当两个模块都处于接收状态时,可以根据基尔霍夫电流定律对节点 A 和节点 B 列出下列公式:

 

 

根据上述公式可以计算 AB 之间的差分电压为:

 

 

此时模块已处于不确定状态,模块接收器可能输出为高电平,也可能输出为低电平,这时就需要在模块外部增加上下拉电阻保证模块在空闲时不处于不确定状态。


三、上下拉电阻如何选择?
假设模块的输出电源电压 V¬O 相同,由于 RGND 接在一起,因此可以认为模块内部的上拉电阻是并联在一起的,为了方便解释,对图 2 的电路进行整理,如图 3 所示,在模块外部增加上下拉电阻可以选择只增加一组,也可以选择在每个模块都增加上下拉电阻,为了解释方便,我们在 485 总线上增加一组上下拉电阻。