CAN协议
帧种类
在应用中接触最多的是数据帧(数据正常收发)和错误帧(can总线出现错误)
1 数据帧
1-1 理论
数据帧由 7 个段构成。
数据帧的构成如图 16 所示。
(1) 帧起始:表示数据帧开始的段。–SOF 1bit
(2) 仲裁段 :表示该帧优先级的段。–ID 11bit
(3) 控制段:表示数据的字节数及保留位的段。–DLC 4bit
(4) 数据段:数据的内容,可发送 0~8 个字节的数据。–DATA 0~64bit
(5) CRC 段:检查帧的传输错误的段。 --CRC 15bit
(6) ACK 段:表示确认正常接收的段。–1bit
(7) 帧结束:表示数据帧结束的段。 --EOF 7bit
帧的构成如下图
D–显性 R–隐性
1-2 实践
示波器测量:实际测得的一帧数据帧的时间总长,波特率500k下理论估值为106个bit(标准数据帧)
canoe数据帧:以下实例为18个帧的数据帧单帧长度 119个到122 bits
2 错误帧
2-1 理论:CAN芯片错误机制
错误帧
用于在接收和发送消息时检测出错误通知错误的帧。错误帧由错误标志和错误界定符构成。
错误帧的构成如图 25 所示。
(1) 错误标志
错误标志包括主动错误标志和被动错误标志两种。
主动错误标志:6 个位的显性位。
被动错误标志:6 个位的隐性位。
(2) 错误界定符
错误界定符由 8 个位的隐性位构成。
2-2 CAN错误计数规则
主动错误状态:可以正常参加总线通信的状态。
被动错误状态:易引起错误的状态。
总线关闭态:信息的接收和发送均被禁止。
这些状态依靠发送错误计数和接收错误计数来管理,根据计数值决定进入何种状态。错误状态和计数值的关
系如表1 及图4 所示。
错误的种类
2-2 实践
32个错误帧确定一次busoff故障(32*8=256>255次总线错误)
can干扰仪产生的位填充错误(47-87us为周期)–(使用采用位域干扰方法,干扰发送节点的某一CAN数据帧的DLC场)