
今天,我想聊聊一个大家可能都忽视的话题:为什么CAN FD这么先进,却还没能大规模取代经典的CAN总线?
先简单回顾一下背景吧。

CAN总线是1986年由博世公司开发的,最初是为了简化汽车内部的电气布线。它的核心优势在于多主站架构、差分信号传输和优先级仲裁机制,能在嘈杂的环境中可靠传输数据,最高速率1Mbps,数据帧最大8字节。
CAN FD则是2012年推出的升级版,它允许数据阶段的比特率切换到更高,如5Mbps甚至更高,数据负载也扩展到64字节。
这意味着CAN FD能处理更多数据、更快传输,特别适合现代汽车的ADAS、高清传感器和软件更新需求。
但为什么它还没“接班”呢?
1
兼容性和硬件升级的痛点
兼容性是最大的拦路虎。
CAN FD设计时确实考虑了向后兼容,它能与经典CAN共存于同一网络上,前提是所有节点都支持“被动模式”。
但在实际部署中,这远没那么简单。经典CAN的节点如果遇到CAN FD的高速数据帧,可能会误判为错误,导致整个网络混乱。
经常出现汽车供应商开发混合网络,试图在现有CAN基础上添加CAN FD节点,结果发现老旧的CAN控制器无法处理FD帧的CRC校验扩展,只能通过添加桥接器来隔离。这不光增加了复杂度,还抬高了成本。
更棘手的是硬件升级。
CAN FD需要更先进的收发器和控制器来支持比特率切换和更大的数据负载。这些新硬件不光贵,还需要重新设计PCB布局以优化EMC。
2
成本与经济因素的制约
成本是另一个关键原因。汽车行业是个高度竞争的市场,OEM对每分钱的节约都斤斤计较。
经典CAN的生态已经成熟到极致:芯片价格低廉(一个基本CAN控制器可能只需几毛钱),供应链全球覆盖,工程师们闭着眼都能调试。
相比之下,CAN FD的控制器和收发器至少贵20~50%,而且测试工具、认证费用也水涨船高。
根据CSS Electronics的报告,到2025年,CAN FD在电动车和高端ADAS中的渗透率会升到30%以上,但整体汽车市场仍以经典CAN为主。
为什么?因为供应链的惰性。
供应商如博世、德尔福等,虽然在推CAN FD,但他们也得顾及现有库存和客户需求。
结果就是,CAN FD更多出现在新平台上,而不是全面取代。
3
性能需求的分层
不是所有应用都需要CAN FD的“高大上”。
汽车总线是分层的,低速网络处理简单任务,中速CAN负责核心控制,高速如以太网或CAN XL处理多媒体和ADAS。
经典CAN正好卡在中层,完美平衡了性能和成本。
CAN FD虽然快,但它也引入了新问题,比如比特率切换时的时钟同步挑战,以及在长总线上的信号衰减。
4
网络唤醒必须使用经典CAN帧
在需要实现特定帧唤醒功能的场景中,目前主流的设计要求必须使用经典CAN帧,而不能使用CAN FD帧。
ISO 11898-2在定义局部网络唤醒功能时,其规范是基于经典CAN帧格式的。
目前市场上主流的CAN收发器的唤醒逻辑硬件正是依据此规范设计,因此普遍不支持对CAN FD格式的唤醒帧进行识别。
CAN FD帧中的EDL位表明其将进入高速数据段,这意味着总线波特率会发生变化(如从500kbps切换到2Mbps)。
对于专门为低功耗休眠状态设计的唤醒逻辑电路而言,实时跟踪和适应这种动态的波特率切换会极大地增加硬件复杂度和校验难度,不利于实现稳定可靠的唤醒。
高级的选择性唤醒功能不仅需要匹配帧ID,还可能需要对数据长度码(DLC)甚至特定数据字节进行掩码匹配。
CAN FD帧的数据场长度是可变的(0-64字节),这会导致用于匹配的硬件逻辑(如过滤器)变得异常复杂,难以在保证低功耗的前提下实现精确且灵活的模式匹配。
如果一个网络中允许混合使用经典CAN唤醒帧和CAN FD唤醒帧,而未唤醒的节点可能只配置为监听经典CAN帧。
此时,一个CAN FD唤醒帧可能会被这些节点识别为错误帧,从而导致总线出现大量错误帧,增加个别节点甚至整个网络进入Bus-Off状态的风险,破坏通信的可靠性。
所以,从我的经验看,CAN FD的取代会是渐进的。随着电动车和自动驾驶的兴起,CAN FD会更多出现在新车型中。但经典CAN不会消失,它会像“老黄牛”一样,继续支撑着数亿辆车的骨架。