RS-485 总线设计检查

节点数按单位负载算,不是按设备数。两端终端之后还要偏置,否则空闲态没有确定电平;线长和波特率也在互相挤占。

常见问题

为什么 RS-485 总说 32 个节点,实际又能挂更多?

32 是「单位负载」的上限,不是设备数。标准收发器 1 UL 相当于 12 kΩ 输入阻抗,32 UL 就是总线负载上限;用 1/4 UL 的收发器,每个只占 0.25,理论上能挂 128 个。但线长和总线电容会先到极限。

两端 120Ω 终端是必须的吗?

超过几米、波特率上千赫兹就必须要。终端的作用是吸收反射,只在总线两个物理末端各接一只,中间节点不能接。星形或 T 形分支会出现阻抗不连续,终端也救不了。

为什么加了终端还要偏置电阻?

所有节点都处于接收态时,总线是高阻,A/B 之间的差分电压接近 0,接收器输出会在逻辑门限附近乱跳,主站可能收到假起始位。偏置电阻把 A 拉高、B 拉低,让空闲态稳定在 200 mV 以上。

偏置电阻为什么是 680Ω、720Ω 这种值?

两端终端并联成 60Ω,要让差分电压至少 200 mV,回路电流至少 3.33 mA。5 V 供电时,两只偏置加 60Ω 的总电阻不能超过 1.5 kΩ,所以每只大约 720Ω。3.3 V 系统要重新算,值会更小。

线长和波特率怎么取舍?

经验线是「波特率 × 线长 ≤ 10⁷」:9600 bps 可以到 1000 米,115200 bps 只剩约 87 米。这是理想条件,实际还要看电缆质量、节点数和分支。超过就降速、加中继,或者改光纤。

A/B 接反会怎样?

接反不会烧,但差分极性相反,空闲态和显性位都反了,表现为完全收不到数据或者全是错误帧。不同厂家的 A/B 标注本来就不统一,调试时先拿万用表量空闲差分电压。