RS-485 的 120 Ω 终端电阻:一个被反复违反的常识
在 RS-485 现场调试里,"通信时好时坏"的八成原因不是设备故障,而是终端电阻没装、装错位置、或者装了两端但中间还挂了分支。
终端电阻在干什么
RS-485 是差分串行总线,物理上是"双绞线 + 多个收发器并联"。信号沿导线传播时,遇到阻抗不连续点会反射——就像水管突然变粗,水流会回涌。双绞线的特征阻抗约 120 Ω,如果总线两端不接匹配电阻,信号在端点反射,反射波叠加在原信号上,接收端看到的波形就畸变了。
终端电阻的作用就是让信号到达总线末端时被吸收,不反射回去。120 Ω 是 RS-485 标准的特征阻抗,因此终端电阻也是 120 Ω。
三种最常见的错
错一:完全不装
最常见。理由往往是"总线才几十米,不长"。但反射不只看长度,还看信号上升时间。RS-485 在 9600 bps 下的上升时间约 100 ns,对应电波长约 20 m——也就是说,总线超过 20 m 就可能出问题。现场工程师凭感觉认为"短就不用装",结果 30 m 的线就开始误码。
症状:通信时好时坏,尤其在某些设备加入或摘除后;改一下波特率就好了;手摸一下线就好——这都是反射的特征。
错二:只装一端
RS-485 是两端匹配的总线,不是一端匹配。只装一端,另一端的反射依旧存在。很多人误以为"主站在这一端,从站分布在中间,所以只在远端装电阻",但主站本身的收发器在发送时,信号要传到远端、被吸收——如果远端没电阻,主站发完的下一帧就会读到反射回来的自己。
正确做法:总线的物理两端各装一个 120 Ω,中间的设备都不装。
错三:装了分支
总线应当是线性拓扑,从 A 点到 B 点一根线,设备沿线并联。现场最常见的违反是"星型分支"——从主控室拉一根主线到现场,再分出几条支线到各设备。每条支线的末端都是反射点,且支线长度叠加在主线上,反射模式极其复杂。
支线长度有严格限制:理论上支线越短越好,实际工程建议支线不超过 0.3 m(对于 9600 bps)。很多人为了布线方便,把支线拉到 2~3 m,然后纳闷为什么通信不稳。
一个容易忽略的细节:偏置电阻
终端电阻解决了反射,但带来了新问题:总线空闲时的电平不确定。120 Ω 终端电阻并联后,总线在无人发送时是高阻态,干扰会把它拉到任意电平,接收器读到随机噪声。需要偏置电阻把总线拉到确定电平:
- A 线上拉到 +5 V 通过 680 Ω
- B 线下拉到地通过 680 Ω
这样总线空闲时 A > B 约 200 mV,接收器读到"1",不会误触发。
很多"终端电阻装了还乱"的现场,问题就出在没装偏置。市售的"终端电阻模块"通常把 120 Ω 与上下拉集成在一起,但散装电阻需要自己配。
自检清单
如果你在现场排查 RS-485 通信,按这个顺序查:
- 总线两端各装 120 Ω?(用万用表量 A-B 电阻,断电时应是 60 Ω,因为两个 120 Ω 并联)
- 支线长度 < 0.3 m?(超过的考虑改菊花链布线)
- A/B 没接反?(接反了有时也能通信,但稳定性差;用万用表量静态电平:A 应比 B 高 200 mV)
- 屏蔽层单点接地?(多点接地形成地环路,引入 50 Hz 干扰)
- 波特率匹配?(9600 是最稳的,38400 以上对布线要求陡增)
- 从站地址唯一?(两个设备同地址会总线冲突,表现为偶发乱码)
何时该上 CAN 或以太网
- 设备数 > 32 且无法换 1/4 负载收发器 → CAN(标准 110 节点)
- 通信距离 > 1.2 km 且无法加中继 → 光纤或以太网
- 需要确定性实时 → EtherCAT 或 PROFINET
- 简单多主多从、距离适中 → RS-485 仍是最经济的方案
终端电阻不是仪式,是物理要求。装对了一次性省掉后续无数次"偶发通信故障"的现场出差。