如下图8所示,为上述31 01 02 01请求示例所对应的正响应: 图8 31 01正响应示例 其中,0x01就是跟诊断请求中31 01中的RoutineType保持一致即可,同时routineStatusRecord则是根据客户需求进行自定义回复。 停止Routine(02) 如下图9所示,为上述31 02 02 01请求示例所对应的正响应: 图9 31 02正响应示例 其中,0x...
31服务的典型用途可以包括擦除内存、重置定义的数据、覆盖正常服务控制策略以及控制ECU值随时间变化的功能。通过31服务可以启动特定序列、停止运行该特定序列、请求运行结果。该服务以往常用于ECU在做软件修改更新时,应用于检查刷写条件是否满足、传输数据完整性以及独立性检测。 31服务子功能: Service 31 01:开始执行例程...
31服务的典型用途可以包括擦除内存、重置定义的数据、覆盖正常服务控制策略以及控制ECU值随时间变化的功能。通过31服务可以启动特定序列、停止运行该特定序列、请求运行结果。该服务以往常用于ECU在做软件修改更新时,应用于检查刷写条件是否满足、传输数据完整性以及独立性检测。 31服务子功能: Service 31 01:开始执行例程...
以停止Routine为例,31服务诊断停止Routine请求实例如下图所示: 如下图所示,为上述31 02 02 01请求示例所对应的正响应: 其中,0x02就是跟诊断请求中31 02中的RoutineType保持一致即可,同时routineStatusRecord则是根据客户需求进行自定义回复。 获取Routine结果(03) 以获取Routine结果为例,31服务诊断获取Routine结果请求...
19 02 读取DTC列表 按照定义的状态掩码的形式去查找匹配的故障:将匹配的DTC标识符(3个字节)、DTC状态(1个字节)信息返回。上一小节的01子服务只统计与状态掩码相匹配的DTC个数,02子服务则会将这些匹配的DTC信息返回。 请求格式: 响应格式: 19 03 读取DTC快照信息 ...
2.9 检查存储空间(31 01 02 02) 检验刷写的数据的可靠性,在软件/数据刷写完毕时,刷写设备通过例行程序服务来验证刷写到内存区域的每块数据是否成功。 检查刷写的数据的完整性,确定来源合法,通过CRC、哈希、数字签名等方法,保证刷写过程中不会出错,且刷写的数据是来自合法的提供者。
19 02 读取DTC列表 按照定义的状态掩码的形式去查找匹配的故障:将匹配的DTC标识符(3个字节)、DTC状态(1个字节)信息返回。上一小节的01子服务只统计与状态掩码相匹配的DTC个数,02子服务则会将这些匹配的DTC信息返回。 请求格式: 响应格式: 19 03 读取DTC快照信息 ...
诊断仪发送 27 06 02 03 04(key值是02 03 04,seed是 01 01 01,假设本地密码为01 02 03,而算法就是将密码与seed相加) ECU验证成功 67 06 此时ECU就处于unlocked的状态了,那些被保护起来的诊断服务和诊断数据可以被操作了。通常来说,如果ECU重启,或者回到了default session,unlocked状态就失效了,如果要执行相...
在31服务中,Subfunction分为01/02/03三类,01代表startroutine(启动例程),02代表stoproutine(停止例程),03代表requestroutineresult(获取例程结果)。其中,startroutine为必须支持的功能,停止例程与获取结果则依据主机厂需求或具体功能需要。以闪存擦除为例,该操作需时间完成,中途可能想停止,此时可...
包括DTC是否active或passive以及是否被confirm。31服务用于调用ECU内置的操作序列,sub-function包括:启动(0x01)、停止(0x02)、查询结果(0x03)以及routineControlOptionRecord(用于标识routine执行所需参数,由各家自定义内容)。例如,使用0x0801 ID代表检查ECU刷写条件的routine。