CAN总线规范V2.0详解:标准与扩展格式

需积分: 10 1 下载量 34 浏览量 更新于2024-07-28 收藏 389KB PDF 举报
"CAN规范V20" CAN (Controller Area Network) 规范V2.0是一种广泛应用的通信协议,尤其在汽车、工业自动化和嵌入式系统中,它提供了高效、可靠的多主站串行通信。这个规范由BOSCH公司开发,并在V20版本中引入了两种消息格式:标准格式和扩展格式。 1. 标准格式与扩展格式: - 标准格式:使用11位标识符(ID),适用于那些不需要大量唯一标识符的应用。这种格式是CAN1.2规范的一部分,提供了一个11位的地址空间,能够支持最多2048个不同的消息标识符。 - 扩展格式:在V2.0中引入,使用29位标识符,极大地扩展了地址空间,允许更多设备和复杂系统的区分。这使得系统设计者可以定义更复杂的命名结构,以适应更多元化的通讯需求。 2. 帧类型: - 数据帧:传输实际数据的帧,包含标识符和数据字段。 - 远程帧:请求其他节点发送数据帧的帧,没有数据字段。 - 错误帧:表示网络上的通信错误,由错误标志组成。 - 过载帧:用于延长总线空闲时间,以便节点可以处理内部事务。 - 帧间空间:确保两个帧之间有足够的时间间隔,以避免信号重叠。 3. 报文传输与定义: - 报文传输涉及到数据的发送和接收,以及各种帧类型的处理。 - 发送器和接收器的定义对于确保正确通信至关重要,包括错误检测和错误处理机制。 4. 报文校验: - CAN协议使用循环冗余校验(CRC)来检测传输错误,确保数据的完整性。 5. 编码: - CAN信号的物理层编码决定了如何将数据位转换为电信号,以在总线上传输。 6. 错误处理: - 错误检测涉及识别传输错误,如位错误、同步丢失等。 - 错误标定是指节点如何响应检测到的错误,可能包括进入被动或主动错误状态,甚至从网络中隔离。 7. 故障界定: - 当节点检测到持续的错误时,故障界定机制帮助维护网络的稳定性,防止错误传播。 8. 位定时要求: - CAN协议规定了位时序的精确要求,以确保不同速度的节点可以同步通信。 9. CAN振荡器容差: - V20版本中考虑了CAN时钟源的精度问题,增加了对振荡器容差的处理,以适应硬件差异。 这个规范的技术规范分为A部分和B部分。A部分专注于按照CAN1.2规范定义的标准格式,而B部分则详细介绍了标准格式和扩展格式。为了兼容CAN2.0,设备应至少支持A部分或B部分。值得注意的是,不使用扩展格式的设备可以与其他只支持标准格式或A部分的设备互操作。 总结来说,CAN规范V20提供了两种消息格式,增强了网络的灵活性和可扩展性,同时包含了详细的通信规则、错误处理机制和位定时要求,以确保在各种环境中的可靠通信。