所谓错误帧,就是总线出错了。
什么是错误帧呢?为什么会产生错误帧呢?出现错误帧该怎么办呢?我们通过5篇文章来讲清楚这个问题~
01
错误帧的帧结构
在发送和接收报文时,总线上的节点如果检测出了错误,那么该节点就会发送错误帧,通知总线上的节点,自己出错了。
错误帧由错误标志和错误界定符两个部分组成。![c8d9cb57e9175e7d16d21f24d28afba9.png](https://img-blog.csdnimg.cn/img_convert/c8d9cb57e9175e7d16d21f24d28afba9.png)
主动错误标志:6个连续的显性位;
被动错误标志:6个连续的隐性位;
错误界定符:8个连续的隐性位。
可以看到在错误标志之后还有0~6位的错误标志重叠,这一段最低有0个位,最多有6个位,关于这一段是怎么形成的,将在下文中解释。02
错误帧是怎么检测的
2.1 位填充原则在了解CAN总线中的错误检测之前,首先需要了解什么是位填充。CAN协议中规定,当相同极性的电平持续五位时,则添加一个极性相反的位。
![5e3794f327c2e1b5c424318c4b4a97a3.png](https://img-blog.csdnimg.cn/img_convert/5e3794f327c2e1b5c424318c4b4a97a3.png)
03
错误帧的种类
在CAN总线通信中,一共有五种错误:位错误
ACK错误
填充错误
CRC错误
格式错误