CAN总线通讯协议应用层-诊断详细规范

4星 · 超过85%的资源 需积分: 50 34 下载量 120 浏览量 更新于2024-07-31 收藏 744KB PDF 举报
"CANBUS应用详细协议,涵盖了物理层、数据链路层、应用层以及诊断、网络管理和参数组分配等内容,适用于M2、M3及N类车辆,基于GB/T标准和SAE规范,旨在定义CAN总线的通信协议。" 在汽车行业中,CAN(Controller Area Network)总线是一种广泛应用的通信协议,特别是在商用车辆的控制系统中。GB/TXXXX.6-XXXX是中国制定的关于CAN总线通讯协议的标准,它分为多个部分,其中包括物理层、数据链路层、应用层以及专门针对诊断的第六部分。这些部分共同确保了不同设备在CAN网络上的可靠通信。 物理层是通信协议的基础,它定义了信号如何在物理介质上传输。GB/T标准的第1部分描述了物理层的屏蔽双绞线传输,支持250K比特/秒的数据速率,而第3部分则涉及非屏蔽双绞线的物理层。数据链路层(第4部分)则处理错误检测和纠正,确保数据的完整传输。 应用层是协议的核心,GB/T的第5部分规定了车辆相关应用的通信,而第6部分专门针对诊断应用。这部分定义了在CAN总线上进行故障检测、故障报告和车辆维护时的技术要求。它参考了SAE1939-73标准,这是一个国际公认的重型汽车电子设备诊断规范。此外,标准还包含了网络管理和参数组分配,确保不同节点间协同工作。 网络管理(第7部分)涉及到节点的加入、退出、错误处理和恢复。参数组分配(第8部分)定义了如何分配和管理数据包中的各个参数,以便系统能够理解并解析接收到的信息。地址和标识分配(第9部分)则规定了网络中每个设备的唯一身份,防止冲突。最后,可疑参数编号(SPN)在第10部分中被定义,用于标记可能出现问题的参数,便于故障排查。 GB/TXXXX.6-XXXX的实施和应用,意味着国内的商用车辆将遵循统一的诊断标准,提高故障诊断的效率和准确性,同时也促进了与国际标准的接轨。这一标准的起草和推行是由全国汽车标准化技术委员会负责的,对于汽车制造商和维修服务提供商来说,理解和掌握这些协议至关重要,因为它直接影响到车辆的正常运行和维护。
2019-01-16 上传
CANBus数据链路层协议采用对等式(Peer to peer)通信方式,即使主机出现故障,系统其余部分仍可运行(当然性能受一定影响)。当一个站点状态改变时,它可广播发送信息到所有站点。 CANBus的信息传输通过报文进行,报文帧有4种类型:数据帧、远程帧、出错帧和超载帧,其中数据帧格式如图8所示。CANBus帧的数据场较短,小于8B,数据长度在控制场中给出。短帧发送一方面降低了报文出错率,同时也有利于减少其他站点的发送延迟时间。帧发送的确认由发送站与接收站共同完成,发送站发出的ACK场包含两个“空闲”位(recessive bit),接收站在收到正确的CRC场后,立即发送一个“占有”位(dominant bit),给发送站一个确认的回答。CANBus还提供很强的错误处理能力,可区分位错误、填充错误、CRC错误、形式错误和应答错误等。 CANBus应用一种面向位型的损伤仲裁方法来解决媒体多路访问带来的冲突问题。其仲裁过程是:当总线空闲时,线路表现为“闲置”电平(recessive level),此时任何站均可发送报文。发送站发出的帧起始字段产生一个“占有”电平(dominant level),标志发送开始。所有站以首先开始发送站的帧起始前沿来同步。若有多个站同时发送,那么在发送的仲裁场进行逐位比较。仲裁场包含标识符ID(标准为llbit),对应其优先级。每个站在发送仲裁场时,将发送位与线路电平比较,若相同则发送;若不同则得知优先级低而退出仲裁, 不再发送。系统响应时间与站点数无关,只取决于安排的优先权。可以看出,这种媒体访问控制方式不像Ethetnet的CSMA/CDCA协议那样会造成数据与信道带宽受损。