CAN总线协议解析:Bosch CAN 2.0 标准

需积分: 46 120 下载量 196 浏览量 更新于2024-07-19 7 收藏 375KB PDF 举报
"Bosch的CAN 2.0协议标准,是CAN总线入门学习的重要参考资料,涵盖了CAN总线的基本概念、报文传输方式、报文校验、编码、错误处理等方面,旨在帮助工程师理解CAN协议的两种消息格式——标准格式和扩展格式,并确保不同类型的CAN设备间的兼容性。" 在CAN总线协议中,Bosch的CAN 2.0版本引入了两种报文格式,以满足更广泛的应用需求。标准格式保持了11位的标识符,适合那些不需要大量地址空间的系统。而扩展格式则扩展到了29位,提供了更大的灵活性,适用于需要更复杂地址结构的系统。这两种格式能够共存于同一网络中,且通过第一个保留位来区分。 CAN 2.0协议分为A部分和B部分。A部分详细阐述了按照CAN 1.2规范定义的报文格式,而B部分则专注于标准格式和扩展格式的说明。为了保证与CAN 2.0的兼容性,CAN设备应至少兼容A部分或B部分。如果设备仅使用标准格式,那么按照A部分或早期版本设计的设备仍能与遵循B部分的设备进行通信。 报文传输部分,包括数据帧、远程帧、错误帧和过载帧等不同类型的帧。数据帧用于传输实际数据,远程帧用于请求数据,错误帧用于错误检测和报告,过载帧则用于延长总线空闲时间以帮助处理过载情况。帧间空间则规定了相邻两个帧之间的最小间隔时间,以确保正确同步。 报文校验部分,主要涉及CRC(循环冗余校验),用于检测传输过程中的错误。编码方面,CAN协议定义了如何将数据编码为二进制位,以便在物理层上传输。错误处理机制包括错误检测(如位错误、填充错误等)和错误标定,以识别和处理通信中的问题。故障界定功能允许网络中的节点在出现持续错误时进入故障被动或主动状态,以保护总线的稳定运行。 位定时要求是CAN协议的关键部分,确保了在不同速度的总线上的可靠通信。CAN振荡器容差的增加允许节点在一定程度的时钟漂移下仍能正常工作,增加了系统的鲁棒性。 总结来说,Bosch的CAN 2.0协议是理解和实施CAN总线通信的基础,它提供了标准和扩展两种格式,以适应不同规模和复杂度的网络需求,同时包含了完整的错误检测和处理机制,保证了总线通信的可靠性。对于工程师来说,深入理解并熟练运用这个协议是开发基于CAN总线的嵌入式系统所必需的。