工业现场的设备互联,本质上要回答两个层面的问题:物理层怎么把电信号从这里送到那里,以及应用层怎么让双方听懂彼此的意思。很多现场故障排查不顺,原因就在于把这两层混在一起讨论。本文从最基础的串行接口讲起,逐步过渡到现场总线与工业以太网,并给出一张可以直接用于选型的对照表。
一、UART:串行通信的起点
UART(通用异步收发器)是设备内部最常用的串行通信方式,只定义数据帧格式,不定义电气特性。它用起始位启动一帧、用停止位结束一帧,双方必须事先约定波特率、数据位、校验位和停止位。因为没有时钟线,收发双方靠约定的速率对齐,波特率偏差过大就会丢帧。
正因为 UART 只管逻辑、不管电平,它可以用在不同电气层之上——芯片之间的 TTL 电平、与外设之间的 RS-232 电平、以及工业现场的多点 RS-485 总线,都可能跑着同样的 UART 数据帧。理解这一点,调试时就不会把”电平问题”错判成”协议问题”。
二、RS-232:点对点,距离受限
RS-232 使用单端信号,逻辑状态由相对信号地的正负电压表示。它的局限也很明确:点对点、抗干扰能力有限、传输距离通常约 15 米量级、速率一般不超过数百 kbps。它至今仍然广泛存在于老式仪器的通信口、设备调试口和部分工业仪表的编程口上,理解它的电气特性(尤其是电平定义与接地)对于现场接线与排查仍然必要。
三、RS-485:工业现场最普遍的物理层
RS-485 使用差分信号(A/B 两根线),以两线之间的电压差表示逻辑,因此对共模干扰有很强的抑制能力,可以在较长距离、较强干扰的环境中工作。它的关键工程要点是接法:

- 拓扑必须是手拉手(菊花链),避免星形分支与过长支线,否则反射会使波形劣化。
- 总线两端各接一个终端电阻(常见 120Ω)用于阻抗匹配。
- 速率与距离是此消彼长的关系:降低速率可以显著延长可用距离,速率提高时距离迅速缩短。
- 节点数受收发器驱动能力限制,常见为 32、128、256 节点等级别,实际以器件规格为准。
- 强干扰场合建议使用隔离型收发器,并注意屏蔽层通常单点接地。

四、CAN:带仲裁的差分总线
CAN 同样使用差分信号,但增加了一套非破坏性仲裁机制:报文以标识符(ID)区分优先级,多个节点同时发送时,ID 数值小(优先级高)的报文赢得总线,其他节点自动转为接收。这让 CAN 非常适合对实时性有要求的多主系统,在汽车电子、电机驱动、工程机械中广泛使用。
使用 CAN 时有三个概念值得掌握:位定时与采样点(决定采样时刻在位的哪个位置,配置不当会在长距离下出现偶发错误)、速率与距离的对应关系(例如 1 Mbps 对应约 40 m,50 kbps 可到 1000 m 量级,具体以器件手册与标准为准)、以及总线错误处理机制(错误计数与节点自动脱离,是 CAN 稳定性较高的重要原因)。
五、I²C 与 SPI:板内通信的两条路
- I²C 使用两根线(时钟与数据),通过地址寻址多个从机,布线简单,速率常见 100 kbps、400 kbps 与 1 Mbps;需要上拉电阻,总线电容对速率影响明显,适合传感器、EEPROM 等低速外设。
- SPI 使用四根线(时钟、数据输入、数据输出、片选),速率可达数十 Mbps;没有地址机制,靠片选线选择从机,多从机时片选线数量增加。适合 Flash、ADC、显示屏等高速外设。
两者都属于板级总线,不适合长距离传输。调试中最常见的问题是电平不匹配、上拉电阻选值不当、以及片选时序错误。
六、从物理层到应用层:现场总线与工业以太网
把物理层接好只是第一步,节点之间还需要约定数据含义。Modbus RTU(常跑在 RS-485 上)与 Modbus TCP(跑在以太网上的变体)是最普遍的工业应用层协议之一,采用一主多从的问答方式,结构简单、实现容易,至今仍是仪表与 PLC 互联的常用选择。
当应用对实时性和同步性要求更高时(多轴运动控制、机器人、产线同步),会出现基于以太网的实时协议,例如 EtherCAT、PROFINET、EtherNet/IP 等。它们共享同样的以太网物理介质,但在数据交换机制、同步精度与拓扑支持上各有设计取向,选择时应结合控制器平台与设备生态,而不是单看速率。
七、协议对照表

八、现场调试的六条经验
- 先看波形再看协议。用示波器观察总线上的电平摆幅、上升沿与噪声,能快速判断是物理层问题还是协议参数问题。
- 确认共地与参考电平。差分总线也要确认收发器的参考电位与隔离情况,否则会出现”能收到数据但偶发错误”。
- 终端电阻要”两端各一个”,不是每个节点都加。
- 屏蔽层处理好。屏蔽层通常单点接地,双端接地可能引入环流。
- 速率降低是排查手段之一。把速率降下来通信恢复正常,基本可以定位为线路或终端匹配问题。
- 记录每次故障的现象与改动,工业现场的偶发问题往往需要多次复现才能定位。

九、现场故障排查速查表
| 现象 | 优先排查 | 说明 |
|---|---|---|
| 完全收不到数据 | 接线极性(A/B 是否接反)、供电与使能 | 差分总线接反是最常见的低级错误 |
| 短距离正常、长距离异常 | 终端电阻、速率是否过高、线径与屏蔽 | 速率降低后恢复即可确认是线路匹配问题 |
| 偶发错误、误码 | 共模干扰、隔离情况、屏蔽层接地方式 | 与变频器、伺服同柜时尤其常见 |
| 通信时好时坏 | 端子松动、接触氧化、接头受潮 | 振动环境下的松动是隐性故障源 |
| 某几个节点始终不通 | 地址/节点编号冲突、波特率不一致 | 新增设备后未改默认地址的典型表现 |
| 以太网协议通讯延迟大 | 交换机与拓扑、是否混入非实时流量 | 实时以太网对拓扑与交换设备有明确要求 |
十、常见问答
问:RS-485 到底能接多少个节点?
答:取决于收发器的驱动能力与输入阻抗等级,常见有 32、128、256 节点几个档位,原理上高输入阻抗的收发器可以挂更多节点。实际工程中还要考虑线缆电容、支线长度与终端匹配,不能只看收发器的标称节点数。节点较多时建议加中继或分段。
问:终端电阻加在每个节点上行不行?
答:不行。终端电阻的作用是匹配总线特性阻抗、抑制反射,应在总线的两个物理端点各接一个(常见 120Ω)。每个节点都加会让总线负载过重、信号幅度下降,反而更容易通信失败。
问:波特率和线缆长度能同时追求吗?
答:不能,两者是此消彼长的关系。速率越高,允许的线缆长度越短。工程上通常先按现场布线长度反推可用的最高速率,再在控制器侧做参数匹配;如果必须高带宽长距离,就应改用工业以太网或增加中继/光纤转换。
问:CAN 总线需要终端电阻吗?
答:需要,同样是两端各一个(常见 120Ω)。CAN 对阻抗匹配敏感,终端缺失会引起反射,表现为偶发错误或通信距离明显缩短。
问:Modbus 与底层物理层是什么关系?
答:Modbus 是应用层协议,规定寄存器地址、功能码与报文格式;物理层可以是 RS-485(Modbus RTU/ASCII),也可以是以太网(Modbus TCP)。同一条 RS-485 总线上可以只跑 Modbus,也可以跑其他自定义协议,两者不是绑定的。