差分信号与RS-422:传输特性、抗干扰、终端匹配

做振镜调试的头一两年,我其实没太把信号传输当回事——总想着只要线接对了就能跑。结果有一次打标出来的线条像得了帕金森,查了一整天才发现是长线反射导致的。从那以后,我对差分信号和RS-422的敬畏心就上来了。

说白了,XY2-100协议能在工业现场稳定跑几十米,靠的就是差分信号这把“防弹衣”。而这把防弹衣的骨架,就是RS-422标准。

4.1 为什么振镜控制非差分不可?

振镜控制器和电机驱动器之间,少说三五米,多则十几米。如果只用普通的5V单端信号(比如TTL),沿途的电机开关噪声、电源纹波会一股脑叠加上去。接收端根本分不清哪个是信号、哪个是噪声。

差分信号怎么解决?

  • 双线反相传输:A线传原始电平,B线传电平的反相版本。
  • 接收端取差值:V_diff = V(A) - V(B)。共模噪声(两根线上幅度相同、方向相同的干扰)被直接减掉。
  • 抗干扰能力提升:同样线长下,差分传输的噪声余量比单端大一个数量级。

我自己的习惯:只要是振镜XY2-100信号线,我必用双绞屏蔽线,并且A/B对一定要绞合紧密。线越绞,抗干扰越好,这不是玄学。

4.2 RS-422 标准速览

RS-422是差分传输的老前辈了——上世纪70年代的标准,但至今在工业领域活得好好的。XY2-100协议里,时钟和数据的电气层就基于它。

参数RS-422实际振镜常用值
传输方式全双工,点对多点(一主多从)全双工(Clock+Data各一对)
差分电压摆幅±2V ~ ±6V(典型±2V)±2V(10Mbps时足够)
共模电压范围−7V ~ +12V振镜系统通常限制在0~5V
最大速率10Mbps(12m线长)XY2-100最高2Mbps
终端匹配电阻100Ω~120Ω100Ω(双绞线特征阻抗)
驱动类型差分输出(如DS26LS31)常用SN75174或AM26LS31

和RS-485比,RS-422是全双工(独立收发),所以XY2-100里不需要切换方向,实现更简单。

4.3 传输特性:线长、阻抗和摆幅

你想想看,差分信号在双绞线上就像一对“跷跷板”——A端上去,B端下来。但这个跷跷板不能任意甩,必须保持特征阻抗匹配。

  • 特征阻抗:普通Cat5e网线约100Ω,专用Profibus电缆也是150Ω。振镜系统我统一选100Ω双绞线,匹配最好找。
  • 信号摆幅:RS-422驱动器输出一般是2V~5V的差分摆幅。注意,接收器灵敏度只有±200mV,所以摆幅不是越大越好——大摆幅会带来更大的EMI辐射。
  • 线长与速率的妥协:信号频率越高,传输线效应越明显。2Mbps下我试过最远30米,再长就需要加中继了。

我曾经在一条15米长线上踩过坑:因为布线时A、B两根线长度差了15厘米(绕了个弯),结果差分信号在接收端产生了共模偏移,振镜偶尔乱跳。后来把两根线剪成一样长,问题消失。差分传输对“等长”很敏感,别小看这十几厘米。

4.4 抗干扰:共模抑制不是万能的

差分信号的核心优势是共模抑制(CMRR)。但CMRR不是无限大——实际RS-422接收器CMRR在50~70dB(频率1MHz以下)。

这意味着什么?

  1. 对低频噪声(如50Hz工频)几乎100%抑制:你测V_diff时基本看不到。
  2. 对高频噪声(如电机PWM跳变沿)抑制效果打折扣:特别是信号边沿和干扰边沿对齐时,CMRR会急剧下降。
  3. 地回路仍然是隐患:虽然差分信号不依赖地,但收发器的共模电压不能超过−7V~+12V。一旦地电位差过大,接收器内部保护二极管会导通甚至烧毁。

实战要点:

  • 在振镜控制器侧加一个共模扼流圈(CMC),能明显抑制高频共模干扰。
  • 屏蔽层单端接地(只在发送端或接收端接),避免形成地环。
  • 信号线远离电机动力线(至少10cm间距),不得不交叉时走直角。

4.5 终端匹配:不加电阻等于找茬

这是新人最容易忽略的地方。不加终端电阻会怎么样?

信号到达线末端时,如果阻抗不匹配,一部分能量会反射回源端。反射回波叠加到原信号上,造成波形畸变、过冲或振铃。振镜的Clock信号一旦畸变,数据采样就会出错——轻则打标位置偏差,重则振镜啸叫。

正确做法:

  • 在接收器最远端(信号线末端)跨接一个电阻,值等于传输线特征阻抗(100Ω)。
  • 对于RS-422全双工拓扑,每个差分对的末端都要单独加。不要偷懒只加一对。
  • 如果多从站(很少见),需要根据总线长度和分支计算匹配,一般不建议分支太远。
// 以XY2-100的DATA+ / DATA-这对为例
// 接收端(Galvo头内部)在电路板上放置100Ω电阻
// 如果Galvo头内部没焊,你需要自己加一个RJ45插头上的终端电阻模块

// 计算反思:1/2波长对应频率 = v / (2 * L)
// 对于10MHz信号在15米线上,若不匹配,反射能量可达信号幅度的30%

我建议:在调试阶段,用示波器探头钩住差分对的B端(相对地),比较加电阻和不加电阻的波形——落差非常明显。加了电阻后,上升沿的过冲会从30%降到5%以下。

4.6 一个简洁的整体视图

下面的SVG图把差分信号的发送、传输、匹配、接收串在一起,你可以对照着理解整个链路的物理层要素。

差分信号传输链路示意图 差分信号传输链路(RS-422) 发送端(驱动器) DS26LS31 / SN75174 输出摆幅 ±2V 速率 2Mbps DATA+ DATA− 双绞屏蔽线 特征阻抗100Ω 等长布线 A/B 长度差 < 5cm 终端电阻 100Ω 接收端 接收器 灵敏度 ±200mV CMRR 50~70dB 关键检查点: ① 差分摆幅 ≥1.5V(万用表AC档可测) ② 终端电阻在接收端最远端 ③ 共模电压在−2V~+7V以内 ④ A/B线等长,屏蔽层单端接地

4.7 实际调试中的几个粗心陷阱

最后,我把这些年见过的、自己踩过的几个坑整理一下,你调试时可以对照排查。

  1. 忘加终端电阻:振镜在低速时可能正常,一跑到2Mbps就抖动。用示波器看Clock波形,过冲超过20%基本就是没匹配。
  2. A、B反接:差分极性反了,数据持续报错。解决办法是对调A、B线,或者在代码里翻转数据极性(不推荐依赖软件来修硬件)。
  3. 屏蔽层两端接地:造成地环路,低频噪声耦合进信号。我遇到过振镜偶尔丢位置,查了三天才发现是屏蔽层在两端都接了机壳。
  4. 线缆类型不对:有人用普通多芯电缆跑差分信号,特征阻抗不对(比如只有30Ω),反射严重。换成双绞屏蔽线后立竿见影。

我记忆最深的一次:客户现场振镜频繁“掉线”,每次重启又正常。我用示波器一测,发现共模电压在10V左右波动——伺服电机的漏电流把地电位抬高了。最后在控制器和振镜之间加了个共模扼流圈,问题再没出现。所以调试时别光看差分信号,共模电压也要用示波器DC耦合测一下。