CAN数据帧详解

张开发
2026/4/17 21:05:35 15 分钟阅读

分享文章

CAN数据帧详解
CAN 数据帧Data Frame是 CAN 总线最核心、最常用的报文类型用于节点间传输有效数据。数据帧如下图CAN2.0A 标准帧一、整体结构一帧由7 个字段组成SOF → 仲裁段 → 控制段 → 数据段 → CRC 段 → ACK 段 → EOF二、逐字段详解1. 帧起始 (SOF)1 位显性位逻辑 0作用标志帧开始同步所有节点时钟2. 仲裁段 (Arbitration Field)12 位标准帧ID (11 位)报文唯一标识决定优先级ID 越小优先级越高RTR (1 位)0 数据帧发送数据1 远程帧请求数据3. 控制段 (Control Field)6 位IDE (1 位)0 标准帧11 位 ID1 扩展帧29 位 IDr0 (1 位)保留位固定为0DLC (4 位)数据长度码取值0~8表示数据场字节数4. 数据段 (Data Field)0~8 字节0~64 位作用承载实际传输数据规则高位字节先发送MSB first5. CRC 段 (CRC Field)16 位15 位 CRC 校验码从 SOF 到数据场计算1 位 CRC 界定符隐性位1作用检测传输错误6. ACK 段 (ACK Field)2 位ACK 槽 (1 位)发送方发隐性位1接收正确 → 拉低为显性位0→应答成功ACK 界定符 (1 位)隐性位17. 帧结束 (EOF)7 位全为隐性位1作用标志帧结束三、标准帧 vs 扩展帧标准帧 (CAN2.0A)11 位 ID结构简单、常用扩展帧 (CAN2.0B)29 位 ID可容纳更多报文四、核心特点优先级仲裁ID 越小越优先非破坏性仲裁可靠传输CRC 校验 ACK 应答 自动重传数据长度0~8 字节CAN FD 可达 64 字节多主通信任意节点可主动发送五、总结SOF 起、ID 定、数据传、CRC 检、ACK 答、EOF 收。CAN2.0B 扩展数据帧Extended Frame一、核心区别一句话标准帧11 位 ID扩展帧11 位基础 ID 18 位扩展 ID 29 位 ID二、扩展帧完整结构SOF →仲裁段变长→ 控制段 → 数据段 → CRC 段 → ACK 段 → EOF只有仲裁场段和标准帧不一样其他字段完全相同。三、扩展帧仲裁段最重要共29 位 ID 3 位控制位 32 位结构ID10ID0基 ID 11 位SRR 位1 位隐性 1替代标准帧 RTRIDE 位1 位隐性 1表示扩展帧ID28ID11扩展 ID 18 位RTR 位1 位0 数据帧1 远程帧r1、r0保留位固定 0四、关键位含义SRR 1替代标准帧的 RTR一定是隐性IDE 1表示这是扩展帧标准帧 IDE0扩展帧 IDE1总 ID 1118 29 位五、标准帧 vs 扩展帧项目标准帧扩展帧ID 长度11 位29 位IDE 位0显性1隐性仲裁场长度19 位32 位优先级更高较低适用汽车常规信号报文多、复杂系统六、最重要结论扩展帧 29 位 ID只有仲裁段结构不同其余场完全一样标准帧优先级 扩展帧因为 IDE0 IDE1数据段依然08 字节

更多文章