第3章 TCU通信接口详解:CAN/CANFD、LIN与以太网

大家好,我是老张。今天咱们聊聊TCU的通信接口。说实话,做TCU这么多年,我见过太多因为通信接口设计翻车的案例了。有的是CAN总线负载率算错了,有的是LIN节点唤醒时序没调好,还有的是以太网PHY芯片选型踩了坑。嗯,这一章咱们就把这些接口掰开揉碎了讲清楚。

3.1 CAN/CANFD总线接口设计

CAN总线,说白了就是汽车电子的"脊梁骨"。从最早的CAN 2.0A/B到现在的CAN FD,我是一路跟过来的。记得2015年我第一次在TCU上集成CAN FD时,供应商给的参考设计还是老一套,结果通信速率死活上不去。

3.1.1 物理层设计要点

CAN总线的物理层,核心就是差分信号。我个人习惯用TJA1043或TJA1145这类带休眠唤醒的收发器。为什么?因为TCU经常要在休眠状态下被CAN报文唤醒,选错芯片功耗就压不下去。

关键参数速查表

参数CAN 2.0CAN FD
最大速率1 Mbps8 Mbps(典型)
数据场长度8字节64字节
位填充机制固定灵活
CRC校验15位17/21位

这里有个坑:CAN FD虽然速率高,但总线长度要相应缩短。我在一个项目中试过5米总线跑5Mbps,结果误码率直接爆表。后来老老实实把总线控制在2米以内,问题就解决了。

3.1.2 终端电阻与共模扼流圈

终端电阻,标准是120欧姆。但实际项目中,我建议用两个60欧姆电阻串联,中间抽头接一个电容到地。为什么?这样能给共模信号一个低阻抗路径,EMC性能会好很多。

// CAN终端电阻推荐接法
// 总线两端各接一组
// 60Ω --- 60Ω --- 4.7nF --- GND
//         |
//       CAN_H/L

我的经验:共模扼流圈选型时,注意看共模阻抗曲线。我一般选100MHz时阻抗在600Ω以上的型号,对抑制高频干扰特别有效。

3.2 LIN总线接口设计

LIN总线,很多人觉得简单,不就是单线串口吗?其实不然。LIN的时序要求很严格,尤其是从节点的唤醒和同步。

3.2.1 物理层与收发器选型

LIN收发器,我常用TJA1021或MLX80050。注意,LIN总线是单线12V电平,不是5V。曾经有个同事把LIN直接接到MCU的UART引脚上,结果烧了一片。嗯,这个教训挺深刻的。

LIN总线的上拉电阻,标准是1kΩ。但如果你挂的节点多,比如超过8个,我建议用500Ω。我在一个项目中挂了12个LIN节点,用1kΩ上拉,波形都变形了。

3.2.2 唤醒与休眠设计

LIN的唤醒,靠的是总线上的显性脉冲。我个人习惯在收发器的唤醒引脚上加一个RC滤波,时间常数设在50μs左右。为什么?因为总线上的尖峰干扰很容易误唤醒,加个滤波就稳了。

注意:LIN从节点的休眠电流必须控制在100μA以下。我见过一个项目,休眠电流300μA,结果整车静态功耗超标,最后只能换收发器。

3.3 以太网接口设计(100BASE-T1)

100BASE-T1,这是近几年才在TCU上普及的。单对差分线,全双工,100Mbps。说实话,第一次接触时我也觉得挺新鲜的。

3.3.1 PHY芯片选型与布局

100BASE-T1的PHY芯片,我推荐TI的DP83TC811或NXP的TJA1101。注意,这些芯片对PCB布局要求很高。差分对必须等长,误差控制在5mil以内。我曾经因为差分线长了10mil,导致信号质量下降,眼图都睁不开了。

// 100BASE-T1差分对布线规则
// 1. 差分对间距 ≥ 3倍线宽
// 2. 等长误差 ≤ 5mil
// 3. 远离时钟线 ≥ 20mil
// 4. 参考层完整,不要跨分割

3.3.2 EMC与共模抑制

100BASE-T1的共模抑制,比CAN要严格得多。我建议在PHY和连接器之间加一个共模扼流圈,比如TDK的ACT45B系列。另外,PCB上要留出足够的铜皮面积给散热,因为PHY芯片工作时温度不低。

实测数据:不加共模扼流圈时,辐射发射在100MHz处超标12dB。加上ACT45B-510-2P后,余量达到6dB以上。

3.4 接口设计的协同考量

三种接口放在一个TCU里,就得考虑相互干扰。我个人习惯把CAN和LIN放在同一侧,以太网单独放另一侧。为什么?因为以太网的工作频率高,容易耦合到CAN/LIN上。

还有一个细节:电源去耦。每个收发器旁边都要放一个10μF电解电容和两个0.1μF陶瓷电容。我曾经偷懒少放了一个0.1μF,结果CAN FD在5Mbps时偶尔丢帧。加上去之后,问题就消失了。

避坑指南:我曾经在一个项目中,把CAN和以太网的参考地分开了,结果通信时好时坏。后来发现是地电位差导致的共模电压超标。从那以后,我坚持所有接口共用一个参考地平面。

好了,这一章的内容就到这里。通信接口设计,说白了就是平衡速率、距离、功耗和成本。你想想看,CAN FD快但距离短,LIN慢但成本低,以太网快但设计复杂。怎么选?看你的应用场景。下一章咱们聊聊TCU的电源管理与休眠唤醒策略,那个更刺激。