写点什么

详解 CAN 总线:标准数据帧和扩展数据帧

  • 2022 年 9 月 25 日
    北京
  • 本文字数:695 字

    阅读完需:约 2 分钟

详解CAN总线:标准数据帧和扩展数据帧

CAN 协议可以接收和发送 11 位标准数据帧和 29 位扩展数据帧,CAN 标准数据帧和扩展数据帧只是帧 ID 长度不同,以便可以扩展更多 CAN 节点。

1、标准数据帧

标准数据帧基于早期的 CAN 规格(1.0 和 2.0A 版),使用了 11 位的识别域。

CAN 标准帧帧信息是 11 字节,包括帧描述符和帧数据两部分。如下表所列:

前 3 字节为帧描述部分。字节 1 为帧信息,第 7 位(FF)表示帧格式,在标准帧中 FF=0,第 6 位(RTR)表示帧的类型,RTR=0 表示为数据帧,RTR=1 表示为远程帧。DLC 表示在数据帧时实际的数据长度。

标准数据帧的 ID 有 11 个位。从 ID10 到 ID0 依次发送,可以出现 2^11 种报文,帧 ID 的范围是:000-7FF,禁止高 7 位都为隐性(禁止设定:ID=1111111XXXX)。

字节 2~3 为报文识别码,其高 11 位有效。

字节 4~11 为数据帧的实际数据,远程帧时无效。

2、扩展数据帧

CAN 扩展帧帧信息是 13 字节,包括帧描述符和帧数据两部分,如下表所示:

前 5 字节为帧描述部分。字节 1 为帧信息,第 7 位(FF)表示帧格式,在扩展帧中 FF=1,第 6 位(RTR)表示帧的类型,RTR=0 表示为数据帧,RTR=1 表示为远程帧。DLC 表示在数据帧时实际的数据长度。

扩展格式的 ID 有 29 个位,基本 ID 从 ID28 到 ID18,扩展 ID 由 ID17 到 ID0 表示,基本 ID 和 标准格式的 ID 相同,可以出现 2^29 种报文,且在数据链路上是有间隙的(对操作者透明),帧 ID 的范围是 0000 0000-1FFF FFFF,禁止高 7 位都为隐性(禁止设定:基本 ID=1111111XXXX)。

字节 2~5 为报文识别码,其高 28 位有效。

字节 6~13 为数据帧的实际数据,远程帧时无效。

3、标准数据帧和扩展数据帧的特性

CAN 标准数据帧和扩展数据帧只是帧 ID 长度不同,功能上都是相同的,它们有一个共同的特性:帧 ID 数值越小,优先级越高。

用户头像

【研究方向】物联网、嵌入式、AI、Python 2018.02.09 加入

嵌入式工程师,创客爱好者,公众号:美男子玩编程,全网粉丝10万+。 CSDN博客专家、微软MVP、华为云云享专家、阿里云专家博主、知乎认证科学技术领域答主。

评论

发布
暂无评论
详解CAN总线:标准数据帧和扩展数据帧_汽车电子_不脱发的程序猿_InfoQ写作社区