标准帧:

分段

字段

位长度

说明

帧起始

SOF

1bit

显性,标记帧开始

仲裁段

ID

11bit

报文标识符

RTR

1bit

远程请求位,0 数据帧,1 远程帧

控制段

IDE

1bit

固定 0,代表标准帧

r0

1bit

保留位

DLC

4bit

数据长度码,0~8

数据段

Data

0~64bit(0~8 字节)

数据内容,远程帧无此字段

CRC 段

CRC Sequence

15bit

CRC 校验序列

CRC 界定符

1bit

隐性

ACK 段

ACK slot

1bit

应答槽,发送端发隐性;接收正确则拉显性

ACK 界定符

1bit

隐性

帧结束

EOF

7bit

全部隐性,标记帧结束

扩展帧:

分段

字段

位长度

说明

帧起始

SOF

1bit

显性,帧起始

仲裁段

基础 ID

11bit

基础标识符

SRR

1bit

替代远程请求位

IDE

1bit

固定 1,代表扩展帧

扩展 ID

18bit

扩展标识符,组合基础 ID 构成 29 位 ID

RTR

1bit

远程请求位,0 数据帧,1 远程帧

控制段

r1

1bit

保留位

r0

1bit

保留位

DLC

4bit

数据长度码,0~8

数据段

Data

0~64bit(0~8 字节)

数据内容,远程帧无此字段

CRC 段

CRC Sequence

15bit

CRC 校验序列

CRC 界定符

1bit

隐性

ACK 段

ACK slot

1bit

应答槽

ACK 界定符

1bit

隐性

帧结束

EOF

7bit

全部隐性,帧结束

总线字段

谁负责提供或生成

SOF 帧起始

CAN 控制器自动生成

基础 ID、扩展 ID

软件提供 ID,控制器按标准/扩展格式组织

SRR

发送扩展帧时,控制器自动生成

IDE

软件提供 EFF / ExternFlag,控制器生成对应位

RTR

软件提供远程帧标志,控制器生成对应位

r0、r1 保留位

控制器按协议填写

DLC

软件通过 DataLen / can_dlc 提供

Data

软件提供数据

CRC 校验序列、CRC 界定符

控制器自动计算、生成

ACK 槽、ACK 界定符

控制器自动处理;其他正确接收的节点在 ACK 槽应答

EOF 帧结束

控制器自动生成