UDS中写数据服务对应的SID为2E: 写数据服务请求(Request)格式:2E + DID +Data
ECU响应(Response)格式:6E+DID
举例如下:
Tester发送Request给ECU
10 14 2E F1 90 11 22 33
ECU回复Response给Tester
30 00 14 AA AA AA AA AA
Tester发送后续Request给ECU
21 44 55 66 77 88 99 AA
Tester发送再次发送后续Request给ECU
22 BB CC DD EE FF 10 11
ECU回复Response确认给Tester
03 6E F1 90 AA AA AA AA
流程说明如下:
- 10 14根据ISO15765-2代表这是一组多帧中的首帧(属于传输层的信息),接着要发0x14=20个字节的有效数据。之后是2E+F190(代表这是VIN码)+VIN码的前3个字节。意思是作为外部工具,想写入一个VIN码数据。这种操作通常发生在车辆下线时。
- 30 00 14是TP层(传输层)的信息,表示这是一个流控帧,ECU发出的表示可以一直连续发,但连续最短的间隔时间要求是20ms。
- 21是TP层(传输层)的信息,表示这是一个连续帧序号为1,后面是VIN码第4字节到第10字节。
- 22是TP层(传输层)的信息,表示这是一个连续帧序号为2,后面是VIN码第11字节到第17字节。
- 03是TP层(传输层)的信息,这里说这个TP层的信息是传不到应用层的,即这是一个用完就会抛弃的信息。03的0表示这是一个单帧,3表示后面有3个有效字节。6E表示我们确认执行了2E服务的请求,这个请求写入的ID是F1 90,即VIN码。
|