好久没更新了,接触CAN总线已经一年了,自己最近对CAN总线的一些基础知识又回顾了一下。分享下自己对CAN总线五种错误类型的理解。
CAN总线五种错误类型包括:位错误、应答错误、填充错误、CRC错误、格式错误。
1.位错误:根据CAN协议,节点在发送信号的时候,会将自己发送到总线上的电平同时与从总线回读到的电平进行比较,如果内容不一致,就会产生bit check error
并不是回读到电平不一致就是位错误:如仲裁区回读、ACK回读、被动错误标志回读。
2.ACK错误:发送节点在总线发送一帧报文,如果其他节点接收了该报文,就要在该帧ACK段对应时间段向总线发送一个显性位来应答,发送节点就会在ACK段从总线回读到一个显性位,如果在ACK段时间段内没有回读到显性位,那么发送节点就会检测到一个ACK应答错误,表示没有一个节点成功接收该帧报文。
3.填充错误:在需要正常位填充的帧位置里检测到连续六个同性位,就检测到一个填充错误。
4.CRC错误:接收节点计算的CRC值和发送节点传输的CRC值不一致。
5.格式错误:在一帧报文里,在必须发送特定值的区域内检测到了非法值,就检测到一个格式错误。如:CRC界定符、ACK界定符等。