诊断DID分类说明

奥迪的诊断调查表对于DID分类的定义如下:

  • Identification:日常工作生活中我们最容易接触到的车内诊断就是身份类ID了,比如软件版本号、硬件版本号、当前会话模式、零件号等信息,都属于身份类ID,这类ID在功能设计之初就只有读取的,也就是仅支持22服务,因此这类ID的验证大家就需要去斟酌如何测试能够保证产品是没有问题的。
  • Measurement:测量值这块和身份类ID读取有些类似,都是仅支持22服务,因此大家也要思考如何保证测试完成后没有问题。这类ID的代表主要有,读取当前电压、读取当前里程、读取当前车速的信息,根据大家的主观判断基本差距不大。
  • Adaptation:到这一类ID那我们就要重新引入一个服务类型$2E,这类ID主要是一些车辆在生产到下线使用到终端客户手这段时间所使用的配置信息,比如下线日期、ECU的工作模式、展车模式等信息,这类ID的验证我们就要增加考虑写入部分的验证方法,后面的章节会做进一步介绍。
  • Coding:这个就是单纯的车辆配置了,就是我们所熟知的车辆的低配、中配、高配,就是以此来进行分类;那么为何会引入这类ID呢,我们知道在汽车研发是一个比较久的过程,为了安全性的考虑都会投入到了的测试,然而每款车都会分为各种配置,为了对其进行区分,并且最大限度的减少研发时间,就会在软件层面对其进行设置,不仅保证了车辆的配置,也保证了测试的充分性。
### AUTOSAR架构中诊断DID写入方法 在AUTOSAR架构中,诊断数据标识符(Diagnostic Identifier, DID)的写入操作通常通过UDS协议中的`Write Data by Identifier (0x2E)`服务来完成。该服务允许外部测试设备向ECU发送特定的数据值并将其存储在指定的内存位置。 以下是关于如何实现诊断DID写入的具体说明: #### 1. UDS `Write Data by Identifier (0x2E)`服务概述 `Write Data by Identifier`服务用于将数据写入由DID定义的存储区域。此服务需要两个参数:DID和要写入的实际数据值。DID是一个唯一的十六进制数值,表示特定的诊断对象或变量[^2]。 #### 2. 实现流程 为了在AUTOSAR环境中执行DID写入操作,需遵循以下逻辑结构: - **请求消息** 外部工具向ECU发送一条包含DID和服务代码的消息。例如: ```plaintext Request: 0x2E | DID (2 bytes) | Data to write... ``` - **响应消息** ECU接收到请求后验证权限、校验数据格式,并返回成功与否的状态码。如果一切正常,则确认已接收新数据: ```plaintext Response: 0x6E | Written data... (optional echo of written values) ``` #### 3. 示例代码 下面展示了一种基于C语言的伪代码示例,模拟了如何调用AUTOSAR DCM模块以触发内部机制完成上述交互过程: ```c #include "ComStack_Types.h" #include "Dcm.h" // 假设目标DID为0xF18A #define TARGET_DID 0xF18A void WriteDID(uint8* pData, uint16 length){ Std_ReturnType result; // 准备Service ID 和 DID 参数 uint8 serviceId = SID_WriteDataByIdentifier; // 即0x2E uint16 didValue = TARGET_DID; // 调用DCM API 发起写入请求 result = Dcm_WriteDataByIdentifier(serviceId, &didValue, pData, length); if(result != E_OK){ // 错误处理逻辑 ErrorHandlingFunction(); } } ``` 在此片段中,函数`WriteDID()`封装了必要的输入参数传递给底层DCM组件以便进一步解析与分发至相应的目标地址空间[^3]。 #### 4. 配置注意事项 除了编写应用程序外,在系统集成阶段还需要正确设置RTE层以及对应的基础软件模块间的映射关系,确保最终能够准确无误地定位到实际物理RAM/Flash单元上保存修改后的信息[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OPTEE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值