CAN总线问题是一类比较普遍的问题,为了方便CAN总线问题的排查,对CAN总线的错误处理机制进行总结。
错误帧
当节点检测到错误时,节点会向总线上发送错误帧,通知其他节点当前总线有错误。错误帧由错误标志和错误界定符组成,如图1所示。并且分为主动错误状态下的错误帧和被动错误状态下的错误帧。
其中:
主动错误状态下错误帧的错误标志为6位连续的显性位,被动错误状态下错误帧的错误标志为6位连续的隐性位,错误界定符统一为8位连续的隐性位。错误检测
CAN总线的错误类型包括位错误、填充错误、格式错误、ACK错误、CRC错误五种,错误的作用域如图2所示。其中位错误、格式错误、ACK错误属于发送节点的错误,填充错误、格式错误、CRC错误属于接收节点的错误。