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 位 ID)
    • 1 = 扩展帧(29 位 ID)
  • r0 (1 位) :保留位,固定为 0
  • DLC (4 位) :数据长度码
    • 取值 0~8,表示数据场字节数
4. 数据段 (Data Field)
  • 0~8 字节(0~64 位)
  • 作用:承载实际传输数据
  • 规则:高位字节先发送(MSB first)
5. CRC 段 (CRC Field)
  • 16 位
  • 15 位 CRC 校验码:从 SOF 到数据场计算
  • 1 位 CRC 界定符:隐性位(1)
  • 作用:检测传输错误
6. ACK 段 (ACK Field)
  • 2 位
  • ACK 槽 (1 位) :
    • 发送方发 隐性位(1)
    • 接收正确 → 拉低为 显性位(0) → 应答成功
  • ACK 界定符 (1 位):隐性位(1)
7. 帧结束 (EOF)
  • 7 位 ,全为 隐性位(1)
  • 作用:标志帧结束

三、标准帧 vs 扩展帧

  • 标准帧 (CAN2.0A) :11 位 ID,结构简单、常用
  • 扩展帧 (CAN2.0B) :29 位 ID,可容纳更多报文

四、核心特点

  1. 优先级仲裁 :ID 越小越优先,非破坏性仲裁
  2. 可靠传输:CRC 校验 + ACK 应答 + 自动重传
  3. 数据长度 :0~8 字节(CAN FD 可达 64 字节)
  4. 多主通信:任意节点可主动发送

五、总结

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 位结构:

  1. ID10~ID0 :基 ID 11 位
  2. SRR 位 :1 位(隐性 1,替代标准帧 RTR)
  3. IDE 位 :1 位(隐性 1,表示扩展帧)
  4. ID28~ID11 :扩展 ID 18 位
  5. RTR 位 :1 位(0 = 数据帧,1 = 远程帧)
  6. r1、r0:保留位,固定 0

四、关键位含义

  • SRR = 1 :替代标准帧的 RTR,一定是隐性
  • IDE = 1 :表示这是扩展帧
    • 标准帧 IDE=0
    • 扩展帧 IDE=1
  • 总 ID = 11+18 = 29 位

五、标准帧 vs 扩展帧

项目 标准帧 扩展帧
ID 长度 11 位 29 位
IDE 位 0(显性) 1(隐性)
仲裁场长度 19 位 32 位
优先级 更高 较低
适用 汽车常规信号 报文多、复杂系统

六、最重要结论

  1. 扩展帧 = 29 位 ID
  2. 只有仲裁段结构不同,其余场完全一样
  3. 标准帧优先级 > 扩展帧(因为 IDE=0 < IDE=1)
  4. 数据段依然 0~8 字节
相关推荐
starzy199013 小时前
Flink 优化之网络缓存优化及参数详解:从数据传输机制到反压原理的生产调优指南
网络·缓存·flink
正经教主14 小时前
【FDE系列】阶段3:Day 58:Prompt 安全 — 注入、越狱与防护
网络·人工智能·安全·prompt·fde
实点科技15 小时前
实点科技IO-Link I/O IOL7A/B系列参数配置方法介绍
网络
梦帮科技16 小时前
LoRA / QLoRA 低秩矩阵流形更新:SVD 分解、秩与缩放因子 α 的物理意义与梯度稳定性保障
网络·深度学习·神经网络·线性代数·矩阵·架构·数据挖掘
阿钱真强道16 小时前
28 嵌入式操作系统 | 网关加 TCP 命令通道:粘包/半包怎么切
网络·网络协议·tcp/ip·粘包
HY小宝F17 小时前
树莓派智能摄像头系统 30 天重学计划之 Day 03 · 网络基础:建立“包“的思维 —— 学习总结
网络·学习
ayaya_mana17 小时前
MCTier 组网联机工具:安装、配置与私有化部署
网络·windows·内网穿透·联机
故七月17 小时前
GEO 信源评估体系:如何判断一条网页信源能否被大模型采信
前端·网络·人工智能
hasty17 小时前
一次 WebSocket 握手为何能终止进程?Undici CVE-2026-19534 的异常边界
网络·websocket·网络协议
实点科技18 小时前
XB6S-EI2002如何与信捷XDH-60T4-E实现EtherNet/IP通讯?
网络