2. 物理层故障诊断:RS-485/RS-232电平标准、终端电阻匹配、常见物理层故障(短路/断路/反射)排查

大家好,我是老张。咱们今天聊点实在的——物理层故障。说白了,就是线没接对、电平不对、或者信号反射了。很多刚入行的朋友,一遇到通讯不上,就怀疑协议、怀疑软件,其实八成问题都出在物理层。我这些年跑现场,十次通讯故障,有七次是物理层的事儿。

2.1 RS-232与RS-485电平标准:别搞混了

先说说电平标准。RS-232和RS-485,虽然都叫串口,但电平逻辑完全不一样。我见过有人拿RS-232的设备直接怼到RS-485的端口上,结果烧了接口芯片。嗯,这事儿真不罕见。

参数 RS-232 RS-485
传输方式 单端(不平衡) 差分(平衡)
逻辑“1”电平 -3V ~ -15V A-B > +200mV
逻辑“0”电平 +3V ~ +15V A-B < -200mV
最大传输距离 约15米 约1200米
节点数 1对1 最多256节点

你看这个表,RS-232是单端信号,地线是参考点。而RS-485是差分信号,靠两根线(A和B)的电压差来判断逻辑。我个人习惯,在现场调试时,第一件事就是用万用表量一下A-B之间的电压。如果静态电压差接近0V,那多半是总线没偏置,或者终端电阻没接对。

小技巧: 用万用表直流电压档测RS-485的A和B线。正常空闲状态下,A对地电压应比B对地电压高0.2V~0.5V。如果测出来是负的,说明A和B接反了。

2.2 终端电阻匹配:为什么非要120Ω?

很多朋友问我:“老张,终端电阻到底要不要加?不加会怎样?”

我直接说结论:不加,信号就会反射。反射是什么?就像你对着山谷喊话,回声会干扰你听清下一句。信号在电缆里跑,遇到阻抗突变的地方,一部分能量就会反弹回来,叠加到原始信号上,造成波形畸变。

RS-485标准规定,电缆的特性阻抗一般是120Ω。所以我们在总线两端各并联一个120Ω的电阻,就是为了让阻抗匹配,消除反射。

关键点: 终端电阻只加在总线的物理两端,中间节点绝对不能加。我见过一个项目,有人把每个设备都加了120Ω电阻,结果总线负载太重,信号根本拉不动。

怎么判断终端电阻加没加对?你可以用万用表电阻档,在断电情况下,量一下A和B之间的总电阻。如果测出来大约是60Ω(两个120Ω并联),说明两端都加了。如果测出来是120Ω,说明只加了一端。如果测出来是无穷大,那一个都没加。

注意: 测量终端电阻前,一定要断开所有设备的电源。否则万用表可能被烧,或者读数不准。我曾经有一次忘了断电,结果表笔一搭上去,啪的一声,表笔尖都烧黑了。

2.3 常见物理层故障排查:短路、断路、反射

咱们一个一个说。这三种故障,占了物理层问题的90%以上。

2.3.1 短路故障

短路就是A和B直接碰在一起了,或者某根线对地短路了。表现是什么?通讯完全中断,或者偶尔能通一下,但数据全是乱码。

排查方法很简单:

  • 用万用表电阻档,测A对B的电阻。正常应该是几百kΩ以上(有终端电阻时是60Ω或120Ω)。如果测出来接近0Ω,那就是短路了。
  • 再测A对地、B对地的电阻。如果接近0Ω,说明线缆破皮,碰到机壳了。

我记得有一次在化工厂,现场干扰特别大,通讯时断时续。查了半天,最后发现是电缆在桥架里被老鼠咬破了,A线搭在桥架金属上。重新包好之后,问题就解决了。

2.3.2 断路故障

断路就是线断了。表现是某个设备完全收不到数据,但其他设备可能正常。

排查方法:

  • 用万用表通断档,从主站到从站逐段测量每根线的通断。
  • 检查接线端子是否松动。我遇到过很多次,端子没拧紧,线头虚接,一震动就断开了。
避坑指南: 我曾经在调试一个大型水处理项目时,所有设备都通讯正常,就一个液位计死活连不上。查了三天,最后发现是液位计内部的接线端子出厂时就没焊牢。所以,别光查外部线路,设备内部的接头也要检查。

2.3.3 信号反射

反射的问题比较隐蔽。通讯能通,但偶尔会丢包,或者波特率高了就不稳定。这就是典型的反射症状。

反射的原因:

  • 终端电阻没加,或者加的位置不对。
  • 总线有太长的不匹配分支(俗称“T型接头”)。
  • 电缆类型不对,用了非屏蔽双绞线。

怎么排查?我建议用示波器看波形。把示波器探头夹在A线和GND之间,看通讯时的波形。正常的RS-485波形应该是方方正正的,上升沿和下降沿很陡。如果波形上有明显的“振铃”或“过冲”,那就是反射了。

实战经验: 没有示波器怎么办?你可以降低波特率试试。如果降低波特率后通讯变稳定了,那基本可以断定是反射问题。因为波特率越低,信号波长越长,反射的影响就越小。

2.4 现场排查流程总结

好了,说了这么多,我给大家总结一个排查流程。下次遇到物理层故障,按这个顺序来:

  1. 看指示灯: 大部分通讯模块都有TX/RX指示灯。灯不亮,查电源和接线。灯狂闪但通讯不上,查电平匹配。
  2. 量电压: 测A对B的静态电压差,正常应在0.2V~0.5V。不对的话,查偏置电阻。
  3. 量电阻: 断电测A-B总电阻,确认终端电阻是否匹配。
  4. 看波形: 有条件就用示波器,看信号质量。
  5. 分段排除: 把从站一个一个断开,看是哪个节点把总线拉死了。

嗯,物理层的问题,说白了就是“电”的问题。只要你有万用表,有耐心,一步一步查,没有查不出来的。我刚开始干这行时,也经常被物理层搞得焦头烂额。但后来发现,只要把电平标准、终端电阻、短路断路反射这三样吃透了,现场90%的通讯故障都能搞定。

下一章,咱们聊聊数据链路层的故障诊断,比如帧格式错误、CRC校验失败这些。到时候见。