通信报文
9 Aug 2024
Read time: 1 minute(s)
CAN 通信报文类型包含数据帧、远程帧、错误帧、过载帧和间隔帧。
数据/远程帧 | 描述 |
---|---|
SOF | 帧起始,1 bit,用于同步总线上节点的单个显性位。 |
ID-A | 标识符 A,11 bits,对应标准格式中的 11 位标识符(ID10~ ID0),或扩展格式中 29 位标识符的前 11-bit(ID28~ ID18)。 |
RTR | 远程发送请求位,1 bit,显示当前报文是数据帧(显性
0)还是远程帧(隐性 1)。 当某个数据帧和远程帧有相同标识符时,数据帧始终优先于远程帧仲裁。 |
SRTR | 代替远程发送请求位,1 bit,在扩展格式中以替代标准格式相同位置的 RTR 位。 |
IDE | 标识符扩展位,1 bit,显示当前报文是标准格式(显性 0)还是扩展格式(隐性
1)。 当某标准帧和扩展帧有相同基标识符时,标准帧将始终优先于扩展帧仲裁。 |
ID-B | 标识符 B,18 bits,扩展格式中 29 位标识符的剩余 18 bit(ID17 ~ ID0)。 |
R1 | 保留位,始终是显性位。 |
R0 | 保留位,始终是显性位。 |
DLC | 数据长度代码, 4 bits,包含 0 ~ 8 中任一数值。
|
数据字节 | 表示数据帧的数据负载量,该字节数量应与 DLC 的值匹配。首先发送数据字节 0,各数据字节优先发送最高有效位。 |
CRC | CRC 序列是一个 15-bit 的循环冗余校验码。具体实现方式为:
|
CRC 分界符 | 分界符,1 bit,隐性位。 |
ASK 槽 | 应答槽,1 bit,用于接收节点,表示是否已成功接收数据帧或远程帧。发送节点将在应答槽中发送一个隐性位,若接收到的帧无错误,则接收节点用一个显性位以示应答。 |
ASK 分界符 | 分界符,1 bit,隐性位。 |
EOF | 帧结束,7 bits,隐性位,标志着数据帧或远程帧的结束。 |