CAN总线错误处理与故障界定

需积分: 45 7 下载量 141 浏览量 更新于2024-08-10 收藏 370KB PDF 举报
"CAN总线协议中的错误处理和故障界定机制" 在CAN(Controller Area Network)总线协议中,错误处理是确保通信可靠性的关键环节。错误处理包括错误检测和错误标定,以及后续的故障界定。以下是这些概念的详细说明: 6.1 错误检测 - 位错误:在传输过程中,如果站单元发送的位与监测到的位不同,除特定情况外(如仲裁场的填充位或ACK间隙的隐性位),则认为发生位错误。 - 填充错误:连续6个相同电平的位会触发填充错误,因为CAN总线使用位填充规则防止长串同位。 - CRC错误:接收器通过比较接收到的CRC序列和自己计算的CRC值,若不一致,则表示CRC错误。 - 形式错误:固定格式的位场出现非法位时,会产生形式错误。 - 应答错误:在ACK间隙期间,如果监测到的位不是显性位,即为应答错误。 6.2 错误标定 - 错误条件被检测到的站通过发送错误标志来指示错误。主动错误发生在节点发现错误并主动发送错误标志,而被动错误则是节点被动响应其他站的错误标志。 - CRC错误的错误标志发送在ACK界定符后的位,而其他类型的错误则在下一位发送。 7. 故障界定 - 节点的状态可为“错误主动”、“错误被动”或“正常工作”。“错误主动”表示节点检测到错误并发送错误标志;“错误被动”是节点因接收到错误标志而进入的状态。 CAN总线协议允许两种报文格式:标准格式(11位标识符)和扩展格式(29位标识符)。这两种格式可以共存于同一网络,且兼容性是设计时必须考虑的关键因素。CAN2.0规范分为A部分和B部分,A部分描述了与CAN1.2兼容的标准格式,而B部分则增加了扩展格式的说明。仪器应至少兼容A部分,或者同时兼容A和B部分以支持扩展格式。 综上,CAN总线协议通过精确的错误检测、错误标定和故障界定机制,保证了数据在复杂环境下的可靠传输,是工业自动化和汽车电子等领域广泛采用的通信协议。了解和正确实施这些机制对于实现高效的CAN网络至关重要。