今天主要解析19服务中的04子服务,也就是检索客户端定义DTC的快照号对应的快照记录数据,在AUTOSAR中也叫冻结帧。04子服务介绍 1、快照数据概念介绍 前面讲19服务常用子服务的时候,提到了Subfunction为04的子服务,使用04子服务对服务端进行请求,可以获取DTC发生时记录的快照数据。那04子服务是如何获取快照数据的呢?
到这里,在CANdelaStudio中关于19 04服务的请求及响应参数就设置完成了。(软件界面截图来源于CANdelaStudio 16.0版本) 图12 03总结19 04服务的目的是读取对应DTC的快照数据,从而使工程师在进行诊断时更加快速了解故障发生时的车辆状况信息。除此之外,19服务还有其他4个常用的Subfunction,大家可以根据ISO 14229-1中的相关...
到这里,在CANdelaStudio中关于19 04服务的请求及响应参数就设置完成了。(软件界面截图来源于CANdelaStudio 16.0版本) 图12 总结 19 04服务的目的是读取对应DTC的快照数据,从而使工程师在进行诊断时更加快速了解故障发生时的车辆状况信息。除此之外,19服务还有其他4个常用的Subfunction,大家可以根据ISO 14229-1中的相关解...
前面介绍了19 04子服务请求和响应的报文格式。掌握了理论知识,那么现在我们就到实例中去具体分析,从而加深对19 04子服务如何读取快照数据的过程的理解。 客户端对服务端发起一个读取DTC快照的请求。当前DTC为0x123456,可以假设这是一个转向灯的故障码,0x02为快照记录组号。请求报文如图5所示。 图5 服务端端对客户...
(一)$19 04的请求格式 清楚了DTC和Snapshot Group的关系,再来看规范对于$19 04的请求格式约束,如下所示: 如上图,Byte1表示$19服务,Byte2表示sub-function(其中,0x04表示通过DTC号读取快照数据),Byte3~Byte5表示DTC码,Byte6表示DTC快照号,也就是我们常说的快照组(Snapshot Group)。
图1 请求格式 从图1中可知,19 04的请求报文包括四个部分,其中服务ID和Subfunction就不用过多解释了。DTCMaskRecord表示某个故障的DTC,当系统检测到一个故障发生时,则会存储其对应的故障数值,这个故障数值就是DTC。通过读取DTC可知一个故障发生时的具体位置以及原因和类型。
图1 请求格式 从图1中可知,19 04的请求报文包括四个部分,其中服务ID和Subfunction就不用过多解释了。DTCMaskRecord表示某个故障的DTC,当系统检测到一个故障发生时,则会存储其对应的故障数值,这个故障数值就是DTC。通过读取DTC可知一个故障发生时的具体位置以及原因和类型。
响应格式 图3 图3为响应报文格式,当使用19 04对ECU进行请求时,ECU给出的肯定响应的报文格式由七部分组成。此时的DTCAndStatusRecord由三个字节的DTC和一个字节的StatusOfDTC组成,StatusOfDTC表示DTC的状态。假设现在的DTC状态为0x09,则Bit0和Bit3置1。如某个DTC一直存在并且确认,则在ECU响应的报文中的StatusOfDT...
请求格式 图1 从图1中可知,19 04的请求报文包括四个部分,其中服务ID和Subfunction就不用过多解释了。DTCMaskRecord表示某个故障的DTC,当系统检测到一个故障发生时,则会存储其对应的故障数值,这个故障数值就是DTC。通过读取DTC可知一个故障发生时的具体位置以及原因和类型。通常UDS中DTC占3个字节,OBD Ⅱ占2个字节...
如上图,Byte1表示$19服务,Byte2表示sub-function(其中,0x04表示通过DTC号读取快照数据),Byte3~Byte5表示DTC码,Byte6表示DTC快照号,也就是我们常说的快照组(Snapshot Group)。 (二)$19 04的响应格式 $19 04的正响应格式如下所示: 如上图,Byte1表示正响应格式:0x19+0x40 = 0x59;Byte2表示sub-function;...