2. 串口通信基础
在工业现场,串口通信故障往往不是“协议写错”这么简单,更多时候是电气特性、拓扑结构和信号定义不匹配造成的。RS-232、RS-485、RS-422 虽然都叫“串口”,但它们的电平方式、驱动能力、抗干扰能力、可连接节点数和传输距离差异很大。理解这三者的底层差异,是后续排查“时通时断”“多机通信失败”“远距离丢包”等问题的前提。
一、核心原理:单端与差分是分水岭
RS-232 属于单端信号传输。它用一根信号线相对于公共地(GND)的电压来表示逻辑:负电压表示逻辑 1,正电压表示逻辑 0。典型电平范围为 ±3V~±15V,接收端通常能识别 ±3V 以上的摆幅。由于依赖公共地,两端地电位差会直接叠加到信号上,因此 RS-232 抗共模干扰能力弱,适合短距离、点对点通信。
RS-485 与 RS-422 都属于差分信号传输。它们用一对线(A、B 或 D+、D-)之间的电压差表示逻辑:差值大于 +200mV 表示一种状态,小于 -200mV 表示另一种状态。差分方式的最大优势是:外部电磁干扰会同时耦合到两根线上,接收端只取差值,共模干扰被大幅抵消。因此 RS-485/RS-422 更适合工业现场的电机、变频器、继电器等强干扰环境。
二、电气特性、信号定义与拓扑对比
三者的关键参数可以用下表快速对照。注意:RS-485 与 RS-422 的电气层相同,但链路层和拓扑能力不同——RS-422 是“一主多从、全双工”,RS-485 是“多点总线、半双工”。
| 项目 | RS-232 | RS-485 | RS-422 |
|---|---|---|---|
| 信号方式 | 单端,对地电压 | 差分,A/B 线电压差 | 差分,A/B 线电压差 |
| 典型电平 | ±3V~±15V | -7V~+12V 共模范围 | -7V~+12V 共模范围 |
| 逻辑定义 | 负=1,正=0 | 差压 >+200mV / <-200mV | 差压 >+200mV / <-200mV |
| 拓扑结构 | 点对点 | 多点总线(32 节点典型) | 一主多从,点对多点 |
| 双工方式 | 全双工 | 半双工 | 全双工 |
| 传输距离 | 约 15m | 约 1200m(低速) | 约 1200m(低速) |
| 典型速率 | ≤115.2kbps | 10Mbps@12m,100kbps@1200m | 10Mbps@12m,100kbps@1200m |
| 终端电阻 | 不需要 | 总线两端各 120Ω | 接收端 120Ω |
信号定义上,RS-232 常用 TXD、RXD、RTS、CTS、DTR、DSR、GND;RS-485 常用 A(D+)、B(D-)、GND,部分设备还提供 DE/RE 方向控制;RS-422 常用 TX+、TX-、RX+、RX-、GND,收发各用一对差分线,因此可以同时收发。
三、拓扑结构与信号流向图解
下面这张图把三种串口的拓扑、信号方向和终端电阻位置放在同一视图中,便于现场对照接线。
四、现场案例:多机通信时通时断
某包装线使用 RS-485 总线连接 1 台 PLC 和 6 台变频器,通信距离约 180m,速率 19200bps。现象是:单台调试正常,接入全部从站后随机丢包,靠近柜门的一台变频器偶尔无响应。
排查步骤与结论如下:
- 用万用表测量 A-B 静态差压,发现空闲时仅 0.05V,说明总线未被偏置,空闲电平不确定。
- 检查终端电阻,发现只在 PLC 端焊了 120Ω,最远端变频器未接,信号反射明显。
- 查看布线,发现有一段 485 线与非屏蔽动力线捆扎在一起,共模干扰被引入。
- 处理:两端各加 120Ω 终端电阻,增加 680Ω 偏置电阻,通信线改为屏蔽双绞线并单端接地,速率保持 19200bps。
处理前:A-B 空闲差压 ≈ 0.05V,终端仅一端 120Ω
处理后:A-B 空闲差压 ≈ 0.35V,两端各 120Ω + 偏置
结果:连续运行 72h,丢包率由 3.2% 降至 0
五、常见误区与复盘
- 误区一:把 RS-485 当 RS-232 接。RS-232 的 TXD 不能直接接 485 的 A/B,必须经过 232/485 转换器,且注意 DE/RE 方向控制。
- 误区二:A、B 接反。差分极性接反时,部分设备完全无响应,部分设备能收到但误码率高。排查时优先交换 A/B 试一次。
- 误区三:星型布线。RS-485 要求手拉手总线,星型分支会产生反射。若必须分支,单支长度应远小于主干,且避免多级分支。
- 误区四:忽略共模电压范围。RS-485 共模范围约 -7V~+12V,若两端地电位差超过该范围,收发器可能损坏或误判,长距离时应使用隔离型收发器或加地线。
- 误区五:RS-422 与 RS-485 混用。RS-422 是全双工四线,RS-485 是半双工两线;把 422 的 TX 对接到 485 的 A/B 上,通信必然失败。
复盘时建议按“电气层→拓扑层→协议层”的顺序排查:先确认电平、极性、终端电阻和共模电压,再确认总线是否手拉手、节点数是否超限,最后才检查波特率、数据位、校验位和协议帧。多数工业串口故障,根因都在前两层。