CAN总线协议解析:标准与扩展格式

需积分: 0 1 下载量 22 浏览量 更新于2024-06-27 收藏 424KB PDF 举报
"CAN通讯总线协议中文版" CAN(Controller Area Network)通讯总线协议是一种广泛应用在汽车电子、工业自动化等领域的通信协议,以其高效、可靠和实时性著称。CAN 2.0版本分为两个部分:A部分和B部分。A部分主要描述了按照CAN 1.2规范定义的标准报文格式,而B部分则详细解释了标准格式(11位标识符)和扩展格式(29位标识符)。 1. 基本概念 CAN协议的核心是报文传输,它允许设备通过总线互相通信。报文包含一个标识符(ID),用于区分不同的消息类型,并且可以携带数据。CAN协议支持两种报文格式:标准格式和扩展格式。标准格式的标识符有11位,而扩展格式的标识符有29位,提供了更大的地址空间,适合更复杂的应用场景。 2. 报文传输 - 数据帧:用于发送数据的实际报文,包含ID、数据长度代码(DLC)以及数据字段。 - 远程帧:请求其他节点发送特定数据的数据帧。 - 错误帧:当检测到错误时,节点发送错误帧来中断当前传输。 - 过载帧:用于延长总线空闲时间,帮助处理延迟的节点完成操作。 - 帧间空间:报文之间的间隔,确保总线在不同报文之间恢复到空闲状态。 3. 发送器/接收器定义 每个CAN节点既可以作为发送器发送报文,也可以作为接收器接收报文。节点通过竞争总线仲裁权来决定哪个节点可以发送报文。 4. 报文校验 为了确保数据的完整性,CAN协议使用循环冗余校验(CRC)来检测传输错误。 5. 编码 CAN协议使用二进制反码编码(Non-Return-to-Zero Inverted, NRZI)来表示比特流,使得在物理层上可以简单地检测比特翻转。 6. 错误处理 - 错误检测:节点通过监听总线上的比特流来检测错误,如位错误、填充错误、帧格式错误等。 - 错误标定:当检测到错误时,节点会根据错误类型发出相应的错误标志,如主动错误标志或被动错误标志。 7. 故障界定 在CAN网络中,如果一个节点持续出错,它会被标记为“故障界定”,并被禁止发送数据,以防止进一步干扰网络通信。 8. 位定时要求 位定时是CAN协议的关键部分,确保所有节点同步地读取和写入总线。位时序包括传播时间、相位缓冲段和同步跳变沿等参数。 9. CAN振荡器容差 为了确保不同节点的时钟同步,CAN协议规定了一定的振荡器容差,以补偿硬件时钟的差异。 总结来说,CAN通讯总线协议提供了一套完整的机制,用于在分布式系统中的节点间高效、可靠地交换信息。通过灵活的报文格式和严格的错误检测与处理,CAN协议在各种工业和汽车应用中得到了广泛的应用。