【UDS诊断】——0x34、0x36、0x37服务

🙋‍♂️【UDS诊断服务介绍合集】系列💁‍♂️点击跳转

一、服务概述

Client端使用Routine Control服务来执行定义的步骤序列并获取特定序列的相关结果。该服务有极大的灵活性。Service31的典型用途可以包括擦除内存、重置定义的数据、覆盖正常服务控制策略以及控制ECU值随时间变化的功能。

通过Service31可以启动特定序列、停止运行该特定序列、请求运行结果。该服务以往常用于ECU在做Software Update时,应用于检查刷写条件是否满足、传输数据完整性以及独立性检测。

1.0x34服务——请求下载数据

在这里插入图片描述

1.1.0x34格式

格式:34+①数据格式标识符(1byte)+②地址和长度标识符(1byte)+③存储地址(m个byte)+④存储容量(n个byte)
②的参数代表篇③、④所占字节长度
②的低4bit表示③,高4bit表示④;eg.③占0xa byte,④占b byte,则②为0xab

①高4bite 表示压缩方法,低4bite表示加密方法,一般是0x00;
常规用法:
34 00 44 +4Bytes Address+4Bytes Length
响应:
74+lengthFormatIdentifier+maxNumberOfBlockLength
在这里插入图片描述

lengthFormatIdentifier:高4个bit表示下面的maxNumberOfBlockLength参数占几个字节,低4个bit默认0
maxNumberOfBlockLength : 目标ECU允许Tester传输最大的字节数

举例:
请求:34 00 44 00 00 00 00 00 00 04 00
响应:74 20 08 02
在这里插入图片描述

2.0x36服务——数据传输

2.1.0x36格式

诊断仪向ECU传数据——下载
ECU向诊断仪传数据——上传
在这里插入图片描述

格式:36+①blockSequenceCounter+ ② transferRequestParameterRecord
① 0x34服务后,发送的第一个0x36服务时候①=0x01,每次0x36服务后,请求自增1,
当增加到0xFF,下次再请求0x36,①=0x00
②处为传输的数据
在这里插入图片描述

响应:76+③blockSequenceCounter +④ transferRequestParameterRecord
③与请求中的①一致
④刷写过程中不使用该参数,在使用0x35服务请求时,会使用该参数(数据上传)

3.0x37服务——退出上传下载

在这里插入图片描述

3.1.0x37格式

格式:37+transferResponseParameterRecord
transferResponseParameterRecord :字节长度和参数格式,厂家自定义的,没有定义默认字节数据为0
在这里插入图片描述

响应:77
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值