1. CAN FD协议概述
CAN FD(Controller Area Network Flexible Data-Rate)是传统CAN总线协议的升级版本,由Bosch公司在2011年开发并于2012年发布。作为第二代CAN协议,它专门针对现代高性能车辆中电子控制单元(ECU)的数据通信需求而设计。在实际应用中,一辆现代汽车可能包含超过70个ECU,这些单元通过CAN FD总线在发动机运行或车辆移动时交换关键信息。
这个协议的核心改进在于其"灵活数据速率"特性,允许ECU动态切换不同的数据传输速率,并支持更长的消息帧。相比传统CAN总线1Mbit/s的固定速率,CAN FD在数据段可实现5-8Mbit/s的传输速率,同时将有效载荷从8字节扩展到64字节。这种提升不是简单的参数调整,而是通过精心设计的帧结构和传输机制实现的。
2. CAN FD与经典CAN的架构差异
2.1 帧结构对比
传统CAN和CAN FD在物理层使用相同的双绞线介质,但它们的帧结构存在显著差异:
- 标识符长度:经典CAN使用11位标识符(标准帧)或29位标识符(扩展帧),而CAN FD统一使用29位标识符,但通过FDF(FD Format Indicator)位区分帧类型
- 数据长度:经典CAN固定为8字节有效载荷,CAN FD则支持0-64字节的灵活长度
- 控制字段:CAN FD新增了BRS(Bit Rate Switch)位和ESI(Error State Indicator)位等控制字段
下表展示了两种协议的关键参数对比:
| 特性 | 经典CAN | CAN FD |
|---|---|---|
| 最大波特率 | 1Mbit/s | 仲裁段1Mbit/s,数据段8Mbit/s |
| 最大数据长度 | 8字节 | 64字节 |
| 标识符长度 | 11/29位 | 统一29位 |
