【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 个月前
[AutoSar]BSW_Diagnostic_006 RoutineControl (0x31)的配置和实现
autosar·uds·dcm·rid
原野风霜3244 个月前
UDS诊断协议介绍
uds
嵌入式历练者5 个月前
UDS服务19 01按掩码读DTC数量
嵌入式·uds
疯狂的机器人6 个月前
【Python搞定车载自动化测试】——Python实现CAN总线Bootloader刷写(含Python源码)
python·自动化·can·诊断·uds·bootloader·刷写
疯狂的机器人6 个月前
【Python搞定车载自动化测试】——Python基于Pytest框架实现UDS诊断自动化(含Python源码)
python·自动化·pytest·can·诊断·allure·uds
逸埃6 个月前
[AutoSar]BSW_Diagnostic_002 DCM模块介绍
autosar·uds·dcm
zhoujiazhao7 个月前
【003_音频开发_基础篇_Linux进程通信(20种你了解几种?)】
linux·音视频·socket·grpc·进程通信·uds·dbus
释博文8 个月前
UDS学习记录
学习·uds
up up day10 个月前
UDS诊断(ISO14229-1) 36服务
诊断·uds·汽车电子