首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >UDS诊断之22/2E服务

UDS诊断之22/2E服务

作者头像
xbai921031
发布2022-05-25 15:15:06
发布2022-05-25 15:15:06
6.3K0
举报

1

ReadDataByIdentifier(0x22)—— 读DID

这个服务的目的就是读DID。那么什么是DID?DID通俗的来讲,其实就是某一存储在非易失性存储器(Non-volatile memory,NVM)里、表示汽车或者软件的一些标识的ID,最为大家熟知的比如汽车的VIN码,还有软件发布日期等等。

1.1 服务请求报文定义

图1 0x22服务请求报文格式

注:服务请求报文可以请求一个或者多个DID。

本服务不支持Sub-function,关于DID命名规则可以参考ISO 14229 - 1。

1.2 肯定响应

图2 0x22服务肯定响应报文格式

1.3 支持的NRC

图3 0x22服务支持的NRC

1.4 示例

(1)读汽车VIN码

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

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

肯定响应每个DID后面跟对应数据,然后再跟下一个DID。

2

WriteDataByIdentifier(0x2E)—— 写DID

这个服务的目的就是在非易失性存储器(Non-volatile memory,NVM)里写入DID对应的数据。

2.1 服务请求报文定义

图4 0x2E服务请求报文格式

本服务不支持Sub-function。

2.2 肯定响应

图5 0x2E服务肯定响应报文格式

2.3 支持的NRC

图6 0x2E服务支持的NRC

2.4 示例

写入VIN码。

3

总结

在上述两个服务中,还涉及到Flash的读写擦除操作,当然这些就是服务请求函数内部如何实现的了,如有机会会和读者朋友们分享。还要注意的是,一般写操作对于程序来说是有写错的风险的,所以一般写DID的时候Session等级会有要求,还有一定的Security等级要求,请程序员注意。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 进击的程序喵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档