4. CAN总线物理层
CAN总线的可靠性并不只取决于协议层的仲裁与校验,物理层才是决定“信号能不能被正确识别”的第一道关口。很多现场故障——偶发位错误、节点掉线、波形振铃、辐射超标——追根溯源都落在双绞线、终端电阻、共模扼流圈、收发器与电平规范这五个环节上。理解它们之间的配合关系,是后续用示波器定位故障的基础。
一、双绞线:为什么必须“绞”
CAN_H 与 CAN_L 采用差分传输,信号以两根线之间的电压差表达。双绞线的作用是让两根导线在空间上交替换位,使外界电磁场在两根线上感应的干扰电压几乎相等,从而在接收端做差时被抵消。绞距越均匀、两线越对称,共模抑制能力越强。
工程上要注意三点:一是必须使用特性阻抗约 120 Ω 的双绞线,普通平行线或屏蔽层单端悬空的线缆会破坏阻抗连续性;二是双绞的两根线不能拆开走线,一旦分开,环路面积增大,抗干扰能力急剧下降;三是屏蔽层通常单点接地,两端接地会引入地环流,反而把干扰耦合进总线。
二、终端电阻:不只是“吸收反射”
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 网络在路试中偶发“节点掉线”,用示波器抓取总线波形发现显性位上升沿有明显振铃,且差分幅值仅约 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 物理层“为什么这样设计”。后续用示波器做波形诊断时,先看差分幅值和终端阻抗,再看上升沿与共模噪声,最后回到收发器与线束结构,定位路径会清晰很多。