CAN总线-错误处理机制分析
在工作中提及CAN错误大家首先会想到的是Busoff故障,但是大家考虑过CAN总线是如何诊断出Busoff故障?总线上那种状态属于故障状态?总线故障后立即触发Busoff吗?总线故障后如何恢复?那么下面将带着这些问题对CAN总线的错误处理机制进行分析。
CAN总线错误处理机制:
- 错误检测
- 错误界定
- 错误处理
错误检测机制:
CAN总线的回读机制、循环冗余检查、位填充和报文格式检查保证了CAN总线数据交互的准确性,当然也为此提供了5种CAN错误类型【位错误,位填充错误,CRC错误,格式错误,ACK错误】;如果总线上检测到此类错误,那么必定会触发相应CAN节点的动作,但是是否触发Busoff并非取决于CAN错误类型而是取决于CAN节点的错误状态;
- 位错误 : 发送的数据和总线上的电平不一致【仲裁段及ACK段属于特例】
- 位填充错误:连续检测到6个同极性电平
- CRC错误: 当接收方接收到