【AutoSar_UDS服务】0x22服务_通过DID读取数据

1 术语解释

1.1 缩略语

缩写描述解释
DTCDiagnostic Trouble Code诊断故障码
DcmDiagnostic Communication Manager诊断通信管理
DemDiagnostic Event Manager诊断事件管理
SIDService identify服务标识符
NRCNegetive reponse code否定响应码
DIDData Identifier数据标识符

2 功能简介

2.1 功能概述

UDS 0x22服务能够允许Tester通过DID(一个或者多个)读取ECU中的数据,一般地会和UDS 0x2E、0x2F、0x31配合使用;在使用0x22服务之前,需要在配置中实现DID和Data的配置和映射。如果请求读取数据的DID不在配置的范围内,Dcm将回复否定响应(NRC 0x31)。

2.2 服务实现原理

一般地,在读取定长的数据时,DID所对应的数据可以通过配置的回调来读取,也可以配置DID mapping至某个NvM block中数据,Dcm通过NvM_ReadBlock()读取数据;不仅如此。DID也可以引用其他DID,也就是说一个DID所对应的数据可以是其他DID所对应数据的组合。
特殊地,Dcm也可以支持对应动态长度数据的DID,与定长的数据读取不同的是,读取动态长度的数据之前,需要通过回调或者其他方式读取数据长度。

注: F400-F8FF属于OBD DID范围,常用的UDS则使用此范围之外的DID。

3 请求响应定义

3.1 请求格式

主要是SID + DID格式请求。
在这里插入图片描述

3.2 肯定响应格式

在这里插入图片描述

3.3 否定响应格式

否定响应使用通过的格式: 7F + SID + NRC, 0x22服务主要支持一下NRC码:
在这里插入图片描述

4 请求响应实例

Tester Dcm 22 F1 90 01 0A F1 90和01 0A为DID 62 F1 90 57 89 12 34 01 0A 67 Tester Dcm

5 参考资料

  1. ISO 14229-1:2013(E)
  2. Specification of Diagnostic Communication Manager AUTOSAR CP R20-11
通过标识符读取数据服务汽车UDS诊断协议中的一种功能,通过该功能可以从汽车的电子控制单元(ECU)中读取特定的数据。其中,标识符0x22表示读取数据服务。 该命令的结构是由一个请求帧和一个响应帧组成。请求帧中包含了要读取数据的标识符和数据记录编号等信息。响应帧中则包含了请求的数据。 在进行标识符读取数据服务时,首先需要确定要读取的数据的标识符。标识符是通过制定的标准或者车辆制造商定义的,用于唯一标识某个特定的数据。例如,可以通过标识符来读取车速、发动机转速等信息。 一旦确定了要读取的数据的标识符,就可以构建请求帧发送给对应的ECU。ECU接收到请求后,会根据标识符来查找对应的数据,并将其封装在响应帧中返回给诊断设备。 标识符读取数据服务的深度剖析需要了解不同的车辆制造商和标准对于标识符和其对应数据的定义。在实际使用中,需要根据特定的车辆型号和诊断设备的要求来选择合适的标识符。此外,不同的ECU可能支持不同的标识符和数据,因此在使用过程中需要根据实际情况进行选择。 总之,通过标识符读取数据服务汽车UDS诊断中的一个重要功能,它能够帮助用户获取车辆的各种数据信息,提供诊断和故障排除的参考依据。在实际应用中,需要根据具体情况选择合适的标识符来读取所需的数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值