RS485 接线看着简单——两根线加个地。但工业现场的通信故障,有一半以上出在接线环节。A/B 接反、GND 没接、终端电阻乱放、星型布线——每一个都能让你在现场耗上半天。
这篇文章把 RS485 接线的每个细节讲透。照着做,一次接对。
RS485 基础回顾
RS485 使用差分信号,两根线(A 和 B)之间的电压差表示数据。半双工,收发交替。理论通信距离 1200 米(9600 bps),一条总线标准支持 32 个节点。
协议的完整对比(RS232 / RS485 / RS422 / TTL 的区别)详见《RS232 vs RS485 vs RS422 vs TTL:串口协议到底怎么选?》。
RS485 差分信号原理:为什么抗干扰
发送端
驱动器
接收端
比较器
A 线(反相)
B 线(正相)
干扰
干扰同时耦合到两根线上
A 线电压 = 信号 + 噪声
B 线电压 = 信号 + 噪声(相同噪声)
接收端算差值:(B – A) = 纯信号,噪声被抵消
A+ 和 B-:容易接错的两根线
RS485 只有两根信号线,接对了就通,接反了就不通。听起来很简单,但现实中 A/B 接反是出现频率很高的故障。
行业标准定义
EIA/TIA-485 标准的定义:
- A(也叫 A-、D-、DATA-)= 反相端
- B(也叫 B+、D+、DATA+)= 正相端
当发送逻辑”1″时,B 的电压高于 A;发送逻辑”0″时,A 的电压高于 B。
厂家标注混乱
问题在于:不同厂家对 A/B 的标注方式不统一,甚至有些厂家的 A/B 定义和标准正好相反。
| 标注方式 |
对应标准 |
常见于 |
| A+ / B- |
⚠️ 与标准相反 |
西门子、部分国产设备 |
| A- / B+ |
✅ 符合标准 |
大多数芯片厂商 |
| D+ / D- |
✅ 通常对应 B+ / A- |
摩可灵产品、部分转接线 |
| DATA+ / DATA- |
✅ 同 D+/D- |
部分仪表、传感器 |
| T/R+ / T/R- |
— |
查设备手册确认 |
西门子 PLC 的 A/B 标注与 EIA/TIA-485 标准正好相反——西门子的”A”是正相端(对应标准的 B),”B”是反相端(对应标准的 A)。接西门子设备时,把你的 A 接到西门子的 B,把你的 B 接到西门子的 A。
怎么确认接对了
办法一(推荐): 先接上试。不通就把 A/B 对调。RS485 接反不会烧设备,只是通信不上。这是现场工程师用得多的办法,简单有效。
办法二(万用表): 让主站持续发送数据,用万用表直流档测量 A-B 之间的电压。如果平均电压为正值(B 电位高于 A),则 B 是正相端。
A/B 接线:正确 vs 接反
✓ 正确接法
主站
A-(反相)
B+(正相)
从站
A-(反相)
B+(正相)
A 对 A,B 对 B → 通信正常
✗ 接反了
主站
A-(反相)
B+(正相)
从站
B+(正相)
A-(反相)
A 对 B,B 对 A → 通信失败
西门子 PLC 注意
西门子的 A/B 定义与行业标准相反 → 你的 A 接西门子的 B,你的 B 接西门子的 A
不确定就先试,不通就对调 A/B → RS485 接反不会烧设备,只是通信不上
GND:那根”可选但强烈建议接”的线
RS485 是差分信号,理论上不依赖共地——接收端只看 A、B 之间的电压差,和绝对电位无关。所以很多接线教程把 GND 标为”可选”。
但在实际工程中,不接 GND 是隐患。
差分接收器有一个”共模输入电压范围”,通常是 -7V ~ +12V。如果两端设备的地电位差超过这个范围(在工业现场并不罕见——不同配电柜、不同楼层、不同接地系统),接收器会进入非线性区,轻则数据偶发错误,重则芯片损坏。
结论:永远接 GND。 多接一根线的成本几乎为零,换来的是通信稳定性的显著提升。
GND 线的重要性
✓ 接了 GND
设备 A
配电柜 1
设备 B
配电柜 2
A/B
GND
两端地电位拉齐
共模电压在安全范围内
✗ 没接 GND
设备 A
配电柜 1
设备 B
配电柜 2
A/B
无 GND
两端地电位漂移
共模电压可能超标 → 数据错误或烧芯片
RS485 共模输入电压范围:-7V ~ +12V
不同配电柜、不同楼层、不同接地系统的设备之间,地电位差可达数伏甚至十几伏
结论:永远接 GND,成本几乎为零,收益是稳定性
终端电阻:120Ω
什么是终端电阻
信号沿总线传播到末端,如果末端没有阻抗匹配,信号会反射回来,和后续信号叠加产生干扰。在总线两端各接一个 120Ω 电阻,吸收到达末端的信号能量,消除反射。
哪里接
只在总线物理两端接。 就是总线上距离最远的两个节点——一头一尾各一个。中间的设备不接。
不接会怎样
短距离(10 米以内)、低波特率(9600 bps)的情况下,不接终端电阻可能也能正常通信。但随着距离增加和波特率提高,反射问题会越来越明显——表现为偶发的数据错误、CRC 校验失败、通信时断时续。
接多了会怎样
每多一个 120Ω 并联到总线上,总线等效阻抗就下降一截。RS485 驱动器的输出电流是有限的,阻抗太低会导致驱动能力不足,信号幅度下降,所有节点都受影响。
常见错误: 买了现成的 RS485 模块,模块上自带了 120Ω 终端电阻(有些默认焊上了),结果总线上多个模块同时接了终端电阻,导致通信异常。接线前检查一下模块上有没有跳线或拨码开关控制终端电阻。
终端电阻安装位置
R
✓ 120Ω
R
✓ 120Ω
主站
总线起点
从站 1
中间
从站 2
中间
从站 N
总线末端
✗ 不接
✗ 不接
终端电阻只装在总线物理两端
中间节点不接 · 检查模块上是否自带了默认焊接的终端电阻
短距离(<10 m)+ 低速(≤9600 bps)可不接,其他情况建议接
线缆选型
推荐:双绞屏蔽线(STP)
RS485 差分信号要求 A 和 B 两根线紧密缠绕在一起——双绞结构让两根线受到的外部干扰基本一致,差分接收器可以有效抵消共模噪声。屏蔽层进一步隔离外部电磁干扰。
退而求其次,普通双绞线(UTP)也可以,但在强干扰环境下效果不如 STP。
不推荐: 普通平行线、电话线、单芯线。这些线缆的两根导线间距不一致,双绞效果差,抗干扰能力明显下降。
线径
长距离传输用粗线(截面积 0.5mm² 以上),减少线路电阻带来的信号衰减。短距离(50 米以内)普通线就行。
距离与波特率的关系
RS485 的通信距离和波特率成反比——波特率越高,信号变化越快,对线路品质要求越高,有效距离越短。
| 波特率 |
建议距离上限 |
备注 |
| 9600 bps |
1200 米 |
理论上限,实际建议留余量 |
| 19200 bps |
800 米 |
|
| 38400 bps |
500 米 |
|
| 57600 bps |
300 米 |
|
| 115200 bps |
100 ~ 150 米 |
环境好可更远 |
总线拓扑
正确:总线型(菊花链)
所有设备串在一条线上,像一条链子一个接一个。信号从一端沿总线传播到另一端,每个设备在总线上”搭”一下。
这是 RS485 标准规定的拓扑方式,信号完整性有保障。
错误:星型
从中间一个点分出多根线到各个设备——每根分支线都是一个信号反射源,多个反射叠加导致波形严重失真。
现实中的矛盾: 很多工业现场的设备分布本身就是星型的——仪表分散在车间各处,不可能牵一条总线串起来。这时候不能硬用星型接线,而是用 RS485 集线器 把星型拓扑转换为多个独立的总线段,每段都是规范的总线型。
摩可灵 CH1402 系列 485 集线器(2/4/8/16 路可选)就是做这个事的——全系带信号中继功能,每个端口是独立的总线段,互不干扰。详见《RS485 集线器组网指南:一主多从架构设计与选型》。
✓ 总线型(菊花链)
主站
#1
#2
#3
信号沿总线单向传播,波形完整
✗ 星型(有分支)
主站
#1
#2
#3
分支产生信号反射,波形失真
解决方案:用 485 集线器把星型变成多段总线
485 集线器
CH1402 系列
总线段 1
总线段 2
总线段 3
每个端口是独立的总线段,信号独立中继,互不干扰
详见《RS485 集线器组网指南》
接线检查清单
完成接线后,逐项核对:
- □ A/B 对应正确 — 两端的正相端对正相端、反相端对反相端。不确定就先试,不通就对调。
- □ GND 已连接 — 所有设备的 GND 互连。
- □ 终端电阻只在两端 — 总线物理两端各一个 120Ω,中间设备不接。检查模块自带的终端电阻跳线。
- □ 总线型拓扑 — 设备串在一条线上,没有分支。需要分支用集线器。
- □ 双绞线缆 — A 和 B 走同一对双绞线,不要分开走不同的线对。
- □ 屏蔽层单端接地 — 如果用屏蔽线,屏蔽层只在总线一端接地(通常在主站端),不要两端都接地,避免形成地环路。
- □ 波特率与距离匹配 — 参照波特率-距离表,确认在安全范围内。
全部打勾,上电测试。如果通信仍有问题,详见《RS485 通信不稳定:干扰、断连、乱码的系统排查》。