UDS诊断之22/2E服务

1. ReadDataByIdentifier(0x22)服务——DID读取操作

此服务旨在从非易失性存储器(NVM)中读取DID。DID指的是汽车或软件中的某些标识信息,存储于NVM中,常见的例子有汽车的VIN码以及软件的发布日期等。

1.1 服务请求报文格式

注:服务请求报文可支持单个或多个DID的读取请求。

本服务不支持子功能(Sub-function)。关于DID的命名规范,可参照ISO 14229 - 1标准。

1.2 肯定响应格式

1.3 支持的NRC(否定响应码)

1.4 示例

(1)读取汽车VIN码

UDS诊断之22/2E服务-有驾

肯定响应中,从第4个字节开始即为读取到的VIN码。

(2)读取多个DID,例如0x010A和0x0110

UDS诊断之22/2E服务-有驾

肯定响应中,每个DID后跟随其对应数据,再接着是下一个DID。

2. WriteDataByIdentifier(0x2E)服务——DID写入操作

此服务的目标是将数据写入NVM中对应的DID位置。

2.1 服务请求报文格式

本服务不支持子功能(Sub-function)。

2.2 肯定响应格式

UDS诊断之22/2E服务-有驾

2.3 支持的NRC(否定响应码)

2.4 示例

写入VIN码示例

3. 总结

上述两个服务涉及NVM的读写及擦除操作,具体实现细节取决于服务请求函数的内部逻辑。请注意,写入操作存在一定风险,因此执行DID写入时会有Session等级和Security等级的要求,请程序员谨慎操作。

更多精彩内容,欢迎订阅公众号:进击的程序喵(swdesigner789)

0

全部评论 (0)

暂无评论