UDS诊断之3E服务

2022-05-25 15:20:47 浏览数 (1)

TesterPresent(0x3E)—— 会话保持

这个服务的目的是确保诊断服务或者之前激活的通信还处在激活的状态,可以保持当前的非默认(Default Session)会话,通过周期地发送请求帧来阻止自动跳转回默认(Default Session)会话。

1.服务请求报文定义

图1 服务请求报文定义

Sub-Function定义:

图2 支持的子服务

注意上图为Bit 6 ~ 0的定义,Bit 7(supportPosRspMsgIndicationBit)未在这里定义。

本服务不支持有数据参数的报文。

2.肯定响应

图3 肯定响应报文定义

3.支持的NRC

图4 服务支持的NRC

4.示例

在举例之前先来了解下supportPosRspMsgIndicationBit,在ISO14229-1:2013(E)文档中定义如下:

图5 Sub-Function参数定义

  • supportPosRspMsgIndicationBit = FALSE时:不禁止肯定响应报文的发送
  • supportPosRspMsgIndicationBit = TRUE时:禁止发送肯定响应的报文

(1)supportPosRspMsgIndicationBit=0

发送请求:3E 00

肯定响应:7E 00

(2)supportPosRspMsgIndicationBit=1

发送请求:3E 80

肯定响应:无肯定响应报文回复

一般在实际应用中,比如在写DID的时候,可能会要求进入用户自定义的Session,还有可能会通过0x27服务进入一定安全等级,为了使这些服务在写DID的时候是在激活状态,就会使用0x3E使这些服务保持在激活状态,以完成写DID的操作。

以上就是本期内容,如有问题欢迎私信。

0 人点赞