RS485 终端电阻和共地:什么时候必须加,不加会出现什么

2026-08-31

RS485 出问题时,「两端加终端电阻」和「把地拉通」经常被当成一副药一起灌下去。它们其实治的是两种病:终端电阻作用在 A/B 之间的差分回路上,对付的是信号反射;共地作用在收发器的共模输入侧,对付的是两端地电位差。本文只讲这两件事各自在什么条件下从「可选」变成「必须」,不加时总线会表现成什么样,以及不动线的前提下怎么把这两类故障分开。总线拓扑、地址规划这些总体纪律,站内已经有专篇,本文不重复。

一条 RS485 总线的整体布线与验收清单,站内既有的 RS485 总线展厅布线与地址规划 那篇已经列全了:手拉手拓扑、不拉支线、只在两端加终端、长线共地、地址唯一。那篇是「照着做就不会错」的清单。本文补的是清单背后的另一半——为什么这两条在有的现场可以省、在有的现场省了就出事,以及故障已经发生时,怎么从现象反推该动哪一条。

先把两件事分开:一个在差分回路里,一个在共模侧

RS485 用 A、B 两线之间的电压差表示逻辑,接收端看的是差值。这个定义直接决定了两条独立的失效路径。

终端电阻跨接在 A 和 B 之间,它参与的是差分回路。它的职责是让线缆末端的阻抗和线缆本身匹配,使跑到线末端的信号被吸收掉,而不是折返回来叠加在后续的电平上。这是一个纯粹的信号完整性问题,和地没有关系——哪怕全总线共一个理想的地,末端不匹配的反射依然存在。

共地是给收发器一条共模参考。差分传输抵消的是同时叠加在 A、B 两线上的共模干扰,但接收器本身只在一定的共模输入范围内工作。A、B 之间的差值再正确,如果这两根线相对于接收端本地地的绝对电位被整体抬起或压下、超出了接收器能承受的范围,接收器就读不出这个差值。共地做的是把各设备的参考电位拉到同一基准附近,让差分信号始终落在接收器工作得了的窗口里。

把这两句话记住,后面所有判断都是从它们推出来的:终端电阻不到位,错的是波形;共地不到位,错的是整个信号的落点。

终端电阻:判据不是长度,是跳变沿和线上传播时间的关系

「多长的线要加终端电阻」是个被问烂了、但方向就不对的问题。反射造成误码需要两个条件同时成立:线末端阻抗不匹配(这个基本总成立),以及反射波回到接收端时,恰好还落在当前这一位的采样窗口附近

于是真正决定要不要加的是三个量的关系:

  • 信号跳变沿的陡峭程度,由总线上收发器的输出特性决定,不由波特率单独决定。沿越陡,能被反射搅乱的时间窗口越细;
  • 信号在这段线缆上单程传播所需的时间,由线缆长度和线缆的信号传播速度共同决定;
  • 一位数据持续的时间,由波特率决定。

当往返一次的传播时间相对于一位的持续时间不再可以忽略时,这条线就得按传输线看待,末端不匹配的后果就会写进数据里。这解释了两个看起来矛盾的现象:同一条线,速率提上去之后才开始报错;以及同样的速率,线加长之后才开始报错。两者都是同一个比值被推过了临界点。

反过来说,在这个比值远未到临界点时,反射的影响本来就较小。但这不构成「可以不加」的理由——站内既有的RS485 总线展厅布线给的是明确口径:总线物理两端各接一只 120Ω,中间设备终端跳线全关,并且把它写进了验收清单。原因正是:这类总线是「现在能用」而不是「设计正确」,后期一旦提速率、加长度或加设备,会突然复发,而那时候没人会想到去查一条运行了很久的线。

阻值取多少,标准答案是「跟着线缆的特性阻抗走」。匹配的对象是线缆,不是设备也不是协议。这带来一条实用推论:如果现场用的不是 RS485 专用的双绞线,而是随手抓来的多芯线,那么无论按哪个「标准值」去配终端电阻,都匹配不上——线缆的特性阻抗本身就不在预期范围里。这种现场先换线,再谈终端。

为什么「加了终端反而更差」是真的

终端电阻在直流上也是一条并在 A、B 之间的负载。总线两端各接一只,是驱动器设计时就预期的负载;如果中间设备的终端跳线也被打开,并联上去的电阻会让总的负载变重,驱动器建立的差分电压幅度被拉低,接收端的判决裕量随之下降。现象是加完终端反而更容易错,而且是全总线一起变差,不是某一段。既有布线篇把这条写进了排查表,方向和这里一致。

由此有一条容易被忽略的核查动作:确认「两端」指的是电气拓扑上的物理末端,而不是接线顺序表上的第一台和最后一台。这两者可能不一致——弱电间的接线端子排上,主控未必接在总线的一头,也可能是从中间接入的。以接线顺序表为准去开终端跳线,很可能开在了总线中段,两个真正的末端反而都是敞开的。判断依据只有一个:顺着线走,看信号最后到达的两个物理点在哪里。

还有一个和终端相关但常被混为一谈的问题:RS485 半双工总线在同一时刻只允许一个设备驱动总线,也就意味着存在没有任何设备驱动总线的空闲时段。这段时间里 A、B 之间不存在由驱动器建立的确定电压差,接收端读到什么取决于线上的残余电平与噪声。表现是没有任何主站请求的时候,串口助手里也会零星蹦出字节。收发器是否内置了对这种状态的保护,以及总线上是否需要额外的空闲态偏置,属于收发器与设备设计层面的事,以设备官方数据手册为准,不要靠改终端电阻去凑。

共地:差分不等于不需要地

「485 是差分的,所以不用接地」是个流传很广的误解。它对了一半:差分确实让你不必依赖地线来传输信号本身,但它没有免除接收器对共模范围的要求。

什么时候共地从可选变成必须,判据同样不是长度,而是两端的地之间有没有可观的电位差来源:

  • 两台设备由不同配电回路、不同配电箱、甚至不同楼层供电;
  • 总线跨越了不同的接地体(例如一段在弱电井、一段在室外机箱);
  • 链路附近有大功率变频、LED 电源等设备,地网上本身带着干扰。

只要满足其中一条,两端地电位差就不再是可以默认为零的量,共地就是必须项。反过来,一台主控带几台就近取电、共用同一路电源的设备,这几台之间本来就已经共地了,再单独拉一根信号地意义有限。这也解释了为什么同一套接法,在共用一路电源的小范围里没问题,跨到另一路供电时就可能出状况。

不加共地时的典型表现是:用万用表量 A、B 上的电平看着都正常,通信却偶发中断或成片丢包,换参数、换地址、换设备都没有改善。它不改变单个字节的形状,它让整帧数据落到接收器工作范围之外,所以更倾向于表现为「整帧收不到」而不是「收到但内容错」。

最后一条边界:共地和屏蔽层接地不是同一件事。信号地是一根独立的参考导体,随 A、B 一起走;屏蔽层的职责是把干扰导走,站内既有布线篇给出的口径是屏蔽层单端接地——两端都接会让屏蔽层与建筑地之间形成一个闭合回路,这个回路本身可能引入电流。把屏蔽层当作信号地两端接通,是把两条纪律搅成一条的典型做法。

不拆线怎么把两类故障分开

现场最有价值的动作,是在还没爬线槽之前先把方向定下来。有三个不用拆线的观测点。

第一,看错误的类型而不是错误的数量。 如果总线上跑的是 Modbus RTU,它的串行帧带 CRC 校验,主站侧能把失败分成两类:帧收到了但 CRC 不通过,说明信号到了、位被改坏了,这一类偏向反射与信号完整性;请求发出后在超时时间内什么都没收到,说明整帧没能被正确接收或从站根本没应答,这一类偏向共模、供电与地址问题。主站软件或网关若能分别统计这两个计数,把它们分开看,方向立刻就窄了一半;只能看到一个「失败次数」的,先想办法把这两类分开再谈排查。Modbus 侧读不到数据的完整排查顺序,见 Modbus 读不到数据排查

第二,降速试一次。 不动任何接线,只把全总线的波特率整体降一档再复测。降速后错误明显减少,指向反射与时序裕量——因为一位的持续时间变长了,反射回来的能量被推出了采样窗口。降速后几乎没有变化,指向共模或供电——共模问题跟位宽没关系。这个动作的成本只有改一遍参数,却能一刀切开两个方向。注意改完要把全总线的波特率、数据位、停止位、校验位保持一致,任何一项不齐都会引入新的乱码,那属于另一类问题,见 RS232 串口乱码 6 步定位

第三,按供电分组观察。 把总线上的设备按供电来源分组,看错误是否集中在某一组。如果失联的设备恰好都是那几台从另一路电源取电的,共地的嫌疑就非常大;如果错误分布和供电分组无关、却和设备在总线上的物理位置相关,那就回到拓扑与终端。

加装顺序:一次只动一处

这两样东西的加装本身很简单,难的是不要把归因搞乱。

  1. 先取基线。 在动手之前,把当前的 CRC 错误数、超时数、按从站的分布记下来。没有基线,改完之后「好像好点了」是没法作为结论的。
  2. 先核拓扑,再动电阻。 确认有没有长支线、确认哪两台在物理末端、确认中间设备的终端跳线状态。这一步是查,不是改。
  3. 一次只改一件事,改完复测同一组计数。 同时补终端又拉地线,即使好了也不知道是哪一条起的作用,下一个展厅还得再猜一次。
  4. 拉共地线之前先测两端地之间的电位。 两个不同接地体之间存在电位差时,直接把它们用一根导线短接可能产生不小的电流。先测量再决定接法,必要时在断电状态下施工。

最容易栽的坑

  • 把终端电阻当万能稳定剂,哪不稳往哪加。它只治反射,且加多了会反向劣化驱动裕量。
  • 把「短线不加也能通」当成设计依据。这是当前速率与长度下的巧合,改造一次就可能复发。
  • 把屏蔽层当信号地两端接通,既没解决共模参考,又引入了地回路。
  • 现象消失就收工,不记录改了什么。终端与共地这两条最终都要落进竣工文档,否则下一次改造时,会有人把它当成多余的线拆掉。

顺序上给个建议:先把拓扑与终端的位置核准,再按供电分组决定共地方案,最后才回到波特率与帧参数。物理层稳定之前,任何上层参数的调整都只是在挪动症状。总线跑通之后再往协议层查,可以接着看 RS485 总线布线与地址规划 里的验收清单逐条对照。

需要展厅软硬件方案或定制开发?

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。