UDS服务基础篇之85服务
定义:
诊断服务85服务主要用于开启或者停止DTC状态位的更新功能,这个功能在主机厂规定的诊断服务规范当中都会有实际的功能及作用。
应用场景
一般而言,对于85诊断服务,主要应用场景为以下场合:
-
用于在诊断刷写的过程中关闭DTC记录,因为在刷写的过程中往往是针对某个ECU节点单独进行刷写,其他的对手件ECU节点始终处于正常工作状态,那么此时应当发送功能寻址给到各ECU节点使得其停止记录DTC,刷写完成之后再重新开启对手件DTC记录功能即可。
-
用于某些特殊不需要记录DTC的场景;
DTC控制基本原理:
针对85服务的通信控制过程会经过如下步骤进行处理,然后完成最终的通信控制,具体步骤如下:
-
Client 发送诊断指令给到Server,Server接收到指令后内部会置位某全局变量;
-
软件内部故障触发时,会首先检查如下两个条件是否满足才会进行event的处理;
-
enable condition是否满足;
-
DTC控制有无关闭(85服务);
只有当enable condition满足并且抑制DTC上报的开关为FALSE的情况下,上报的故障事件才能够得到进一步处理。
其他:
一般来说参数DTCSettingControlOptionRecord几乎不使用,仅用到前面两个参数,一个是SID,另外一个是DTCSettingType。
下图3中各参数解释如下: