2. 串口通信基础
在边缘网关的工业数据采集场景中,串口通信是最基础、最广泛应用的物理层传输方式。无论是连接PLC、智能电表、传感器还是老旧数控机床,RS-232、RS-485、RS-422这三种标准几乎覆盖了90%以上的工业设备接口。理解它们的电气特性、通信距离、接线方式以及半双工与全双工的区别,是正确设计数据采集链路、排查通信故障的前提。本章将从物理层本质出发,对比三种标准的工程应用差异,并结合边缘网关的实际部署场景进行拆解。
2.1 三种串口标准的电气特性与信号本质
串口通信的物理层核心在于信号电压的表示方式。RS-232采用单端信号,即一根信号线相对于地线的电压差来表示逻辑状态。其逻辑电平定义为:逻辑1(Mark)为-3V~-15V,逻辑0(Space)为+3V~+15V。这种电压摆幅较大,抗干扰能力较弱,且由于参考地线,长距离传输时地电位差会导致信号失真。RS-232的驱动能力有限,通常只适合PCB板级或短距离设备间通信。
RS-422和RS-485则采用差分信号,即两根线(A和B,或Y和Z)之间的电压差来表示逻辑状态。逻辑1为A-B电压差为正(+2V~+6V),逻辑0为负(-2V~-6V)。差分信号的优势在于共模抑制能力强,外界电磁干扰会同时作用于两根线,而接收器只关心差值,因此抗干扰能力显著提升,传输距离也大幅增加。RS-422与RS-485的电气参数基本一致,主要区别在于RS-422支持全双工(4线制),而RS-485支持半双工(2线制)。
2.2 通信距离与速率的关系
通信距离并非固定值,而是与波特率(bps)成反比关系。RS-232在9600bps时理论最大距离约15米,但在实际工业环境中,由于线缆电容和电磁干扰,建议控制在5米以内。RS-422和RS-485在9600bps时理论距离可达1200米,但若将波特率提升至115200bps,距离会缩短至100~200米。这是因为高速率意味着更短的比特周期,信号衰减和反射对波形的影响更加显著。
| 标准 | 信号方式 | 最大距离@9600bps | 最大节点数 | 典型应用 |
|---|---|---|---|---|
| RS-232 | 单端 | 15m(建议≤5m) | 1对1 | 调试口、近距离仪表 |
| RS-422 | 差分 | 1200m | 1发10收 | 多设备监听、全双工需求 |
| RS-485 | 差分 | 1200m | 32(标准)/128(扩展) | 工业总线、Modbus RTU |
在实际工程中,距离与速率的权衡需要结合线缆质量、屏蔽层接地、终端电阻等因素。例如,使用屏蔽双绞线(如STP-120Ω)并正确接地,可以在1200米距离上稳定运行9600bps;若使用普通平行线,距离会急剧缩短。
2.3 接线方式与终端电阻
RS-232的标准接线为3线制(TX、RX、GND),若需硬件流控则增加RTS/CTS。对于边缘网关,通常只需连接TX、RX、GND三根线,注意交叉连接(网关TX→设备RX,网关RX→设备TX)。RS-422采用4线制(T+、T-、R+、R-),发送和接收独立,可实现全双工通信。RS-485采用2线制(A、B),数据收发共用一对线,通过方向切换实现半双工。
RS-485总线在长距离传输时,必须在总线两端各接一个120Ω终端电阻,以匹配线缆特性阻抗,消除信号反射。终端电阻的接法为:在主机端和距离最远的从机端,分别在A-B之间并联120Ω电阻。若总线节点较少且距离较短(<50米),可以省略终端电阻,但建议保留以提升信号质量。
// RS-485 接线示意(边缘网关作为主机)
网关A+ —— 双绞线 —— 从机1 A+
网关B- —— 双绞线 —— 从机1 B-
网关GND —— 屏蔽层 —— 从机1 GND(单点接地)
终端电阻:网关端120Ω,最远从机端120Ω
2.4 半双工与全双工的区别及工程影响
全双工(Full-Duplex)允许数据同时双向传输,如RS-232和RS-422。发送和接收使用独立的物理通道,不需要方向切换,适合实时性要求高、数据交互频繁的场景。半双工(Half-Duplex)则共享同一物理通道,同一时刻只能单向传输,如RS-485。半双工需要协议控制方向切换,例如Modbus RTU采用主从问答机制,主机发送请求后立即切换为接收状态,从机响应后再切换回发送状态。
半双工与全双工的选择直接影响通信效率和软件设计。全双工无需考虑收发切换延迟,但线缆数量多、成本高;半双工节省线缆,但需要处理总线冲突和方向切换时序。在边缘网关的典型应用中,RS-485半双工是绝对主流,因为大多数工业设备(电表、传感器、PLC)都支持Modbus RTU协议,且总线拓扑便于扩展多个从机。
2.5 案例拆解:边缘网关接入8台RS-485电表
背景与约束:某工厂需要将配电柜内8台智能电表接入边缘网关,电表支持Modbus RTU over RS-485,波特率9600bps,数据位8,无校验,停止位1。现场配电柜间距约80米,电表分布在两个机柜内,线缆走线桥架,存在变频器干扰源。
初始现象:首次接线后,网关轮询8台电表,只有3台能正常返回数据,其余超时。使用串口调试工具监听总线,发现数据帧有乱码和丢包现象。
分析过程:首先检查接线,确认A/B未反接,GND已连接。用万用表测量A-B电压为0.8V,偏低,说明总线偏置不足。进一步检查发现,网关RS-485接口未内置偏置电阻,且总线两端未接终端电阻。此外,桥架内动力线与通信线平行走线,变频器运行时产生共模干扰。
解决步骤:
- 在网关端和最后一个电表端各并联120Ω终端电阻。
- 在网关端A线接上拉电阻(390Ω至5V),B线接下拉电阻(390Ω至GND),提供空闲态偏置。
- 将通信线改为屏蔽双绞线,屏蔽层单端接地(网关侧),并远离动力线至少30cm。
- 将波特率从9600降至4800,牺牲速率换取稳定性。
结果对比:调整后,8台电表全部轮询成功,误码率从约15%降至0%。后续在变频器满载运行时测试,通信依然稳定。
复盘经验:RS-485总线并非"接上就能用",终端电阻、偏置电阻、屏蔽接地是三大关键要素。在工业现场,宁可降低波特率也要保证通信可靠性。此外,使用屏蔽双绞线并单点接地,是抑制共模干扰的有效手段。
2.6 常见误区与总结
- 误区一:RS-485的A/B线可以随意接。实际上,A对应D+,B对应D-,接反会导致通信失败。
- 误区二:终端电阻越大越好。标准为120Ω,过大或过小都会导致信号反射。
- 误区三:RS-232的GND可以省略。在短距离(<1米)时可能侥幸工作,但长距离或共地干扰时会导致数据错误。
- 误区四:半双工比全双工慢。实际上,半双工在大多数工业协议中效率足够,且节省线缆。
总结而言,RS-232适合近距离调试,RS-422适合需要全双工的多点场景,RS-485是工业总线的事实标准。在边缘网关项目中,掌握这三种标准的电气特性和接线要点,能够快速定位通信故障,确保数据采集链路的稳定运行。