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,那多半是总线没偏置,或者终端电阻没接对。
2.2 终端电阻匹配:为什么非要120Ω?
很多朋友问我:“老张,终端电阻到底要不要加?不加会怎样?”
我直接说结论:不加,信号就会反射。反射是什么?就像你对着山谷喊话,回声会干扰你听清下一句。信号在电缆里跑,遇到阻抗突变的地方,一部分能量就会反弹回来,叠加到原始信号上,造成波形畸变。
RS-485标准规定,电缆的特性阻抗一般是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 现场排查流程总结
好了,说了这么多,我给大家总结一个排查流程。下次遇到物理层故障,按这个顺序来:
- 看指示灯: 大部分通讯模块都有TX/RX指示灯。灯不亮,查电源和接线。灯狂闪但通讯不上,查电平匹配。
- 量电压: 测A对B的静态电压差,正常应在0.2V~0.5V。不对的话,查偏置电阻。
- 量电阻: 断电测A-B总电阻,确认终端电阻是否匹配。
- 看波形: 有条件就用示波器,看信号质量。
- 分段排除: 把从站一个一个断开,看是哪个节点把总线拉死了。
嗯,物理层的问题,说白了就是“电”的问题。只要你有万用表,有耐心,一步一步查,没有查不出来的。我刚开始干这行时,也经常被物理层搞得焦头烂额。但后来发现,只要把电平标准、终端电阻、短路断路反射这三样吃透了,现场90%的通讯故障都能搞定。
下一章,咱们聊聊数据链路层的故障诊断,比如帧格式错误、CRC校验失败这些。到时候见。