第1章 CAN FD 概述
1.1 为什么我们需要 CAN FD?
做车载总线开发的人,基本都跟 CAN 打过交道。CAN 2.0 从 80 年代用到现在,稳定、可靠、便宜,没得挑。但不知道你有没有这种感觉——最近几年的项目里,带宽越来越不够用了。
我印象最深的是 2018 年做的一个智能座舱项目。那时候 ECU 数量翻了一倍,传统 CAN 的 1 Mbps 速率,跑诊断、刷写、大数据日志,总线负载动不动就飙到 70% 以上。丢帧、延迟、优先级反转……踩过的坑我自己都数不清。说白了,传统 CAN 就像一条双车道的乡道,车少的时候挺好,车一多就堵死。
CAN FD(CAN with Flexible Data-Rate)就是为解决这个“堵车”问题来的。它在物理层兼容 CAN 2.0,但把数据段速率提到了 8 Mbps 甚至更高,数据场也从 8 字节撑到了 64 字节。一句话:路更宽了,车也能跑更快了。
1.2 发展历程:从 CAN 2.0 到 CAN FD,再到 CAN XL
CAN 协议的发展,我习惯把它分成三个阶段,你可以先看下面的时间线表格。
| 阶段 | 标准/版本 | 发布时间 | 最大速率 | 数据场长度 | 关键变化 |
|---|---|---|---|---|---|
| 1 | CAN 2.0A / 2.0B | 1991 | 1 Mbps | 8 字节 | 标准帧/扩展帧,经典仲裁 |
| 2 | CAN FD(ISO 11898‑1:2015) | 2015 | 数据段 8 Mbps | 64 字节 | 可变速率、更长数据场、CRC 改进 |
| 3 | CAN XL(正在标准化) | 2024(草案) | 数据段 10+ Mbps | 2048 字节 | 面向 IP 化、大数据传输 |
你可能会问:为什么突然跳出了一个 CAN XL?其实逻辑很简单——汽车电子越来越像数据中心了,OTA 升级、高清地图、传感器融合,8 字节包根本装不下。CAN FD 是在现有物理层上“推了一把”,而 CAN XL 则是彻底重新设计数据段格式。不过现阶段,CAN FD 是量产主流,绝大部分新车都支持。
我记得 2015 年 ISO 发布 CAN FD 标准的时候,很多芯片厂商还没准备好。博世、NXP、TI 第一批出样片,我手上拿到 TCAN4550 时还专门搭了一个测试板。当时踩了个坑:老 CAN 收发器在 8 Mbps 下波形振铃严重,后来换成 CAN FD 专用收发器才稳定。这件事让我养成了一个习惯——速率能低就低,够用就行,别盲目追求标称极限。
1.3 CAN FD 的核心优势
说白了,CAN FD 最大的三个好处就是:快、大、兼容。
- 快:数据段速率可配置,最高 8 Mbps(仲裁段仍为 1 Mbps 或 500 kbps)。刷写同一个 ECU,时间能缩短 60% 以上。
- 大:数据场从 8 字节扩展到 64 字节,单个报文能装更多信息。比如诊断应答,原来要拆成 7~8 帧,现在 1 帧搞定。
- 兼容:物理层和仲裁机制与 CAN 2.0 几乎一致。同一个网络中,CAN FD 节点和 CAN 2.0 节点可以混合存在,只有 CAN FD 帧才使用高速率段。
今年初我帮某 Tier1 做电池管理系统(BMS),电池包状态信息(电压、温度、电流)原来用 5 个 CAN ID 轮流发,周期 20 ms。改用 CAN FD 后,一个 64 字节帧就能塞进 12 路电池单体数据,加上时间戳,负载从 65% 降到了 25% 。系统响应快了一个数量级。
当然,也有代价。CAN FD 帧的 CRC 算法更复杂,对 MCU 的 M_CAN 核有要求。如果 MCU 不支持硬件 CAN FD,纯软件模拟会很吃力。我在选型时吃过亏——一个项目用了老旧 S32K,结果发现 CAN FD 只能跑 2 Mbps,再高就错帧。
我曾经以为 CAN FD 收发器跟 CAN 2.0 完全通用。实测发现,某些老收发器在速率超过 5 Mbps 时,边沿斜率控制不够,会造成位采样错误。建议使用 TCAN4550、TJA1145 等明确标注“CAN FD ready”的收发器,且布线时尽量缩短 stub 长度。
1.4 应用前景:哪些场景正在用它?
CAN FD 并不是只活在实验室里。这几年量产车上,几乎新平台都标配了。我列几个典型场景给你看看:
- 车载诊断(UDS on CAN FD):刷写 ECU、读取 DTC、数据传输,原来慢得要死,现在速率翻倍,用户体验好很多。
- 高级驾驶辅助系统(ADAS):摄像头、毫米波雷达、激光雷达的数据量大,CAN FD 可以承载目标列表和跟踪信息,帧周期可以做到 5 ms。
- 域控制器 / 区域架构:中央网关把多条 CAN FD 总线聚合起来,数据吞吐能力比传统 CAN 提升 4~8 倍。
- 工业自动化 & 机器人:运动控制、伺服驱动器需要高实时性大数据,CAN FD 正在取代部分 CANopen 和 DeviceNet 网络。
你留意一下,最近几年出的车——比亚迪、蔚来、小鹏、特斯拉(部分),CAN FD 基本是标配。未来随着 CAN XL 成熟,CAN FD 会作为“低成本高带宽”层继续存在,和以太网形成互补。
1.5 知识全景速览
这一章最重要的东西,我用一张结构图帮你串起来:
- 8 → 最大数据段速率 8 Mbps
- 64 → 最大数据场长度 64 字节
- 2015 → ISO 标准发布年份
好,这一章的内容差不多就这些。你可能会觉得“不就是速率快了、包大了嘛”,但真正用到项目里,你会发现整个软件架构、网络拓扑、时序分析都得重新审视。后面的章节我们会一层层剥开 CAN FD 的协议细节,从物理层、数据链路层到应用层,把每个位都讲清楚。