(转发)浅谈电动汽车ISO-14229 UDS诊断协议

ISO-14229标准的也称为UDS(Unified Diagnostic Services),是一种面向汽车电子控制单元(ECU,Electronic Control Unit)的统一诊断服务,不仅用于诊断汽车故障,还用于刷写软件等应用场景,可以说是目前汽车电子领域应用最广泛的技术协议之一。

UDS简单来说是一种Client/Server的通信服务,即Tester(诊断仪)向ECU发送诊断服务请求(Request),ECU则向Tester发送对应服务请求的响应(Response)。较为复杂的是,ISO-14229标准针对每种诊断服务定义了不同的子功能、寻址方式、参数等,其响应报文不是唯一的,对于初学者可能感到困扰。个人最近接触了基于CAN总线的UDS诊断协议(UDS on CAN),并总结了本文,供大家一起探讨。

一、ISO-14229标准基本知识

(1) 服务ID(SID,Service Identifier)

ISO-14229标准定义了25种不同的诊断服务,为区分具体的诊断服务,使用1个字节的服务ID作为服务的唯一识别码。当我们想表达一个具体的诊断服务时,有时候直接说出它的服务ID比起全称会更加简洁有效。表1所示是ISO-14229标准定义的诊断服务汇总列表。当然,并不是所有的诊断服务需要支持,标注有*符号为常用诊断服务。

表1 UDS诊断服务汇总

(2) 子功能(Sub-function)

有些诊断服务支持子功能,以细分为更具体的服务类型。比如,0x11服务用于ECU复位,子功能01和03可分别解释为硬件复位和软件复位。前面提到的表1中标注了$符号的服务表示支持子功能。值得注意的是,当子功能所占的1字节最高位(正响应抑制位)置1时,其正响应不需要回复。

(3) 参数(Parameter)

用于描述诊断服务的额外信息(如Data Identifier),多见于子功能不支持的服务,但子功能支持的服务不一定都有参数信息。

(4) 寻址模式(Addressing Type)

Tester发送Request的目标ECU地址根据以下方式指定:

①物理寻址(Physical Address):即一对一通信,用于Tester已知需要诊断的ECU;

②功能寻址(Functional Address):即一对多通信,用于Tester向所有ECU请求诊断服务。

(5) 负响应码(Negative Response Code)

当请求服务执行失败时,ECU向Tester反馈的失败原因代号,简称NRC。表2列出了常见的负响应码。

表2 常见负响应码

二、诊断数据分析

(1) 报文基本格式

诊断报文格式的主要区分于服务是否带子功能,如表3所示。明显的规律是正响应报文的SID字段在其请求报文的SID基础上增加了0x40,而负响应帧都含有0x7F和NRC负响应码。

表3 报文基本格式

(2)多帧报文传输

当报文超过8个字节时,则需要将报文拆分成多帧,依次使用首帧、流控帧和连续帧进行传输,该部分知识可参考ISO-15765标准定义的传输层协议内容。

(3) 响应机制总结

ECU主要根据诊断服务请求报文<SID> + <Sub-Function> + <Parameter>各字段进行响应动作:

①物理寻址模式时,ECU处理请求报文的一般过程如图4所示(含正负响应过程)。只有当所有处理流程顺利执行时,ECU才会回复正响应;否则,ECU回复含有负响应码的错误。

②功能寻址模式时,多数情况下,ECU只回复正响应,负响应不予回复。

更具体的响应机制请见于本文最后的查阅附表总结,限于篇幅,这里不再逐个解释。

  • 3
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ISO 14229 UDS(统一诊断服务)是国际标准化组织制定的一套用于汽车诊断和通信的协议。该标准规定了汽车电子系统和诊断仪之间的通信方式和接口规范,以实现车辆的故障诊断和维修。 UDS的下载是指将诊断软件通过标准化的通信协议下载到车辆的电子控制单元(ECU)中,以实现车辆的诊断和维修功能。 UDS下载的过程主要包括以下几个步骤: 1. 确定EUC的硬件和软件版本:在进行UDS下载之前,需要确定车辆的硬件和软件版本,以保证下载的诊断软件与车辆的ECU兼容。 2. 建立通信连接:通过车辆诊断接口(例如OBD-II接口)以及相应的诊断仪,与车辆的ECU建立通信连接。通信连接可以通过有线或者无线方式实现。 3. 选择下载文件:根据车辆故障代码和诊断需求,选择合适的诊断软件文件,并将其下载到诊断仪中。 4. 设置下载参数:设置下载参数,如速率、地址等,以确保下载的诊断软件能够正确地写入ECU。 5. 执行下载:通过诊断仪发送下载指令,将诊断软件将写入目标ECU。下载过程中,诊断仪会不断与ECU进行通信,保证下载的完整性和正确性。 6. 验证下载结果:下载完成后,进行验证,确保诊断软件已经成功地写入了ECU,并且能够正常运行。 UDS下载是现代汽车维修和诊断的重要环节,能够帮助技师准确、高效地诊断和维修车辆故障。随着汽车电子和通信技术的不断发展,UDS下载在汽车维修行业中的重要性日益突显。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值