0x14服务_清除DTC
1 术语解释
1.1 缩略语
缩写 | 描述 | 解释 |
---|---|---|
DTC | Diagnostic Trouble Code | 诊断故障码 |
Dcm | Diagnostic Communication Manager | 诊断通信管理 |
Dem | Diagnostic Event Manager | 诊断事件管理 |
SID | Service identify | 服务标识符 |
NRC | Negetive reponse code | 否定响应码 |
2 功能简介
2.1 功能概述
UDS 0x14服务用于清除存储的故障诊断信息,清除的故障诊断信息可以是某一个特定的故障码,也可以是某个类别的故障诊断码,也可以是所有的故障诊断码。
这里所说的某个类别的DTC,其实是DTC Group(比如动力总成,车身,底盘等),DTC Group的区间范围一般由主机厂的需求确定并在Dem模块进行实现。
清除DTC请求包括清除以下信息:
- DTC 状态信息;
- DTC 相关数据(包括冻结帧数据和扩展数据);
- DTC 其他数据(时间,发生次数等);
2.2 服务实现原理
UDS 0x14服务的实现主要是通过Dcm和Dem之间的接口交互,接口调用的时序图如下:
注:一般的,Dcm和Dem在清除DTC的过程中,需要通过回调接口来确认上层是否同意清除。与DTC相关的NvM数据清除要在下电的过程中实现。
2.3 服务应用场景
场景1:查看当前ECU是否存在当前故障,就需要使用14服务清除掉所有历史故障码后,再使用19 02服务读取当前存在的故障码(包含历史故障);
场景2:在ECU进行程序刷写之后,就需要使用14服务清除故障码,然后读取DTC,确保程序功能能够正常运行。
3 请求响应定义
3.1 请求消息格式
3.1.1 请求参数GroupOfDTC的定义
3.2 肯定响应格式
该响应仅有:SID+0x40 = 0x54
注:如果没有DTC被存储,那么Dcm需要发送肯定响应。
3.3 否定响应格式
通用的否定响应响应格式:7F + SID + NRC, 0x14服务支持的NRC如下图:
一般地,如果请求的DTC值或者memory origin错误,Dcm则会回复NRC 0x31,而在某些条件不满足的情况下(即由上层决策的回调函数或ModeRule中,e.g : 车速 > 0)则会回复NRC 0x22, 如果Dem清除DTC过程中收到NvM的ERROR则会回复NRC 0x72;
以上NRC存在同时存在的情况,为了区分NRC的重要性,所以按照下图的优先级进行回复。
4 服务请求实例
4.1 正响应
4.2 否定响应
5 配置说明
主要是Dcm和Dem的配置,这里就不一一赘述。
6 参考资料
- ISO 14229-1
- Specification of Diagnostic Communication Manager AUTOSAR CP R20-11
- Specification of Diagnostic Event Manager AUTOSAR CP R20-11