1、错误帧格式
当CAN节点检测到错误时,就会触发发送错误帧通知报文错误,在CAN帧类型中介绍了错误帧分为主动错误帧和被动错误帧。
主动错误帧:6个连续显性位,8个连续隐形位的错误界定符。
被动错误帧:6个连续隐性位,8个连续隐形位的错误界定符。
2、错误帧的发送
以位错误举例进行CAN总线错误帧发送说明,如下图所示。发送节点发送0,总线上却是1,此时发送节点检测到位错误,开始发送主动错误标志(6个连续显性位);发送完主动错误标志后,接收节点和总线此时都检测到位填充错误(5个连续相同极性位后填充一个极性相反位),接收节点和总线开始发送主动错误帧。
触发被动错误帧的逻辑与上述类似,不再赘述。但是要说明的是:当一个节点连续检测到多个错误,进入到被动错误模式时,此时很有可能是此节点出了问题或者受到干扰,这个时候这个节点检测出的错误可能已经不被信任,所以处于被动错误模式的节点发出的错误帧是14个隐性位,可以被正常报文或正常的错误帧覆盖掉。