CAN FD(很多人把 CAN FD 叫成 高速CAN ),按CAN 1.2 → CAN 2.0 → CAN FD一路演进线。
一、三者核心关系总结
- CAN 1.2:最早基础版,只有11 位标准 ID、一帧最多8 字节、速率最高1Mbps。
- CAN 2.0:完全兼容 CAN 1.2,新增29 位扩展 ID,仍是8 字节 payload、固定速率,是现在车载 / 工业最主流。
- CAN FD:在 CAN 2.0 基础上大升级,支持可变波特率、一帧最多 64 字节,向下兼容 CAN 2.0 设备。
三者是完全向下兼容的迭代关系:CAN FD 网可跑 CAN 2.0 帧,CAN 2.0 网可跑 CAN 1.2 帧。
二、定义与关键区别
1. CAN 1.2(初代 CAN)
- 发布:早期 BOSCH CAN 规范
- 仅支持:标准帧(11 位 ID)
- 无扩展帧,无 IDE 位、SRR 位
- 数据段:0~8 字节
- 速率:最高1Mbps
- 帧结构:SOF → ID+RTR → 控制段 → 数据 → CRC → ACK → EOF
- 地位:CAN 2.0A 的前身,现在几乎不用,只在老设备里存在。
2. CAN 2.0(现代经典 CAN)
完全继承 CAN 1.2,做兼容扩展:
- 分两部分:
- CAN 2.0A= 兼容 CAN 1.2,只支持11 位标准 ID
- CAN 2.0B= 新增29 位扩展 ID(11 位基础 + 18 位扩展)
- 新增字段:IDE 位、SRR 位,用来区分标准 / 扩展帧
- 数据段:仍固定 0~8 字节
- 速率:固定波特率,最高 1Mbps
- 仲裁、错误、位填充、同步机制完全继承并兼容 CAN 1.2
- 现状:汽车、工业、嵌入式绝对主流。
3. CAN FD(常被叫做高速 CAN)
为解决 CAN 2.08 字节太小、速率上不去而设计:
- 完全兼容 CAN 2.0 硬件与帧格式
- 两大革命性提升:
- 可变波特率
- 仲裁段(ID 段):用传统低速(保证仲裁可靠)
- 数据段:可提速到5Mbps、8Mbps 甚至更高
- 数据长度大幅提升
- 支持:0~64 字节(DLC 0~15)
- 可变波特率
- 保留:
- 11 位 / 29 位 ID
- 非破坏性仲裁
- 错误机制、应答、CRC
- 用途:自动驾驶、车载以太网辅助、高带宽传感器、机器人、工业大数据量通信。
三、最清晰对比表(考试 / 面试直接背)
| 项目 | CAN 1.2 | CAN 2.0A | CAN 2.0B | CAN FD(高速CAN) |
|---|---|---|---|---|
| ID 位数 | 11 位 | 11 位 | 11/29 位 | 11/29 位 |
| 单帧数据 | 8 字节 | 8 字节 | 8 字节 | 64 字节 |
| 波特率 | 固定 | 固定 | 固定 | 仲裁低、数据高 |
| 扩展帧 | 无 | 无 | 有 | 有 |
| 兼容 | — | 兼容 1.2 | 兼容 1.2/2.0A | 兼容全部 |
| 现状 | 淘汰 | 少量 | 主流 | 新一代主流 |
四、直白关系
- CAN 1.2 是爷爷:定了基本规则,但 ID 少、功能简单。
- CAN 2.0 是爸爸:兼容爷爷,加了扩展 ID,统治市场 30 年。
- CAN FD是儿子:兼容爸爸,提速、加大数据量,面向未来。
总线物理层完全通用:同样 CANH/CANL、同样 120Ω 电阻、同样差分电平,新老设备可混接在同一总线。