CAN FD 物理层:差分信号、共模电压、终端电阻

做 CAN 通信这些年,我发现很多工程师喜欢一上来就调软件配置,把物理层当成「默认就好」的环节。说实话,每次出 EMI 问题,十有八九都跟物理层没吃透有关。今天我就把 CAN FD 物理层最核心的三个东西——差分信号、共模电压、终端电阻——掰开揉碎讲清楚。

1. 差分信号 – 为什么非要两条线?

CAN FD 用的是差分传输,就是靠 CAN_H 和 CAN_L 两根线之间的电压差来传递信息。显性电平(逻辑 0)时,CAN_H ≈ 3.5V,CAN_L ≈ 1.5V,差值为 2V;隐性电平(逻辑 1)时,两根线都是 2.5V,差值为 0V。

有人问:为什么不用单端?我在一个项目里试过把其中一根线接地,结果上电就乱码——共模噪声在单端线路上直接叠加到信号上,根本没法用。差分信号最大的好处就是抗共模干扰:外界的电磁噪声几乎同时耦合到两条线上,接收器只看差值,噪声一抵消就干净了。

避坑小贴士: 布线时一定要让 CAN_H 和 CAN_L 等长、紧耦合(扭绞线对)。我见过因为走线分开太大,差模转共模后辐射直接超标。两条线就像双胞胎,得形影不离。

2. 共模电压 – 为什么它比你想的更重要?

共模电压就是 CAN_H 和 CAN_L 电压的平均值。正常工作时,隐性状态共模电压约 2.5V,显性状态稍微往下掉一点点(约 2.25V)。但实际系统中,不同节点的地电位可能有 1~2V 的偏差,再加上线缆压降,共模电压就会偏移。

我记得有一次在车载项目里,两个 ECU 距离 30 米,唤醒后偶尔丢帧。抓波形发现共模电压跑到了 3.8V,差点超过收发器共模输入范围。后来加了共模扼流圈才稳住。

共模电压为啥跟 EMI 整改有关?因为共模扼流圈靠磁芯的磁通抵消来抑制共模电流,而磁芯的饱和特性跟共模电压直接相关。共模电压太高,扼流圈里的共模电流就大,磁芯容易饱和——饱和后扼流圈就废了。

参数隐性(逻辑 1)显性(逻辑 0)
CAN_H 电压约 2.5 V约 3.5 V
CAN_L 电压约 2.5 V约 1.5 V
差分电压约 0 V约 2.0 V
共模电压约 2.5 V约 2.25 V

注意: 共模电压的偏移会直接影响共模扼流圈的共模阻抗。我曾经在 -40°C 环境下测扼流圈性能,发现额定电流降额后共模偏移更大,差点没通过 EMC 摸底。选型时一定要按最恶劣的共模电压工况来。

3. 终端电阻 – 小电阻,大责任

终端电阻的作用就是吸收总线末端的反射信号,防止驻波。CAN 总线的特性阻抗约 120Ω,所以终端电阻标准值就是 120Ω,还得放在总线两端各一个。

之前有个同事做工业控制,图省事只在主控端焊了一个 120Ω,结果从节点到主控距离 50 米,波形台阶明显,误码率飙升。我过去一看,终端电阻少了!你想想,信号跑到线末端发现阻抗不匹配,弹回来跟后面的信号叠加,波形不乱才怪。

这里我特别想强调终端电阻和共模扼流圈的布局顺序。正确的做法是:

  1. 共模扼流圈尽量靠近 CAN 收发器
  2. 终端电阻在扼流圈与线束连接器之间
  3. 终端电阻的两端直接跨在 CAN_H 和 CAN_L 上

有些设计为了节省空间,把终端电阻放在扼流圈之前(靠近收发器),这样扼流圈对终端反射的抑制效果就大打折扣。嗯,这个坑我踩过两次,后来再也不改了。

核心原则: 终端电阻只负责匹配线缆特性阻抗,不参与 EMI 滤波。共模扼流圈负责滤除共模噪声,两者各司其职,但布局会互相影响。

4. 一张图看懂物理层结构

下面这张图展示了 CAN FD 物理层从收发器到线束的完整链路,以及差分信号、共模电压、终端电阻三者的位置关系。

CAN FD 物理层核心结构 CAN 收发器 (差分输出端) 共模扼流圈 滤除共模噪声 终端电阻 R = 120Ω 总线末端 总线线缆 CAN_H / CAN_L 差分信号 Vdiff = CAN_H - CAN_L 共模电压的影响 Vcm = (CAN_H + CAN_L)/2 过高会导致扼流圈磁芯饱和 终端电阻关键 匹配线缆特性阻抗 ~120Ω 必须置于总线两端 推荐布局顺序:收发器 → 共模扼流圈 → 终端电阻 → 线束 扼流圈需紧贴收发器,终端电阻靠近线束连接器

这张图把从收发器到线束的路径全画出来了。可以看到共模扼流圈放在收发器之后、终端电阻之前,这样既不影响终端电阻的匹配作用,又能把收发器产生的共模噪声扼杀在早期。

5. 三者如何配合工作?

我再用一个实战场景串起来。假设你有一辆车的 CAN FD 总线,节点 1 发送数据,节点 2 接收。

  1. 差分信号从节点 1 收发器输出,经过共模扼流圈,扼流圈抑制掉线缆耦合进来的共模电流(比如马达驱动带来的共模噪声)。
  2. 信号到达总线末端,终端电阻吸收反射能量,防止信号振铃。
  3. 节点 2 处,同样经过共模扼流圈后再进接收器,接收器只认差分电压,共模成分被丢弃。

假如共模电压偏移到了 4V,节点的收发器还能工作吗?那得看收发器的共模输入范围。大部分 CAN FD 收发器可以接受 -2V ~ +7V 的共模电压,但别忘了还有共模扼流圈的饱和问题——共模电压升高导致共模电流增大,扼流圈磁芯可能提前饱和,共模阻抗骤降,滤波效果直接归零。

我建议: 选共模扼流圈时一定要核算最恶劣工况下的共模电流,特别是低温启动时电源电压偏高的情况。可以用这个公式快速估算:Icm = (Vcm_max - Vbus_mid) / Rk,其中 Rk 是线缆直流电阻与终端电阻的并联值。

好了,差分信号、共模电压、终端电阻这三驾马车,每一匹都得跑稳。物理层稳了,后面的 EMI 整改才有根基。