【UDS】ISO14229之0x3E服务

文章目录

  • 前言
  • 一、理论描述
  • 二、使用步骤
    • 1.请求
    • 2.响应
  • 总结


->返回总目录<-

前言

简称: “TesterPresent”,测试工具保持连接服务
功能: 此服务用于告知电控单元测试工具仍在线。该服务需周期性发送,用于重置 S3server 计时器并维
持当前激活的非默认诊断会话。


一、理论描述

该服务很简单,就是让诊断会话处于激活状态。

二、使用步骤

1.请求

【UDS】ISO14229之0x3E服务_第1张图片

请求报文: 3E 00
【UDS】ISO14229之0x3E服务_第2张图片

解析报文log:
10 03 : 进入Extend会话模式
50 03 00 32 01 F4: 成功切换会话(00 32 01 F4 不必纠结,是两个诊断时间参数)

等待5秒,会话超时,会话自动退出Extend模式。

27 01: 请求Extend会话下支持的安全访问服务
7F 27 7F: NRC回复,请求服务的会话不支持。

3E 00: 请求握手功能
7E 00: 握手功能已开启

10 03 : 进入Extend会话模式
50 03 00 32 01 F4: 成功切换会话(00 32 01 F4 不必纠结,是两个诊断时间参数)

此时诊断会话会一直处于Extend会话模式,因此无需再次切换Extend会话,就可以直接访问该会话支持的服务。

*等待5秒,检测会话是否会超时(3E是否成功请求)*

27 01: 请求Extend会话下支持的安全访问服务
67 01 00 00 A0 AC: ECU正响应,回复请求的Seed。(验证了,3E服务请求正确,保持会话模式)

27 02 E0 59 97 DA: 上位机发送计算好的Key交给ECU,用来比较验证
67 07: ECU验证成功,安全访问解锁。

2.响应

1)正响应
【UDS】ISO14229之0x3E服务_第3张图片

参见CANoe图中的蓝框

2)否定响应
支持的否定响应如下,一般工作上根据整车厂给的诊断输入文档来选择要支持的NRC码。
【UDS】ISO14229之0x3E服务_第4张图片

博主平日项目中支持NRC如下:

NRC12: Sub-Function不支持(请求数据 3E 01。而你请求的子功能01根本找不到啊,规范里也没有01子服务,ECU收到你这条报文,无法识别subfunc,因此回复该NRC)
【UDS】ISO14229之0x3E服务_第5张图片

NRC13: 请求报文数据长度有误(正确请求数据3E 00 有2个字节。而你请求的是3E 00 00有3个字节,ECU收到你这条报文,无法理解,因此回复该NRC)
【UDS】ISO14229之0x3E服务_第6张图片

总结

0x3E服务太简单了!诊断服务方面基本告一段落。接下来,逐步更新网络会话层的文章!

->返回总目录<-

你可能感兴趣的:(UDS诊断从入门到熟练,can,汽车)