CAN-bus2.0规范详解:标准与扩展格式

4星 · 超过85%的资源 需积分: 9 6 下载量 60 浏览量 更新于2024-08-02 收藏 379KB PDF 举报
"CAN-bus2.0是BOSCH公司制定的一种汽车通讯协议的版本,它在CAN-bus1.2的基础上增加了扩展格式,使得通讯标识符的范围从11位扩展到了29位,提供了更大的灵活性。该规范分为A部分和B部分,A部分保持与CAN1.2兼容,主要描述标准格式的报文,B部分则详细介绍了标准格式和扩展格式。" CAN-bus2.0规范是针对串行通信在更多领域应用的需求而推出的,尤其是当需要对通讯功能的报文识别位进行标准化分配时。在旧的CAN-bus1.2规范中,报文的地址由11位标识符定义。而在CAN-bus2.0中,为了满足更广泛的需求,引入了扩展格式,将标识符的长度增加到29位,这样可以支持更多的节点和更复杂的通信场景。同时,为了保持向后兼容,保留了11位的标准格式,允许不使用扩展格式的设备继续使用。 规范的A部分详细阐述了CAN报文的格式,包括数据帧、远程帧、错误帧、过载帧以及帧间空间等基本元素。这些元素构成了CAN总线通信的基础,确保了数据的正确传输。发送器和接收器的定义、报文校验、编码、错误处理、故障界定以及位定时要求等都是这部分的关键内容。报文校验用于检查数据的完整性,编码则涉及到如何将数据转化为二进制比特流进行传输。 错误处理是CAN-bus协议的重要组成部分,包括错误检测和错误标定。错误检测机制能识别出网络中的错误,如位错误、CRC错误等,而错误标定则用来通知其他节点当前网络的状态,以避免数据冲突。故障界定则确保在出现错误时,网络能够自我恢复或者进入安全状态。 位定时要求确保所有节点在传输和接收数据时同步,以保证数据的一致性。CAN-bus2.0还增加了对CAN振荡器容差的处理,通过协议修改来适应不同硬件的时钟漂移,提高了网络的稳定性和可靠性。 CAN-bus2.0是一种增强型的通讯协议,旨在提供更高效、更灵活的网络通信环境,尤其适用于汽车电子系统和其他需要多节点协作的复杂环境。它既保留了与早期版本的兼容性,又扩展了通信能力,是现代工业和汽车领域的关键通讯技术之一。