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

Posted 不脱发的程序猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解CAN总线:标准数据帧和扩展数据帧相关的知识,希望对你有一定的参考价值。

目录

1、标准数据帧

2、扩展数据帧

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


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数值越小,优先级越高。

以上是关于详解CAN总线:标准数据帧和扩展数据帧的主要内容,如果未能解决你的问题,请参考以下文章

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

详解CAN总线:CAN总线报文格式—遥控帧

详解CAN总线:CAN总线报文格式—遥控帧

详解CAN总线:CAN总线报文格式—遥控帧

详解CAN总线:CAN总线报文格式—帧间隔

详解CAN总线:CAN总线报文格式—帧间隔