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码
肯定响应中,从第4个字节开始即为读取到的VIN码。
(2)读取多个DID,例如0x010A和0x0110
肯定响应中,每个DID后跟随其对应数据,再接着是下一个DID。
2. WriteDataByIdentifier(0x2E)服务——DID写入操作
此服务的目标是将数据写入NVM中对应的DID位置。
2.1 服务请求报文格式
本服务不支持子功能(Sub-function)。
2.2 肯定响应格式
2.3 支持的NRC(否定响应码)
2.4 示例
写入VIN码示例
3. 总结
上述两个服务涉及NVM的读写及擦除操作,具体实现细节取决于服务请求函数的内部逻辑。请注意,写入操作存在一定风险,因此执行DID写入时会有Session等级和Security等级的要求,请程序员谨慎操作。
更多精彩内容,欢迎订阅公众号:进击的程序喵(swdesigner789)
全部评论 (0)