CAN总线基础与错误处理介绍

需积分: 47 19 下载量 186 浏览量 更新于2024-08-07 收藏 4.73MB PDF 举报
"总线空闲-岛电fp93仪表常用操作说明(自编)" 在CAN总线通信中,"总线空闲"状态是一个关键的概念,它指的是总线上没有数据传输时的状态。在这一状态下,总线的电压水平为隐性电平,这个电平通常表示逻辑"0",但值得注意的是,即使电压保持在隐性电平,总线也可以被认为是空闲的,因为只要没有正在进行的数据传输,任何长度的隐性位序列都被认为是空闲状态,即使包括零位。 在总线空闲时,如果有单元需要发送数据,它就可以开始访问总线并启动一个新的通信帧。这种访问是基于CAN协议的规则进行的,每个节点都有平等的机会来发起传输,且遵循一定的优先级规则。 另一个相关概念是"延迟传送"或"发送暂时停止",这通常发生在错误处理过程中。当一个单元处于被动错误状态并且刚刚发送了一个消息后,会有一个包含8个隐性位的帧间隔,这段期间不进行数据传输,可以理解为一种短暂的总线空闲期,用来确保总线的稳定和错误检测。 CAN总线是一种广泛应用的串行通信协议,由德国博世公司于1986年开发,主要用于汽车电子控制系统,后来通过ISO11898和ISO11519-2进行了标准化,成为汽车行业内的标准。CAN协议以其高效率、高可靠性和错误检测能力而著名,不仅在汽车领域,还在工业自动化、船舶、医疗设备和工业设备等多个领域得到广泛应用。 CAN总线的特点包括: 1. 高优先级仲裁机制,允许节点根据标识符ID的数值大小实时竞争总线使用权。 2. 错误检测和恢复机制,能够快速识别并处理通信错误。 3. 位填充规则,用于防止连续的相同位导致的信号失真。 4. 强大的抗干扰能力,即使在网络中存在错误,仍能保证数据的正确传输。 CAN协议的主要组成部分包括: - 数据帧:包含有效数据和必要的控制字段,用于传输信息。 - 遥控帧:用于请求特定数据帧的传输。 - 错误帧:用于报告和纠正通信错误。 - 过载帧:用于延长帧间隔,帮助处理繁忙的网络状况。 - 帧间隔:用于区分不同的通信帧,并提供总线空闲状态。 - 位时序:定义了每个位的时间结构,影响通信速度和准确性。 在CAN网络中,每个节点都有可能检测到错误,并通过错误标志向其他节点报告,如活动错误标志和被动错误标志。当错误计数值达到一定阈值时,节点可能会从正常状态转为错误状态,影响其对总线的访问权限。 了解并熟练掌握CAN总线的这些基本概念和操作,对于正确配置、诊断和维护CAN网络至关重要,无论是对于初学者还是经验丰富的工程师来说,都是不可或缺的知识。