Edit online

通信报文

注:
对于不支持 CANFD 帧的产品型号,CANFD 帧内容不适用。

CAN 通信报文类型包含数据帧、远程帧、错误帧、过载帧、间隔帧这五种类型。



1. CAN 通信报文帧格式解析
注:
部分型号不支持 CANFD 帧。
1. CAN 帧位定义

数据/远程帧

描述

SOF

帧起始,一位长度,用于同步总线上节点的单个显性位。

ID-A

标识符 A,11 位长度,对应标准格式中的 11 位标识符 (ID10~ ID0),或扩展格式中 29 位标识符的前 11 位 (ID28~ ID18)。

ID-B

标识符 B,18 位长度,扩展格式中 29 位标识符的剩余 18 位 (ID17 ~ ID0)。

RTR

远程发送请求位,1 位长度,显示当前报文是数据帧 (显性 0)还是远程帧 (隐性 1)。当某个数据帧和一个远程帧有相同标识符时,数据帧始终优先于远程帧仲裁。

SRR

代替远程发送请求位,1 位长度,在扩展格式中以替代标准格式相同位置的 RTR 位。

IDE

标识符扩展位,1 位长度,显示当前报文是标准格式 (显性 0)还是扩展格式 (隐性 1)。当某标准帧和扩展帧有相同基标识符时,标准帧将始终优先于扩展帧仲裁。

RES

保留位,始终是显性位。

R1

保留位,始终是显性位。

R0

保留位,始终是显性位。

ESI

错误状态指示器,通常显性发送为主。如果 CANFD 帧发送节点变为被动错误,则该位将被隐性发送,指示发送方节点存在重要的通信问题。

DLC

数据长度代码, 4 位长度,包含 0 ~ 15 中任一数值。

数据字节

表示数据帧的数据负载量,该字节数量应与 DLC 的值匹配。首先发送低位数据字节,各数据字节优先发送最高有效位。

CRC

对于 CAN 2.0,CRC 采用 15 位。

对于 CANFD,当传输数据为 16 字节或更少时,采用 17 位 CRC。当传输数据超过 16 字节时,采用 21 位 CRC。

CRC 分界符

分界符,1 位长度隐性位。

ACK 槽

应答槽,1 位长度,用于接收节点,表示是否已成功接收数据帧或远程帧。发送节点将在应答槽中发送一个隐性位,若接收到的帧无错误,则接收节点用一个显性位以示应答。

ACK 分界符

分界符,1 位长度隐性位。

EOF

帧结束,7 位长度隐性位,标志着数据帧或远程帧的结束。



2. 错误帧


3. 过载帧


4. 间隔帧