物理层解析:收发器、终端电阻与信号质量
很多人觉得CAN FD的物理层没什么好讲的,不就是两根线加个电阻吗?
我在项目里吃过这方面的亏——有块板子通讯时好时坏,排查了两天才发现是收发器的共模电压范围选窄了。
本章咱们就掰开揉碎,把物理层的关键点说清楚。
一、CAN FD收发器的选型与特性
收发器是CAN控制器的“翻译官”。控制器输出的是逻辑电平(3.3V/5V),收发器把它转换成差分信号怼到总线上去。
CAN FD要求收发器支持更高的波特率(2Mbps甚至5Mbps以上),传统CAN收发器在高频下的延迟和压摆率往往跟不上。
我个人的习惯,看数据手册先盯三个参数:
- 循环延迟(Loop Delay)——收发器对数据路径的延迟,直接影响速率上限
- 显性/隐性电平差——CAN FD对差分电压摆幅要求更严,部分收发器电平差做不好会丢帧
- 共模电压范围——车载环境共模干扰大,范围窄了通讯就罢工
| 参数 | 传统CAN收发器 | CAN FD收发器 |
|---|---|---|
| 最大波特率 | 1 Mbps | 5~8 Mbps |
| 循环延迟 | 通常 > 200 ns | < 100 ns |
| 共模电压范围 | ±12 V | ±25 V 或更宽 |
| 总线唤醒 | 可选 | 支持CAN FD唤醒模式 |
避坑指南:我曾经在选型时为了省5毛钱,用了某款标称“兼容CAN FD”的老收发器。结果上了5M测,眼图根本睁不开。后来换了TI的TCAN1042,循环延迟从180ns降到60ns,问题一次性解决。
二、终端电阻:不只是120Ω
为什么总线两端要各挂一个120Ω电阻?说白了就是阻抗匹配。CAN总线的特性阻抗约120Ω,终端电阻把反射波吸收掉,信号才干净。
但到了CAN FD,事情没那么简单。
终端电阻的常见配置:
- 分立电阻: R1和R2各120Ω,分别连到CANH和CANL。最经典的做法,但共模噪声大时不好用。
- 分体式终端(Split Termination): 把120Ω拆成两个60Ω,中间加个电容到地。这个结构能滤除部分共模干扰,对CAN FD的高频信号很友好。
- 集成终端: 有些收发器芯片内部集成了120Ω,省了外部电阻。但一旦坏了就得换芯片,不灵活。
重点:CAN FD数据段波特率高,终端电阻的等效感抗不能忽略。电阻的寄生电容、贴片封装大小都会影响高频性能。我建议优先选用0603封装的薄膜电阻,寄生参数小。
我曾经遇到一个棘手问题:一个节点离总线末端很近,但终端电阻放在总线中间。结果信号在支路上来回反射,眼图惨不忍睹。记住:终端电阻必须挂在总线拓扑的最远端,距离偏差超过20cm都会显著影响信号质量。
三、信号质量诊断:眼图、共模电压与振铃
看物理层健不健康,拿示波器抓个眼图就知道了。CAN FD的眼图要求比CAN更严格。
为什么?因为高频下信号的上升沿和下降沿时间缩短,反射和振铃更容易破坏逻辑电平。
眼图关心的几个指标:
- 眼高(Eye Height): 显性差分电压和隐性差分电压之间的最小差值。CAN FD要求不小于1.5V(标称2.0V)。
- 眼宽(Eye Width): 有效采样窗口的宽度,不能小于位时间的60%。
- 过冲(Overshoot): 显性电平后的过冲不能超过5%。
⚠️ 注意:示波器采样率一定要够!有一次我用200MHz带宽的示波器测5Mbps的眼图,结果看到的振铃全是假的——那是示波器自身带宽不够导致的混叠。测CAN FD至少要用500MHz带宽的示波器。
共模电压的坑: CAN FD收发器的共模电压范围可以做到±25V,但实际使用中,如果接地参考点不统一,共模电压会漂移。我记得在一个项目中,两个ECU分别用不同的DC-DC供电,地电位差了2V,结果收发器直接进保护模式。后来加了共模扼流圈才稳住。
振铃处理: 振铃的本质是阻抗不连续。总线经过连接器、线束、过孔时阻抗突变,信号反射叠加。解决办法:
- 控制差分阻抗在100~120Ω
- 减少分支长度(stub)——理想情况下每个节点的分支长度不超过30cm
- 在接收端串联22~33Ω的阻尼电阻(瑞利电阻)吸收反射
四、PCB布局与线束设计要点
这些细节看起来琐碎,但直接影响信号质量。我把我在实践中积累的要点列了一个清单:
| 设计项目 | 建议值/做法 | 原因 |
|---|---|---|
| 差分对线宽/线距 | 线宽15~20 mil,间距10~15 mil(依层叠) | 控制差分阻抗在100~120Ω |
| 等长要求 | CAN差分对长度偏差 ≤ 5 mm | 减少共模转换,保持信号小 |
| 参考层 | 连续地平面,不得断开 | 提供稳定回流路径,减少EMI |
| 过孔 | 每根线不超过2个过孔 | 每个过孔引入约0.5 pF容性不连续 |
| 线束双绞 | 绞距20~30 mm | 抑制共模干扰,保证电磁兼容 |
我的经验:PCB上CAN走线千万不要和时钟线、PWM线平行走长距离,串扰会让你抓狂。如果必须交叉,走垂直交叉并保持间距20 mil以上。
嗯,物理层看上去就是些“简单硬件”,但恰恰是这些基础决定了CAN FD能否跑通。很多项目死在物理层上,不是因为协议不理解,而是电阻位置错了、走线太随意、收发器选型没到位。
把这些基础吃透,后面的排故工作才能事半功倍。