4. 差分信号传输:RS-422/485标准、差分线对布线规则、终端匹配电阻

好,咱们进入第四章。前面几章聊了干扰从哪来、怎么耦合的,也讲了共模扼流圈和磁珠这些滤波手段。但说实话,最好的抗干扰,是从传输方式上就把干扰给废掉。这就是今天要聊的——差分信号传输。

我刚开始做编码器接口时,用的还是单端5V信号。线一长,波形就糊了。后来换成差分对,同样的电机、同样的线缆,波形干净得像教科书。嗯,从那以后,但凡编码器距离超过30厘米,我必上差分。

4.1 为什么差分信号能抗干扰?

先看个基本概念。单端信号,一根信号线对地。干扰进来,直接叠加在信号上。你想想看,地平面稍微抖一下,信号就跟着抖。

差分信号不一样。它用两根线传一对互补信号:A线和B线。A高B低代表1,A低B高代表0。接收器只看两根线的差值,不看它们对地的绝对值。

核心原理:外部干扰同时耦合到两根线上(共模干扰),两根线的差值几乎不变。接收器一减,干扰就被抵消了。

说白了,差分传输天然就是共模抑制器。我在一个伺服驱动器项目里遇到过,编码器线缆和动力线绑在一起走了两米,单端信号完全没法看,换成差分后,波形纹丝不动。

4.2 RS-422 与 RS-485 标准

编码器换相信号常用的差分标准,主要是RS-422和RS-485。很多人搞混这两个,其实区别很清晰。

特性 RS-422 RS-485
驱动方式 单主多从(一发多收) 多主多从(多点双向)
最大节点数 1发10收 32个节点(标准),可扩展
传输模式 全双工 半双工(也可全双工)
典型编码器应用 增量式编码器(A+/A-、B+/B-、Z+/Z-) 多圈绝对值编码器(总线式)
最大速率 10 Mbps(短距离) 10 Mbps(短距离)
最大距离 约1200米(低速) 约1200米(低速)

我个人习惯:增量式编码器的A、B、Z三对信号,用RS-422。因为每对信号独立传输,全双工,不需要握手协议。而多圈绝对值编码器走总线时,用RS-485更合适,一根双绞线就能挂多个节点。

小经验:编码器端的RS-422驱动器,我常用DS26LV31或AM26LS31。接收端用DS26LV32或AM26LS32。这些芯片便宜、皮实,5V供电,工业级温度范围。

4.3 差分线对布线规则

标准选好了,芯片焊上去了,但布线不行,照样白搭。我见过太多人,原理图画得漂亮,PCB一塌糊涂。

差分线对布线的核心就四个字:等长、等距。

  • 等长:两根线的长度差控制在5mm以内。长度不等,信号到达接收器的时间就不同,共模抑制效果下降。
  • 等距:两根线的间距保持一致。间距变化会导致差分阻抗变化,产生反射。

具体怎么做?我列几条实战规则:

  1. 走线尽量靠近:两根线间距保持在2倍线宽左右(比如线宽0.25mm,间距0.5mm)。太远,抗干扰能力下降;太近,串扰增大。
  2. 避免90度直角:直角走线会改变阻抗,产生EMI。用45度斜角或圆弧过渡。
  3. 远离噪声源:差分线对不要平行于时钟线、PWM线、电源线。如果必须交叉,用垂直交叉。
  4. 地平面完整:差分线下方最好有连续的地平面。不要跨分割区,否则阻抗不连续。
  5. 成对走线:A+和A-必须走在一起,不要分开。我见过有人把A+走顶层、A-走底层,结果干扰全进来了。

注意:差分线对不是非要严格平行不可。短距离内稍微绕一下调整等长,问题不大。但不要为了等长而绕出大圈,那样反而引入更多耦合噪声。

4.4 终端匹配电阻

好,线布好了,信号发出去了。但信号到了接收端,如果不做终端匹配,会发生什么?反射。

信号在传输线末端遇到阻抗突变,一部分能量反射回来,叠加在原信号上,造成过冲、振铃、误触发。编码器换相信号一旦误触发,电机位置就跳变,后果你懂的。

终端匹配电阻的作用,就是把传输线的特性阻抗和接收端阻抗匹配起来,让信号能量被吸收,而不是反射回来。

4.4.1 电阻值怎么选?

标准RS-422/485的传输线特性阻抗通常是100Ω或120Ω。所以终端匹配电阻就用这个值。

  • 120Ω:最常用,对应双绞线的典型特性阻抗。
  • 100Ω:某些电缆或PCB走线用这个值。

我一般直接焊120Ω贴片电阻,0805封装,放在接收器输入端的最远端。

4.4.2 电阻放哪?

记住一句话:电阻放在信号的最远端。对于RS-422,每对差分信号只在接收端放一个电阻。对于RS-485,如果总线上有多个节点,电阻放在总线两端。

实战案例:有一次调试一个编码器,信号在100米外,波形有严重的过冲。我用示波器一看,终端电阻没焊。焊上120Ω电阻后,波形立刻变平滑。嗯,有时候问题就这么简单。

4.4.3 偏置电阻(上拉/下拉)

除了终端匹配电阻,RS-485总线有时还需要偏置电阻。目的是在总线空闲时,保证A-B的电压差大于200mV,避免接收器输出不确定状态。

偏置电阻的接法:

  • A线通过一个电阻上拉到5V
  • B线通过一个电阻下拉到GND
  • 电阻值通常取1kΩ~10kΩ,具体看总线负载

我个人习惯:只在总线两端加偏置,中间节点不加。加多了,偏置电流太大,驱动器可能带不动。

4.5 知识体系总览

下面这张图,把本章的核心逻辑串起来了。从干扰源头到最终解决,每一步都有对应手段。

差分信号传输知识体系 差分信号传输抗干扰知识体系 干扰导致信号畸变 采用差分信号传输 RS-422 / RS-485 标准 差分线对布线规则 终端匹配电阻 全双工 vs 半双工 节点数:1发10收 vs 32节点 等长、等距 远离噪声源、地平面完整 120Ω 终端电阻 偏置电阻(上拉/下拉) 信号完整、抗干扰能力强

4.6 实战避坑清单

最后,我把自己踩过的坑整理成一份清单。你照着检查,能省不少调试时间。

  • 终端电阻焊错位置:电阻要焊在接收端,不是发送端。我曾经把电阻焊在编码器侧,结果信号衰减严重。
  • 差分线不等长:长度差超过10mm,高速信号(比如5MHz以上)就会出问题。用示波器看,波形会有台阶。
  • 忘记加偏置电阻:RS-485总线空闲时,接收器输出乱跳。我遇到过电机莫名其妙抖动,查了半天,就是缺偏置。
  • 地线环路:差分信号虽然不依赖地,但接收器和发送器之间如果地电位差太大,共模电压会超出芯片承受范围。建议在接收端加共模扼流圈或光耦隔离。
  • 线缆选型不对:不要用普通排线传差分信号。用双绞线,最好是带屏蔽层的双绞线(比如Belden 9841)。

我的习惯:每次画完PCB,我都会用万用表量一下差分线对的长度。如果手头有TDR(时域反射计),直接测阻抗,确保在100Ω±10%以内。没有TDR也没关系,用示波器看信号边沿有没有过冲,也能判断匹配好不好。