【UDS】ISO14229之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安全访问服务见!

->返回总目录<-

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

&春风有信

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

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

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

打赏作者

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

抵扣说明:

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

余额充值