4. CAN总线物理层

CAN总线的可靠性并不只取决于协议层的仲裁与校验,物理层才是决定“信号能不能被正确识别”的第一道关口。很多现场故障——偶发位错误、节点掉线、波形振铃、辐射超标——追根溯源都落在双绞线、终端电阻、共模扼流圈、收发器与电平规范这五个环节上。理解它们之间的配合关系,是后续用示波器定位故障的基础。

一、双绞线:为什么必须“绞”

CAN_H 与 CAN_L 采用差分传输,信号以两根线之间的电压差表达。双绞线的作用是让两根导线在空间上交替换位,使外界电磁场在两根线上感应的干扰电压几乎相等,从而在接收端做差时被抵消。绞距越均匀、两线越对称,共模抑制能力越强。

工程上要注意三点:一是必须使用特性阻抗约 120 Ω 的双绞线,普通平行线或屏蔽层单端悬空的线缆会破坏阻抗连续性;二是双绞的两根线不能拆开走线,一旦分开,环路面积增大,抗干扰能力急剧下降;三是屏蔽层通常单点接地,两端接地会引入地环流,反而把干扰耦合进总线。

判断线缆是否合格,可用万用表测两根线之间的电容:绞距均匀的线,CAN_H 对 CAN_L 电容稳定;若数值跳动明显,说明线缆结构或接头存在不对称。

二、终端电阻:不只是“吸收反射”

CAN 总线两端各需一个 120 Ω 终端电阻,并联后总线直流阻抗约 60 Ω。它的作用有三层:第一,匹配线缆特性阻抗,吸收信号到达末端后的反射能量,避免振铃造成位采样错误;第二,为收发器提供确定的直流负载,使显性电平能快速建立;第三,在总线断开或短路时,为差分电压提供泄放路径,帮助故障诊断。

常见误区是“每个节点都焊一个 120 Ω”。若总线上有 10 个节点各带 120 Ω,并联后仅 12 Ω,收发器驱动电流过大,显性电平被拉低,通信距离和抗扰度都会恶化。正确做法是只在物理两端各放一个,中间节点不装。

总线两端各 120 Ω:
R_total = 120 // 120 = 60 Ω
若误装 4 个:R_total = 30 Ω → 显性压差不足、功耗升高

三、共模扼流圈:抑制共模,不伤差分

共模扼流圈把 CAN_H 与 CAN_L 同向绕在同一磁芯上。差分信号电流方向相反,磁通相互抵消,因此对差分信号呈现低阻抗;而共模干扰电流方向相同,磁通叠加,呈现高阻抗,从而被抑制。它常与终端电阻、TVS 管一起构成收发器前端保护网络。

选型时要关注共模阻抗、额定电流和寄生电容。寄生电容过大会与线缆电容形成低通,压缩信号上升沿,导致位时间裕量下降。在 500 kbit/s 及以上速率,建议选择寄生电容小、共模阻抗在 100 MHz 附近较高的型号。

四、收发器芯片与电平规范

收发器负责把 CAN 控制器的逻辑 TXD/RXD 转换为总线差分电平。以经典高速 CAN 收发器为例,显性位时 CAN_H 约 3.5 V、CAN_L 约 1.5 V,差分电压约 2 V;隐性位时两线均约 2.5 V,差分接近 0 V。接收端通常以约 0.9 V 和 0.5 V 的差分阈值判断显隐性,并带有一定迟滞以抗噪声。

收发器还决定总线故障时的行为:TXD 持续显性会触发显性超时保护,避免总线被单节点锁死;部分器件支持待机、睡眠和远程唤醒。选型时要核对供电范围、环路延时、共模输入范围和 ESD 等级,不能只看“能不能通”。

CAN 物理层信号链与关键部件 节点 A 控制器 + 收发器 TXD / RXD 节点 B 控制器 + 收发器 TXD / RXD 中间节点 收发器 + 共模扼流圈 不装终端电阻 CAN_H CAN_L CAN_H CAN_L 120 Ω 终端电阻(左端) 120 Ω 终端电阻(右端) 共模扼流圈 差分低阻 · 共模高阻 高速 CAN 电平规范(典型值) 显性位(Dominant) CAN_H ≈ 3.5 V,CAN_L ≈ 1.5 V 差分电压 V_diff ≈ 2.0 V 隐性位(Recessive) CAN_H ≈ CAN_L ≈ 2.5 V 差分电压 V_diff ≈ 0 V

五、五要素协同:一个现场案例

某新能源整车 CAN 网络在路试中偶发“节点掉线”,用示波器抓取总线波形发现显性位上升沿有明显振铃,且差分幅值仅约 1.2 V。排查结果:线束中有一段 CAN_H/CAN_L 被拆开走线约 30 cm,且中间节点误装了 120 Ω 电阻,总线并联阻抗降到约 40 Ω。整改措施是恢复双绞、拆除中间终端电阻、在收发器前端补装共模扼流圈,振铃消失,差分幅值恢复到约 2 V,掉线不再复现。

物理层故障往往表现为“协议层症状”。看到位错误、错误帧增多时,不要只查波特率和滤波器,应优先用示波器确认差分幅值、上升沿、终端阻抗和共模噪声。

六、关键参数速查清单

项目 典型值 / 要求 诊断要点
线缆特性阻抗 120 Ω 双绞线 用 TDR 或阻抗仪确认,避免平行线
终端电阻 两端各 120 Ω,并联约 60 Ω 断电测 CAN_H-CAN_L 直流电阻
显性差分电压 约 2.0 V(1.5~3.0 V) 示波器差分探头测 CAN_H-CAN_L
隐性差分电压 约 0 V(-0.5~0.05 V) 确认无节点持续拉显性
共模扼流圈 差分低阻、共模高阻 关注寄生电容与额定电流
收发器环路延时 影响位时间裕量 高速率时选低延时型号

把双绞线、终端电阻、共模扼流圈、收发器和电平规范作为一个整体来看,才能理解 CAN 物理层“为什么这样设计”。后续用示波器做波形诊断时,先看差分幅值和终端阻抗,再看上升沿与共模噪声,最后回到收发器与线束结构,定位路径会清晰很多。