第十六章 CAN控制器
16.2.2 帧类型
CAN协议使用下面四种类型的帧。
表 16-2. 帧类型
帧类型 数据帧 远程帧 错误帧 过载帧 用于发送数据的帧 用于请求一个数据帧的帧 用于报告错误检测的帧 用于对下一数据帧或远程帧的延时 说明
(1) 总线值
总线值分为显性和隐性。
- 显性电平用逻辑0表示。 - 隐性电平用逻辑1表示。
- 当同时发送显性电平和隐性电平时,总线值变为显性电平。
16.2.3 数据帧和远程帧
(1) 数据帧
一个数据帧包含7个域。
图 16-3. 数据帧
备注
D:隐性 = 0 R:显性 = 1
用户手册 U17553CA4V0UD
381
第十六章 CAN控制器
(2) 远程帧
一个远程帧包含6个域。
图 16-4. 远程帧
备注
(3) 域的说明
<1> 帧起始 (SOF)
帧起始域位于一个数据帧或远程帧的开始。
图 16-5. 起始帧(SOF)
1. 即使控制域中的数据长度码不为―0000B‖,也不传送数据域。‖ 2. D:显性 = 0
R:隐性 = 1
备注
? 如果在总线空闲状态检测到显性电平,则执行硬件同步(当前TQ被赋值为SYNC 段)。
? 这样的硬件同步之后如果在采样点采样到一个显性电平,则该位赋值为SOF。 如果检测到一个隐性电平,那么协议层将返回总线空闲状态并将前面的显性脉冲视为噪声。 这种情况下不产生错误帧。
D:显性 = 0 R:隐性 = 1
382
用户手册 U17553CA4V0UD
第十六章 CAN控制器
<2> 仲裁域
仲裁域用来设置优先级、数据帧/远程帧和帧格式。
图 16-6. 仲裁域(标准格式模式)
注意事项 1. ID28至ID18为标识符。 备注
D:显性 = 0 R:隐性 = 1
图 16-7. 仲裁域(扩展格式模式)
2. 标识符首先传送MSB。
注意事项 1. ID28至ID18为标识符。 备注
表 16-3. RTR 帧设置
帧类型 数据帧 远程帧 0 (D) 1 (R) RTR 位 2. 标识符首先传送MSB。 D:显性 = 0 R:隐性 = 1
表 16-4. 帧格式设置 (IDE位)和标识符 (ID)位的个数
帧格式 标准格式模式 扩展格式模式 无 1 (R) SRR 位 IDE 位 0 (D) 1 (R) 11 位 29 位 位个数 用户手册 U17553CA4V0UD
383
第十六章 CAN控制器
<3> 控制域
控制域将―N‖设为数据域的数据字节个数(N = 0至8)。
图 16-8. 控制域
备注
在标准格式帧中,控制域的IDE位与r1位相同。
表 16-5. 数据长度设置
数据长度码 DLC3 0 0 0 0 0 0 0 0 1 DLC2 0 0 0 0 1 1 1 1 0 其它 DLC1 0 0 1 1 0 0 1 1 0 DLC0 0 1 0 1 0 1 0 1 0 0 个字节 1 个字节 2 个字节 3 个字节 4 个字节 5 个字节 6 个字节 7 个字节 8 个字节 8个字节而与DLC3至 DLC0的值无关 数据字节计算 D:显性 = 0 R:隐性 = 1
注意事项 在远程帧中,即使数据长度码不是0000B,也不存在
数据域。
384
用户手册 U17553CA4V0UD