第三章 CANFD物理层:收发器选型、终端电阻匹配、信号质量要求

各位工程师朋友,咱们今天聊聊CANFD物理层。说实话,很多做CAN通信的工程师,往往把精力都放在协议栈和上层软件上,觉得物理层嘛,不就是个收发器加两根线?嗯,我以前也这么想,直到有一次在台架上调试安全气囊系统,信号眼图惨不忍睹,排查了整整三天……最后发现是收发器选型出了问题。从那以后,我对物理层再也不敢马虎了。

3.1 CANFD收发器选型:别只看速率

收发器是CANFD节点的“嘴巴”和“耳朵”。它负责把控制器输出的差分信号,转换成总线上的物理电平。选型时,大家第一反应肯定是看速率——能不能支持5Mbps甚至8Mbps?

但我想说,速率只是门槛。真正要命的,是以下几个参数:

  • 环路延迟(Loop Delay):这是收发器从发送到接收的延迟时间。CANFD对时序要求很苛刻,环路延迟大了,采样点就飘了。我建议选型时,环路延迟最好控制在150ns以内。
  • 共模电压范围:安全气囊系统里,线束可能经过发动机舱、座椅下方,干扰源很多。共模电压范围越宽,抗干扰能力越强。我个人习惯选-12V到+12V的器件。
  • 待机模式与唤醒功能:气囊系统需要低功耗待机,同时又要能快速唤醒。有些收发器支持“选择性唤醒”,只响应特定ID的报文——这个功能在分布式气囊系统中很实用。

关键点:CANFD收发器不是越贵越好,而是越匹配越好。比如TJA1044T和TJA1057,前者适合5V系统,后者适合3.3V系统,选错了电平,整个网络都跑不起来。

我记得有一次,一个供应商推荐了一款号称“工业级”的收发器,价格便宜一半。结果在-40℃低温测试时,总线信号直接畸变。嗯,后来我们老老实实换回了车规级器件。

3.2 终端电阻匹配:120Ω不是万能药

终端电阻,说白了就是挂在CAN总线两端的两个120Ω电阻。为什么是120Ω?因为CAN总线的特性阻抗大约是120Ω,匹配了才能减少信号反射。

但这里有个坑:CANFD速率高了以后,终端电阻的匹配要求更严格了

为什么?你想想看,5Mbps的位时间只有200ns,信号上升沿和下降沿更陡峭。如果终端电阻不匹配,反射波会在位时间内来回震荡,导致采样错误。

实战技巧:我建议在高速CANFD网络中,使用“分裂终端”结构。也就是把120Ω拆成两个60Ω,中间加一个电容到地。这样既能匹配阻抗,又能滤除共模噪声。具体电路如下:

CAN_H ----[60Ω]----+----[60Ω]---- CAN_L
                    |
                   [4.7nF]
                    |
                   GND

这个电容值怎么选?我一般用4.7nF到10nF。太小了滤波效果差,太大了影响信号边沿。嗯,这个值不是死的,要根据你的总线长度和节点数微调。

另外,终端电阻的位置也很关键。必须放在总线的最远端,而不是随便哪个节点上。我曾经见过一个项目,工程师把终端电阻放在了中间节点上,结果总线两端信号反射得一塌糊涂。避坑指南:用万用表量一下总线两端的电阻,正常应该是60Ω(两个120Ω并联)。

3.3 信号质量要求:眼图说了算

信号质量好不好,别靠感觉,看眼图。眼图是示波器把多次采样叠加在一起形成的图形。好的眼图,眼睛睁得又大又圆;差的眼图,眼睛眯成一条缝,甚至闭着。

CANFD的信号质量,主要看三个指标:

  • 差分电压幅值:显性电平(Dominant)应该在1.5V到3.0V之间,隐性电平(Recessive)在-0.5V到0.5V之间。我习惯把显性电平控制在2.0V以上,留点余量。
  • 上升/下降时间:CANFD要求上升时间和下降时间尽量对称,且不能太慢。太慢了,位时间内的信号建立时间不够。我一般控制在位时间的10%以内,比如5Mbps时,上升时间不超过20ns。
  • 抖动(Jitter):抖动是信号边沿的随机偏移。抖动大了,采样点就抓不准。好的CANFD网络,抖动应该小于位时间的5%。

警告:千万不要用普通示波器去测CANFD信号!普通示波器的带宽不够,测出来的眼图是假的。我建议用至少200MHz带宽、1GSa/s采样率的示波器,配合差分探头。

怎么测眼图?简单说三步:

  1. 把差分探头接到CAN_H和CAN_L上
  2. 示波器设置成“持久模式”(Persistence),或者用“眼图模板”功能
  3. 让总线持续发送数据,观察眼图是否清晰、张开

如果眼图闭合了,怎么办?别慌,按这个顺序排查:

  • 先看终端电阻对不对
  • 再看线束是不是太长、分支太多
  • 最后检查收发器的驱动能力是不是不够

我个人习惯,在PCB设计阶段就预留好终端电阻的位置,并且把CAN差分线的阻抗控制在120Ω±10%。这样后期调试能省很多事。

3.4 避坑指南:我踩过的三个坑

最后,分享几个我亲身经历过的教训:

  • 坑一:共模扼流圈选型不当。CANFD高速时,共模扼流圈的寄生电容会衰减信号。我建议选型时,关注其“截止频率”,至少要高于CANFD速率的3倍。
  • 坑二:电源去耦不足。收发器在发送显性电平时,瞬间电流很大。如果电源去耦电容不够,电压会跌落,导致信号幅值不足。我习惯在收发器旁边放一个10μF电解电容加一个100nF陶瓷电容。
  • 坑三:线束屏蔽层接地错误。屏蔽层应该单点接地,而不是两端都接。否则会形成地环路,引入低频噪声。我曾经因为这个原因,在EMC测试中吃了大亏。

好了,关于CANFD物理层,今天就聊这么多。说白了,收发器选型、终端电阻匹配、信号质量要求,这三件事做好了,你的CANFD网络就成功了一半。下一章咱们聊聊CANFD数据链路层,看看报文是怎么在总线上“跑”起来的。