本文框架
- 1. 系列介绍
- 1.1 19服务概述
- 1.2 DTC故障码定义
- 1.3 DTC状态位
- 2. 19服务常用子服务
- 2.1 19 01服务
- 2.2 19 02服务
- 2.3 19 04服务
- 2.4 19 06服务
- 2.5 19 0A服务
- 2.6 否定响应
- 3. Autosar系列文章快速链接
1. 系列介绍
UDS(Unified Diagnostic Services)协议,即统一的诊断服务,是面向整车所有ECU的一种诊断通信方式,是基于ISO 14229规范的规范化诊断服务标准,其位于OSI模型中的应用层,UDS可基于不同的总线实现,如基于CAN总线可再结合ISO1576协议进一步实现传输层,本篇将介绍19服务相关内容:
1.1 19服务概述
19服务英文全称为ReadDTCInformation Service,即读取DTC相关信息的服务,DTC(Diagnositc Trouble Code),诊断故障码读取是UDS诊断中非常重要的一环,在ECU运行过程中如检测到故障如检测到汽车的三效催化器发生老化,会记录对应的故障码,不同的故障码根据故障严重及危害程度确定是否需要点亮仪表盘的发动机故障灯。
19服务允许诊断仪/上位机从车辆内的任何ECU读取故障诊断码(DTC)信息的状态。此服务常用的操作如下:
- 根据DTC状态掩码查找匹配的DTC数量;
- 根据DTC状态掩码查找匹配的所有DTC列表;
- 根据提供的冻结帧记录号,获取DTC和DTC对应的冻结帧数据;
- 根据DTC值和扩展数据记录号,获取DTC和DTC对应的扩展数据
- 获取所有支持的DTC和DTC对应的UDS状态
1.2 DTC故障码定义
在ISO 15031中对DTC故障码各Bit格式进行了定义:
1.3 DTC状态位
DTC的八个状态位分别代表含义:
2. 19服务常用子服务
在ISO 14229中定义了28个Sub-Function,大家可以参考协议进一步学习,篇幅问题在这里仅对如下几个常用的子服务进行介绍。
几个常用的Sub-Function:
19 01:根据DTC状态掩码查找匹配的DTC数量
19 02 :通过DTC 状态掩码获取DTC状态
19 04:根据提供的冻结帧记录号,获取DTC和DTC对应的冻结帧数据
19 06:根据DTC值和扩展数据记录号,获取DTC和DTC对应的扩展数据
19 0A:获取支持的所有DTC的状态
2.1 19 01服务
19 01即根据DTC状态掩码查找匹配的DTC数量的服务,上位机发送的请求格式如下:
在肯定响应格式如下:
2.2 19 02服务
该子服务为根据状态掩码报告对应的DTC,其规则为与请求掩码Bit位求与后不为0的DTC都会被上报给上围巾,即任意Bit对上都会被上报,其报文请求格式:
肯定响应格式如下:
2.3 19 04服务
该子服务为根据DTC号报告相关的快照信息,一般会根据主机厂需求记录上车速,电源电压,车辆点火状态,里程,时间等参数,对应的服务请求如下:
其正响应:
2.4 19 06服务
除快照信息外,还会记录DTC对应的一些扩展信息,如老化计数器及故障发生次数等,如需获取以上扩展信息,就需要用到19 06服务,其请求格式为:
其正响应报文格式为:
2.5 19 0A服务
该服务为请求获取所有支持的DTC,报文请求格式为:
对应的正响应报文:
2.6 否定响应
如应答为否定应答,则对应的否定NRC代号对应解析:
3. Autosar系列文章快速链接
Autosar系列文章概览及快速链接