当前位置:   article > 正文

【UDS】ISO14229之0x2E服务_uds 0x2e

uds 0x2e


->返回总目录<-

前言

简称: “WriteDataByIdentifier”,按标识符写数据
功能: 用户通过请求该服务,写指定dataIdentifler(数据标识符DID)所记录的数据值到NVM(非易失性存储,上下电不会被清除的空间,如:EEPROM,ROM,一般常用DataFlash仿EE,性价比高)中。


一、理论描述

客户端请求消息的dataIdentifler(数据标识符DID)大小为2字节,例如:VIN码(0xF190,通常该数值用于表示车辆唯一标识的数据标识符)。一般常用标识符如下(具体根据整车厂的诊断需求文档来定):
1,版本信息相关
软件版本号(数据内容包含如:软件版本,时间,修订次数等信息)
硬件版本号(PCB板上版本信息,一般是在软件中通过0x2E服务写入NVM中的。)
FBL版本号(即Flash Bootloader的版本,FBL是更新软件的一种方式。它是存储在芯片中指定一段位置,是一段程序,通过诊断来引导更新程序)

2,内部数据相关
车辆总里程,ECU供电电压,车辆VIN码(每辆车都有它唯一标识符,即VIN码)等。

3,诊断相关
当前诊断会话(和诊断相关的,通过读取该DID信息,ECU返回当前诊断处于哪个会话模式)
DTC快照数据(见0x19章节
IO Control标识符(是0x2F服务,举例:通过该服务控制远光灯打开,也需要DID用来标识下该功能。服务详情见后续。)
Routine Control标识符(是0x31例行控制服务,例如在通过诊断FBL更新程序之前,需要检查下更新环境是否满足,如:车速是否低于3km/h,电源电压是否满足刷写要求等。)

二、使用步骤

1.请求

在这里插入图片描述

第一个字节就是SID,后边的两个字节 用于标识将要读取的DID。下图红色框内即是请求写入DID为0xF190的数据。
绿色框是指请求的是20字节的多帧数据(大于8字节的数据统称多帧),0x14:17字节的数据0xAA + 3字节(2E F1 90)。
黑色框是指写入之后,又请求0x22读取DID的数据操作。
在这里插入图片描述

2.响应

在这里插入图片描述

1)正响应
这个相对比较简单,参见上图红框下方。
Response ID: 6E
DataIdentifier:F1 90

2)否定响应
支持的否定响应如下,一般工作上根据整车厂给的诊断输入文档来选择要支持的NRC码。
在这里插入图片描述
博主平日项目中,常需要支持的是NRC 0x13,0x22,0x33,0x31。
0x13: 请求的报文信息长度不正确,比如DID F190的数据长度是17字节,而你却写入数据长度不匹配,则ECU回复NRC13,如下图
在这里插入图片描述
**0x22:**请求该服务时,前提条件不满足。(通常整车厂会告诉你NRC22的使能条件是什么。例如:车速 >3km/h,电源过欠压时候,你通过诊断请求写入服务,则回复该NRC…)。
在这里插入图片描述
0x31: 请求超出范围(0x2E服务中,并没有支持0xF123的DID写入功能。所以你请求时,ECU找不到该DID的写入服务)
整车厂根本没有指定DID F18B。
在这里插入图片描述

0x33: 安全访问被拒绝(一般,0x2E服务,需要在0x27服务安全解锁之后,才可以对ECU执行写入数据服务。)
看下图一中,在请求0x2E服务之前,没有请求0x27服务进行安全访问解锁。
在这里插入图片描述
下图是解锁之后,请求的0x2E服务。
在这里插入图片描述

总结

0x2E服务相比之下,较简单。就是写入指定数据标识符DID所记录的数据值到NVM中。下一章0x27安全访问服务见!

->返回总目录<-

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/368448
推荐阅读
相关标签
  

闽ICP备14008679号