本篇文章主要针对诊断服务14服务的基础介绍。
一、定义
UDS协议中的14服务主要是用于清除DTC的,细化就是清除已经存储的故障码信息。
客户端使用ClearDiagnosticInformation服务清除一个或多个服务器内存中的诊断信息。 当ClearDiagnosticInformation服务完全处理时,服务器应发送肯定响应。 即使没有存储DTC,服务器也应发 送肯定的响应。 如果服务器在内存中支持DTC状态信息的多个副本(例如,一个RAM副本和一个EEPROM副本), 则服务器应清除ReadDTCInformation状态报告服务使用的副本。 其他副本(例如长期内存中的备份副本)根据 适当的备份策略进行更新(例如,在电源锁定阶段)。
注意
在功率锁存阶段受到干扰的情况下(例如,在功率锁定阶段期间电池断开),这可能导致数据不一致。 各个DTC状态位的行为应根据定义执行。
客户端的请求消息包含一个参数。 参数groupOfDTC允许客户端清除一组DTC(例如动力总成,车身,底盘等)
或特定的DTC。 进一步的细节请参考。 除非另有说明,否则服务器应为所请求的组清除内存中与排放有关
的和与排放无关的DTC信息
14服务主要可以清除的故障信息包含了:
清除单个DTC。
清除所有DTC组。一般是FF FF FF
清除特定的DTC组
二、报文回复格式
groupOfDTC
该参数包含一个3字节的值,指示DTC组(例如,动力总成,车身,底盘)或要清除的特定DTC。 下图中包含了每个值/值 范围的值的定义。
通过这个服务可以实现以下但不仅以下的内容:
DTC状态字节(见11.3中的ReadDTCInformation服务),
捕获的DTC快照数据(DTCSnapshotData,请参阅ReadDTCInformation服务),
捕获的DTC扩展数据(DTCExtendedData,请参阅ReadDTCInformation服务),
其他DTC相关数据,例如DTC专用的第一/最近DTC,标志,计数器,定时器等,
存储在服务器的可选DTC镜像存储器中的任何DTC信息都不受此服务的影响(请参阅
ReadDTCInformation(0x19)服务,以用于DTC镜像存储器定义)
请求格式
![](https://i-blog.csdnimg.cn/direct/cb66193d49ce4a36a2386baa19a9360a.png)
![](https://i-blog.csdnimg.cn/direct/c4b076e2361e44ad88aa4f4f5a3f9f26.png)
![](https://i-blog.csdnimg.cn/direct/0d1da298b061459cbe638fbec951cd07.png)
此服务后面不加参数,会用系统的填充字节CC或者AA或者FF
三、支持的否定响应码
![](https://i-blog.csdnimg.cn/direct/43b1d4a7fc0b413586db3faf28091a1f.png)
![](https://i-blog.csdnimg.cn/direct/b6e811f89e94493f89daa6d76c65098b.png)
优先级顺序根据厂家或者默认协议顺序进行定义。这里补充一下,厂家的设备有些不支持NRC78的如果不支持,是需要程序里面允许插针的,这里不能影响整个EOL下线流程。
四、消息流
![](https://i-blog.csdnimg.cn/direct/a1b5fce7331a4201b74a6a7eea33c5e4.png)
关于DTC的状态掩码,放在了19服务里面进行讲解,同时和85服务进行关联。