CAN2.0协议详解:从基础到应用

版权申诉
0 下载量 119 浏览量 更新于2024-06-16 收藏 665KB PDF 举报
"012_CAN2.0协议规范(个人修改版)详细介绍了CAN(Controller Area Network)总线的规范,包括CAN-bus的主要特性、规范内容以及相关的网络模型和帧格式等。该文档源自2006年,版本为1.20,由致远电子提供,对CAN2.0A/B技术进行了详尽的解析。 CAN-bus是由德国Bosch公司为汽车监控和控制设计的一种通信协议,因其技术先进、可靠性高、功能全面且成本效益好,逐渐被广泛应用于各个控制领域。1991年,Philips半导体公司发布了CAN2.0A/B技术规范,随后在1993年,CAN-bus成为ISO 11898国际标准,成为全球应用最为广泛的现场总线之一。 CAN2.0A/B规范包含了两个部分:CAN2.0A和CAN2.0B。CAN2.0A支持标准ID(11位标识符)的帧,而CAN2.0B则增加了扩展ID(29位标识符)的支持,增强了地址空间,适应更复杂的网络需求。 文档中详细阐述了CAN-bus的几个关键特性: 1. 位填充:为了防止连续相同数据导致的信号失真,CAN协议规定了位填充规则,即每连续发送5个相同的位后,自动插入一个相反的位。 2. 错误检测机制:通过位错误、CRC错误等检测方法,确保数据传输的准确性。 3. 错误类型:定义了主动错误和被动错误两种类型,用于识别和处理网络中的错误状态。 4. 故障界定:当系统检测到错误时,会进入故障界定模式,以避免错误数据的传播。 5. ISO/OSI网络模型:CAN协议参考了开放系统互连模型,用于理解不同层次的通信任务。 6. 帧格式:包括数据帧、远程帧、错误帧和过载帧等不同类型的帧结构。 7. 帧类型:标准帧和扩展帧,分别对应11位和29位标识符。 8. 总线仲裁:在多节点同时发送数据时,通过标识符优先级决定数据的传输顺序。 9. 位流编码:采用非归零反相(NRZ-I)编码,使得信号在0和1之间有明显的转换。 10. 单元状态:描述了CAN节点在网络中的工作状态。 11. 振荡器容差:允许节点间的时钟频率有一定的偏差,以适应不同的硬件条件。 12. 位定时:规定了位时间的计算方法,以保证数据的正确传输。 13. 同步:所有节点通过同步边缘来保持对总线信号的同步。 文档还讨论了CAN-bus的故障界定、单元状态、振荡器容差、位定时和同步等关键概念,这些都是确保CAN网络稳定性和可靠性的基础。这些深入的解析对于理解和实现CAN-bus通信系统至关重要。"