[UDS] --- WriteDataByIdentifier 0x2E

简介: [UDS] --- WriteDataByIdentifier 0x2E

1 0x2E功能描述

根据ISO14119-1标准中所述,诊断服务2E主要用于Client向Server(ECU)通过DID的方式写入相关的数据。

2 0x2E应用场景

一般而言,对于2E诊断服务,主要应用场景为以下场合:

在整车下线的过程中写入相关配置信息,如常见的VIN码;清除NVM;重置已写入到Flash中的数据;其他需要写入内部相关参数的场合;

上述这些应用场景较为常见,除此以外,当然还有很多面向ECU内部测试的应用场合,这里就不一一列举。

3 0x2E服务请求

服务请求是Client发送给到Server的诊断服务指令。其中Client可以理解为Tester,Server可以理解为ECU节点。

3.1 请求格式

按照ISO14229-1标准所述,如下图1所示:

各参数解释如下:

4 0x2E请求和响应

以写入DID F1 90 (VIN码)为例,其对应的诊断请求实例如下图所示:

正响应实例,上述DID(F1 90)请求示例所对应的正响应:

4.1 正响应格式

2E诊断服务的正响应格式:

从上图中可以看出,2E诊断服务的正响应由以下两个部分组成:

Response ID:该参数固定为SID+0x40 = 0x6E;DID:该参数表示某个数据的标识符,回复的DID应与诊断请求的DID保持一致;

4.2 负响应NRC

于2E服务而言支持的NRC如下图所示:

  • 例如当尝试写入F190的DID值且当前车速条件不满足,此时Client发送诊断指令"2E F1 90"请求Server读取数据,Server将会回复“7F 2E 22”来告诉请求者当前读取数据的条件不满足,请再次检查读取该DID的条件。
  • 当发送报文长度或者格式不对时,则Server会回复"7F 2E 13";
  • 当诊断请求DID不存在或者在当前Session中不支持时,则Server就会回复“7F 2E 31”;
  • 当Server在发生复位前处于security lock状态,那么此时Server则会回复"7F 2E 33";
  • 当2E服务写入的内存地址错误时,那么此时Server则会回复"7F 2E 72 ";
相关文章
|
4月前
|
传感器 安全 内存技术
[UDS] --- RoutineCommunicationControl 0x31
[UDS] --- RoutineCommunicationControl 0x31
280 1
|
4月前
|
安全
[UDS] --- TesterPresent 0x3E
[UDS] --- TesterPresent 0x3E
103 1
|
4月前
|
网络协议
攻防世界---misc---神奇的Modbus
攻防世界---misc---神奇的Modbus
|
4月前
|
存储 安全
[UDS] --- ECUReset 0x11
[UDS] --- ECUReset 0x11
71 0
|
4月前
|
安全
[UDS] --- CommunicationControl 0x28
[UDS] --- CommunicationControl 0x28
106 0
|
4月前
|
安全
[UDS] --- ReadDataByIdentifier 0x22
[UDS] --- ReadDataByIdentifier 0x22
238 0
|
4月前
|
安全 内存技术
[UDS] --- UDS服务应该支持的NRC
[UDS] --- UDS服务应该支持的NRC
505 0
|
4月前
[UDS] --- UDS概述
[UDS] --- UDS概述
596 0
|
4月前
|
安全
[UDS] --- SecurityAccess 0x27 service
[UDS] --- SecurityAccess 0x27 service
124 0
|
4月前
[UDS] --- DiagnosticSessionControl 0x10 service
[UDS] --- DiagnosticSessionControl 0x10 service
152 0