说明:本文不断更新中,内容均为作者手打...
芯片选型
Ciga Device — GD32F470系列
CAN协议规则
CAN帧种类介绍
CAN总线以“帧”的方式进行通讯。CAN协议定义了5种类型的帧:数据帧、遥控帧、错误帧、过载帧、间隔帧。其中“数据帧”最为常用。
帧类型 | 作用 |
数据帧 | 用于发送单元向接受单元传输数据的帧 |
遥控帧 | 用于接收单元向具有相同ID的发送单元请求数据的帧 |
错误帧 | 用于当检测错误时向其他单元通知错误的帧 |
过载帧 | 用于接收单元通知其尚未做好接收准备的帧 |
间隔帧 | 用于将数据帧及遥控帧与前面的帧分离开的帧 |
CCAN数据帧介绍
***其他帧请阅读官方协议说明,本文仅介绍数据帧***
数据帧由7段组成,数据帧分为标准帧(CAN2.0A)和扩展帧(CAN2.0B),主要体现在仲裁段和控制段。
- 帧起始:1位,以显性信号逻辑“0”开始。类似于URAT中的开始信号。
- 仲裁段:表示该帧优先级的段。数据帧:包含ID(标识符,11位)和RTR(远程发送请求位,0-数据帧,1-远程帧),遥控帧和数据帧最大的区别就是没有数据段;扩展帧:包含ID(标识符,11位)、扩展ID(18位)、SRR(作用同RTR)、
- 控制段:表述数据的字节数及保留位的段。包含IDE(扩展标识符位,1位),R0(1位)、DLC(数据长度编码,4位)
- 数据段:0-8字节的数据。
- CRC段:检查帧传输错误的段。包含CRC循环校验和DEL界定符。
- ACK段:表示确认正常的接收。总线收到后会置为显性信号0表示应答
- 帧结束:表示帧结束了,7位1结束。