2. 物理层与电气特性:RS-232、RS-485、RS-422区别,终端电阻,偏置电阻
各位工程师朋友,咱们今天聊聊Modbus RTU的物理层。说白了,就是信号怎么在线上跑的问题。
我见过太多项目,协议栈写得没问题,但就是通讯不稳定。查到最后,十有八九是物理层没处理好。嗯,这章咱们就把这些坑填上。
2.1 三种接口标准:RS-232、RS-485、RS-422
这三种标准,是工业现场最常见的物理层接口。它们决定了通讯距离、速率和抗干扰能力。
2.1.1 RS-232:老将出马,一个顶俩?
RS-232是最早的串行通讯标准。我记得刚入行时,调试PLC全靠它。
- 信号方式:单端传输,用一根信号线和一根地线。说白了,就是电压对地。
- 电压范围:逻辑"1"是-3V到-15V,逻辑"0"是+3V到+15V。嗯,和现在常见的TTL电平不一样。
- 通讯距离:理论15米左右。我在项目中试过,超过10米就开始丢数据了。
- 速率:最高115200 bps,但距离越远,速率越低。
- 连接方式:点对点,只能两台设备通讯。
2.1.2 RS-485:工业现场的主力军
RS-485是Modbus RTU最常用的物理层。为什么?因为它能长距离、多节点、抗干扰。
- 信号方式:差分传输,用两根线(A和B)。信号是两根线的电压差,不是对地。
- 电压范围:A-B > +200mV 为逻辑"1",A-B < -200mV 为逻辑"0"。
- 通讯距离:理论1200米。我实际项目中,500米以内很稳定。
- 速率:最高10 Mbps,但距离越长,速率越低。
- 连接方式:半双工,多节点(最多32个标准负载)。
你想想看,一个车间几十台设备,用RS-485一根总线就能搞定。这就是它成为主力的原因。
2.1.3 RS-422:全双工的RS-485
RS-422和RS-485很像,但有个关键区别:它是全双工的。
- 信号方式:差分传输,但用了4根线(发送一对,接收一对)。
- 通讯距离:和RS-485差不多,1200米。
- 速率:最高10 Mbps。
- 连接方式:全双工,一主多从(最多10个接收器)。
我曾经在一个高速数据采集项目中用过RS-422。因为需要同时收发数据,RS-485的半双工搞不定。嗯,RS-422正好派上用场。
2.2 三种接口对比表
| 特性 | RS-232 | RS-485 | RS-422 |
|---|---|---|---|
| 信号方式 | 单端 | 差分 | 差分 |
| 传输线数 | 3(TX、RX、GND) | 2(A、B) | 4(TX+、TX-、RX+、RX-) |
| 通讯模式 | 全双工 | 半双工 | 全双工 |
| 最大节点数 | 2(点对点) | 32(标准) | 10(接收器) |
| 最大距离 | 15米 | 1200米 | 1200米 |
| 最大速率 | 115200 bps | 10 Mbps | 10 Mbps |
| 抗干扰能力 | 弱 | 强 | 强 |
| 典型应用 | 调试、短距离 | 工业总线 | 高速全双工 |
2.3 终端电阻:为什么需要它?
终端电阻,说白了就是防止信号反射的。信号在线上跑,遇到阻抗不连续的地方就会反射。反射信号和原信号叠加,就会造成数据错误。
为什么会这样?
想象一下,你对着山谷喊一声,回声会干扰你听清下一句话。终端电阻就是用来吸收这个"回声"的。
我建议,终端电阻的阻值要和电缆的特性阻抗匹配。常用的双绞线特性阻抗是120Ω,所以终端电阻也用120Ω。
我曾经遇到一个项目,通讯时好时坏。查了半天,发现终端电阻接在了中间,而不是两端。嗯,这是个典型错误。
2.4 偏置电阻:让总线"安静"下来
偏置电阻的作用,是给总线提供一个确定的空闲状态。当总线上没有设备发送数据时,A和B之间的电压差是不确定的。这时候,接收器可能误判为数据。
说白了,就是让总线在空闲时保持一个稳定的逻辑"1"状态。
偏置电阻怎么接?
- 在A线上接一个上拉电阻到+5V(或VCC)。
- 在B线上接一个下拉电阻到GND。
电阻值怎么选?
我一般用470Ω到1kΩ。具体值要看总线上设备的数量和距离。设备越多,距离越长,偏置电阻要越小。
2.5 知识体系结构图
下面这张图,把本章的核心逻辑串起来了。你可以看到,物理层选型、终端电阻、偏置电阻,这三者缺一不可。
2.6 避坑指南
最后,分享几个我踩过的坑。
好了,物理层这块就聊到这儿。记住,物理层是Modbus RTU的根基。根基不稳,上层协议写得再好也没用。
公众号:蓝海资料掘金营,微信deep3321