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-232 看“对地电压”,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-232 / RS-485 / RS-422 拓扑与信号流向 RS-232 点对点 DTE DCE TXD RXD GND 距离 ≤15m,单端对地 RS-485 多点总线 A B 主 从1 从2 120Ω 120Ω 半双工,总线两端终端电阻 RS-422 一主多从全双工 主站 从站 TX+ / TX- RX+ / RX- 120Ω 收发独立差分对,可同时通信 距离与速率关系(RS-485/RS-422 经验曲线) 传输距离 (m) 速率 10Mbps @12m 1Mbps @120m 100kbps @1200m 速率越高,允许距离越短;长距离必须降速

四、现场案例:多机通信时通时断

某包装线使用 RS-485 总线连接 1 台 PLC 和 6 台变频器,通信距离约 180m,速率 19200bps。现象是:单台调试正常,接入全部从站后随机丢包,靠近柜门的一台变频器偶尔无响应。

排查步骤与结论如下:

  1. 用万用表测量 A-B 静态差压,发现空闲时仅 0.05V,说明总线未被偏置,空闲电平不确定。
  2. 检查终端电阻,发现只在 PLC 端焊了 120Ω,最远端变频器未接,信号反射明显。
  3. 查看布线,发现有一段 485 线与非屏蔽动力线捆扎在一起,共模干扰被引入。
  4. 处理:两端各加 120Ω 终端电阻,增加 680Ω 偏置电阻,通信线改为屏蔽双绞线并单端接地,速率保持 19200bps。
处理前:A-B 空闲差压 ≈ 0.05V,终端仅一端 120Ω
处理后:A-B 空闲差压 ≈ 0.35V,两端各 120Ω + 偏置
结果:连续运行 72h,丢包率由 3.2% 降至 0
RS-485 总线空闲时若差压接近 0V,接收器可能输出随机电平,表现为“无数据时也乱码”。加偏置电阻可让空闲态稳定在逻辑 1。

五、常见误区与复盘

  • 误区一:把 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 上,通信必然失败。

复盘时建议按“电气层→拓扑层→协议层”的顺序排查:先确认电平、极性、终端电阻和共模电压,再确认总线是否手拉手、节点数是否超限,最后才检查波特率、数据位、校验位和协议帧。多数工业串口故障,根因都在前两层。