1、0x3E服务(测试工具保持连接服务)
0x3E服务用于告知ECU,测试工具仍与车辆保持连接,以保证之前已经激活的诊断服务或者诊断通讯仍保持激活状态。
测试工具保持连接服务需要周期性发送,来保证一个或者多个ECU维持当前激活的非默认诊断会话中。在没有其它诊断服务的情况下,Tester需要周期性地发送0x3E服务,防止ECU自动返回到默认会话(因为ECU当处于其它非默认会话模式下,超出S3server时间,会自动回到默认会话,0x3E服务每次可重置S3server计时器)。
2、请求报文格式
请求消息的格式定义:
字节序号 | 参数值 | 约定 | 字节值 |
---|---|---|---|
#1 | TesterPresent Request SID | M | 0x3E |
#2 | sub-function = [ zeroSubFunction ] | M | 0x00 / 0x80 |
请求报文中子函数参数定义说明:
子函数参数—zeroSubFunction 其具体的定义详见下表(suppressPosRspMsgIndicationBit (bit 7)未描述):
Bits 6-0 | 描述 | 约定 |
---|---|---|
0x00 | zeroSubFunction 该参数值表示该服务子函数值除了00,以及抑制正响应报文标志位(suppressPosRspMsgIndicationBit) 80之外,不支持其它子函数值 | U |
0x01-0x7F | ISOSAEReserved ISO保留 | U |
请求消息中数据参数定义说明:
该服务在请求报文中不支持数据参数。
3、肯定应答报文
肯定应答报文格式定义如下:
字节序号 | 参数名称 | 约定 | 字节值 |
---|---|---|---|
#1 | TesterPresent Response SID | M | 0x7E |
#2 | sub-function = [ zeroSubFunction ] | M | 0x00 |
肯定应答报文数据参数定义:
Definition |
---|
zeroSubFunction |
请求报文中子函数参数中的 bits 6 - 0 |
4、支持的否定应答码(NRC_)
对于测试工具保持连接服务,实施了如下否定应答码。当服务端在错误场景下,使用了该服务,则会答复对应的否定应答码。
NRC | 描述 |
---|---|
0x12 | sub-functionNotSupported 表示子函数参数不被支持时,会发送该NRC |
0x13 | incorrectMessageLengthOrInvalidFormat 表示消息长度不正确或格式无效时,会发送该NRC |
5、0x3E服务(测试工具保持连接服务)案例
例1:suppressPosRspMsgIndicationBit = FALSE
测试工具保持连接服务请求报文使用案例如下,由测试工具发送给ECU:
字节顺序 | Description | 字节值 |
---|---|---|
#1 | TesterPresent Request SID | 0x3E |
#2 | zeroSubFunction, suppressPosRspMsgIndicationBit = FALSE | 0x00 |
测试工具保持连接服务肯定应答报文见下表,由ECU答复Tester:
字节顺序 | Description | 字节值 |
---|---|---|
#1 | TesterPresent Response SID | 0x7E |
#2 | zeroSubFunction, suppressPosRspMsgIndicationBit = FALSE | 0x00 |
例2:suppressPosRspMsgIndicationBit = TRUE
当suppressPosRspMsgIndicationBit = TRUE时,测试工具保持连接服务请求报文使用案例如下,由测试工具发送给ECU:
字节顺序 | Description | 字节值 |
---|---|---|
#1 | TesterPresent Request SID | 0x3E |
#2 | zeroSubFunction, suppressPosRspMsgIndicationBit = FALSE | 0x80 |
抑制正响应报文标志位激活后,即suppressPosRspMsgIndicationBit = TRUE,客户端不会答复0x3E 80。
返回UDS诊断服务功能单元介绍目录