2、物理层设计规范:CAN FD收发器选型与硬件布局
好,咱们进入第二章。物理层这东西,说简单也简单,说复杂真能坑死人。我见过太多项目,软件调得飞起,一上车就掉线,最后查出来是收发器选型不对,或者终端电阻焊错了位置。今天咱们就把这块掰开揉碎了讲。
2.1 CAN FD收发器选型:TJA1145 vs TJA1463
收发器是CAN FD网络的“嘴巴”和“耳朵”。选错了,后面全白搭。我个人习惯,先看项目需求再定型号,而不是盲目追新。
2.1.1 TJA1145:带唤醒功能的“老将”
TJA1145 是 NXP 的经典产品,支持 CAN FD,速率到 5 Mbps。它最大的特点是带 选择性唤醒 功能。什么意思?就是总线上的报文如果跟它预设的 ID 不匹配,它就继续睡大觉,省电。
我在一个 T-Box 项目里用过它。当时客户要求静态电流小于 50 µA,普通收发器根本做不到。TJA1145 配合 MCU 的休眠策略,实测下来只有 30 µA 左右,很稳。
2.1.2 TJA1463:带信号改善的“新秀”
TJA1463 是 NXP 新一代产品,同样支持 CAN FD 到 5 Mbps。它最大的亮点是 信号改善功能,说白了就是能自动补偿线束上的信号衰减。
为什么会需要这个?你想想看,CAN FD 速率高了,信号上升沿变陡,反射和振铃问题就出来了。TJA1463 内部有个主动振铃抑制电路,能把这些毛刺吃掉。我去年在一条 3 米长的分支线束上做过对比测试,不加 TJA1463 时眼图都快闭上了,加上之后眼图张开度提升了 40%。
2.2 终端电阻匹配:120 Ω 不是万能的
终端电阻这事,看着简单,其实最容易出错。标准 CAN 总线要求两端各接一个 120 Ω 电阻,并联后等效 60 Ω。但实际项目中,我见过三种常见错误。
2.2.1 电阻位置不对
终端电阻必须放在总线的最远端。如果放在中间节点,信号反射会非常严重。我曾经排查过一个项目,CAN FD 在 2 Mbps 时偶尔丢帧,查了两天,最后发现终端电阻焊在了中间一个 ECU 上,而不是线束末端。
2.2.2 电阻值偏差
120 Ω 电阻的精度建议用 1% 的。5% 的电阻在高温下可能漂到 114 Ω 或 126 Ω,导致总线差分阻抗偏离 60 Ω,信号质量下降。嗯,这里要注意,批量生产时一定要管控电阻的物料规格。
2.2.3 分叉拓扑下的电阻计算
如果是星型拓扑,每个分支末端都要接电阻吗?不是的。星型拓扑本质上还是一个总线,只是物理走线像星星。正确的做法是在中心节点处计算等效阻抗,或者使用有源终端匹配方案。
2.3 共模扼流圈布局:位置决定成败
共模扼流圈(CMC)是用来抑制共模干扰的。CAN FD 速率高了,共模干扰更容易耦合进来。但 CMC 不是随便焊上去就行的,布局很关键。
2.3.1 靠近收发器放置
CMC 要尽可能靠近 CAN 收发器的 CANH/CANL 引脚。我见过有人把 CMC 放在连接器旁边,中间走线绕了 5 厘米。结果高频干扰直接从走线上耦合进去了,CMC 白装了。
2.3.2 注意差分走线
CMC 前后的差分走线要保持等长、等距。如果走线不对称,差模信号会转化成共模,反而增加干扰。我一般要求走线长度差不超过 2 mm。
2.3.3 选型参数
CMC 的共模阻抗在 100 MHz 时通常选 100-600 Ω。对于 CAN FD,我建议选 300 Ω 以上的,抑制效果更好。同时要注意直流电阻,太大会影响总线压降。
| 参数 | 推荐值 | 说明 |
|---|---|---|
| 共模阻抗 @100MHz | 300-600 Ω | 越高抑制越好,但注意寄生电容 |
| 直流电阻 | < 0.5 Ω | 太大影响总线电压幅值 |
| 额定电流 | > 100 mA | 考虑瞬态电流 |
2.4 线束拓扑选择:星型 vs 总线型
这是物理层设计里最纠结的问题。总线型是经典方案,星型是妥协方案。我分别说说。
2.4.1 总线型拓扑
总线型就是一根主干线,所有节点通过短分支接入。这是 CAN 协议推荐的方式。优点是信号反射小,终端电阻好匹配。缺点是布线麻烦,尤其是节点分散的时候。
我做过一个项目,车身有 30 个节点,全部挂在一条总线上。主干线长度 8 米,分支最长 30 cm。实测 2 Mbps 下眼图非常干净,误码率几乎为零。
2.4.2 星型拓扑
星型拓扑是每个节点单独走线到中心点。优点是布线简单,适合分布式系统。缺点是信号反射复杂,终端匹配困难。
说实话,我不太推荐星型拓扑用于 CAN FD。除非你满足以下条件:
- 节点数不超过 5 个
- 每条分支长度不超过 1 米
- 速率不超过 1 Mbps
- 使用有源终端匹配或 TJA1463
我曾经在一个星型拓扑项目里翻过车。4 个节点,分支各 1.5 米,速率 2 Mbps。结果总线上的反射波来回弹,通信时好时坏。最后改成总线型,问题解决。
2.5 总结与避坑清单
好,咱们把这一章的核心点捋一捋。物理层设计,说白了就是三个字:匹配、布局、拓扑。
- 收发器选型: 低功耗用 TJA1145,长线束用 TJA1463。
- 终端电阻: 两个 120 Ω,1% 精度,放在最远端。
- 共模扼流圈: 靠近收发器,差分走线等长,阻抗 300 Ω 以上。
- 线束拓扑: 优先总线型,分支 < 30 cm。星型只用于低速小系统。
最后分享一个我自己的血泪教训。有一次项目赶进度,硬件工程师把终端电阻焊在了 PCB 板中间,而不是靠近连接器的地方。结果总线上的信号反射导致 CAN FD 在 3 Mbps 时完全无法通信。后来飞线改到连接器旁边,问题消失。你想想看,就差了 2 厘米的走线,效果天差地别。所以,细节真的决定成败。
下一章咱们聊 CAN FD 的数据链路层设计,重点讲位时序和采样点配置。那个更烧脑,但也是调通高速通信的关键。