3. CANFD物理层:高速CAN物理层特性、终端电阻匹配、共模扼流圈设计、PCB布局要点
好,咱们进入第三章。物理层这东西,说实话,很多工程师容易忽略。总觉得协议搞懂了,软件调通了,车就能跑了。但我跟你说,物理层要是没弄好,什么协议都是白搭。我见过太多案例,CANFD跑着跑着突然丢帧,或者无缘无故总线错误,最后查来查去,都是物理层那几个小元件没处理好。
3.1 高速CAN物理层特性
先说说CANFD的物理层。它跟传统CAN有啥区别?说白了,CANFD物理层在高速模式下,位时间更短了。传统CAN最高1Mbps,CANFD能到5Mbps甚至8Mbps。速率一上去,信号完整性就成了大问题。
我记得有一次,客户反馈说他们的CANFD在2Mbps下工作正常,一升到5Mbps就频繁出错。我过去一看,好家伙,PCB走线绕了三个弯,长度超过30厘米。这能稳定才怪。
高速CAN物理层有几个关键参数:
- 显性电平:差分电压约1.5V到3.0V
- 隐性电平:差分电压接近0V(实际约-0.5V到0.05V)
- 共模电压:约2.5V(这个很关键,后面会讲)
- 位时间:CANFD数据段位时间可短至125ns(8Mbps)
你想想看,125ns是什么概念?信号在PCB上的传播速度大约是每纳秒15厘米。也就是说,一个位时间内,信号只能走不到2米。如果总线过长,反射就会在同一个位时间内回来,直接干扰采样点。
核心要点:CANFD物理层设计,本质上是在跟时间赛跑。速率越高,对寄生参数越敏感。
3.2 终端电阻匹配
终端电阻,这玩意儿看着简单,就两个120欧姆的电阻。但我跟你说,这里面的坑可不少。
标准CAN总线要求两端各接一个120Ω电阻,并联后等效60Ω。为什么是60Ω?因为CAN收发器的输出阻抗设计就是匹配这个值的。阻抗不匹配,信号就会反射。
我遇到过最典型的问题是什么?有人为了省成本,只在总线一端接了120Ω。结果呢?信号反射严重,总线长度稍微长一点就出错。还有人在每个节点上都接了120Ω,导致等效阻抗只有30Ω,收发器驱动能力不够,显性电平都拉不到标准值。
这里我给大家一个实用的检查方法:
// 终端电阻检查步骤
1. 断电状态下,用万用表测量CAN_H和CAN_L之间的电阻
2. 正常值应在60Ω左右(两端各120Ω并联)
3. 如果测到120Ω,说明只有一端接了终端电阻
4. 如果测到40Ω或更低,说明接了三个或更多终端电阻
5. 如果测到无穷大,说明终端电阻都没接
警告:CANFD在高速模式下,终端电阻的精度要求更高。建议使用1%精度的电阻,不要用5%的。我曾经在一个项目中用了5%的电阻,结果批量生产时,有的板子总线阻抗偏差到55Ω,高速通信直接挂掉。
还有一个细节——终端电阻的放置位置。理想情况下,应该放在总线的最两端。但实际项目中,ECU都是分布在车上不同位置的。我个人的习惯是,在靠近总线连接器的位置放置终端电阻,而不是放在PCB的远端。这样可以减少stub(分支)长度。
3.3 共模扼流圈设计
共模扼流圈,英文叫Common Mode Choke,简称CMC。这东西的作用是抑制共模干扰,同时让差模信号通过。
为什么要用CMC?因为汽车环境太恶劣了。发动机点火、电机驱动、各种开关切换,都会在总线上注入共模噪声。如果没有CMC,这些噪声会直接进入收发器,轻则误码,重则烧毁芯片。
选型时要注意几个参数:
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 共模电感 | 50μH ~ 100μH | 太低抑制效果差,太高影响信号边沿 |
| 直流电阻 | < 0.5Ω | 太大影响总线压降 |
| 额定电流 | > 200mA | 考虑短路情况下的电流 |
| 共模抑制比 | > 30dB @ 1MHz | 对CANFD的2-5MHz谐波有效 |
嗯,这里要注意一个容易踩的坑。有些工程师觉得CMC越大越好,选了个220μH的。结果信号边沿被严重拉长,CANFD的高速模式根本跑不起来。为什么?因为CMC的寄生电容和电感会形成一个LC滤波器,截止频率太低就把信号的高频分量滤掉了。
我建议的做法是:先根据目标速率估算信号的最快边沿时间,然后确保CMC的截止频率至少是信号最高频率的3倍以上。
小技巧:如果空间允许,可以在CMC前后各加一个小电容(比如10pF)到地,形成π型滤波。我在一个EMC测试没过关的项目中用了这个办法,共模辐射直接降了8dB。
3.4 PCB布局要点
PCB布局,这是物理层设计的最后一步,也是最容易出问题的一步。我见过太多原理图设计完美,但PCB布局一塌糊涂的案例。
先说几个基本原则:
- 差分走线:CAN_H和CAN_L必须紧耦合走线,线间距控制在2倍线宽以内
- 等长设计:CAN_H和CAN_L的走线长度差不超过5mm
- 远离干扰源:不要靠近时钟线、开关电源、电机驱动等高频大电流区域
- 避免直角:走线转角用45度或圆弧,不要用直角
我记得有一次,一个项目在实验室测试都通过了,装车后就出问题。排查了三天,最后发现是CAN走线在PCB上绕了一个90度直角,而且旁边正好是一路DC-DC的电感。那个直角产生了EMI,被DC-DC的磁场耦合进来,导致总线信号畸变。
收发器的布局也有讲究:
推荐布局顺序(从收发器到总线连接器):
收发器 → 共模扼流圈 → 终端电阻 → TVS管 → 连接器
注意:
1. 收发器到CMC的走线尽量短,不超过10mm
2. 终端电阻要靠近连接器放置
3. TVS管要放在最靠近连接器的位置
4. 所有元件的接地引脚都要就近打过孔到地平面
还有一个很多人忽略的点——地平面。CAN收发器需要一个完整的地平面作为参考。如果地平面被分割了,或者有狭缝,共模电流的回流路径就会变长,产生共模辐射。
实战经验:我一般会在收发器下方铺一块完整的地铜皮,然后打一圈过孔到主地平面。这样既提供了低阻抗回流路径,又起到了屏蔽作用。这个做法在我参与的三个量产项目中都验证过,EMC性能明显优于没有铺地的设计。
最后说说层叠结构。对于4层板,我推荐:
- 顶层:信号走线(包括CAN差分对)
- 第二层:地平面(完整,不要分割)
- 第三层:电源平面
- 底层:其他低速信号
这样CAN信号有完整的地平面作为参考,阻抗可控,回流路径短。如果你用的是2层板,那就得更加小心了——尽量让CAN走线在顶层,底层铺地,并且走线宽度要适当加宽以控制阻抗。
好了,物理层的内容就这些。说白了,就是几个元件和几条走线的事。但就是这些看似简单的东西,决定了你的CANFD能不能稳定工作在5Mbps甚至更高。下一章我们聊聊CANFD的数据链路层,到时候会讲到帧格式和位填充,那又是另一番天地了。