【ISO14229_UDS刷写】-6-$34,$35,$36,$37诊断服务用于downloading下载/uploading上载数据的消息流示例

news2024/10/7 19:35:54

总目录:(单击下方链接皆可跳转至专栏总目录)

《UDS/OBD诊断需求编辑工具》总目录icon-default.png?t=N4P3https://blog.csdn.net/qfmzhu/article/details/123697014【ISO14229_UDS刷写】-1-$34诊断服务RequestDownload理论部分icon-default.png?t=N4P3https://blog.csdn.net/qfmzhu/article/details/130895695

【ISO14229_UDS刷写】-2-$35诊断服务RequestUpload理论部分icon-default.png?t=N4P3https://blog.csdn.net/qfmzhu/article/details/130895791【ISO14229_UDS刷写】-3-$36诊断服务TransferData理论部分icon-default.png?t=N4P3https://blog.csdn.net/qfmzhu/article/details/130895839【ISO14229_UDS刷写】-4-$37诊断服务RequestTransferExit理论部分icon-default.png?t=N4P3https://blog.csdn.net/qfmzhu/article/details/130895913【ISO14229_UDS刷写】-5-$38诊断服务RequestFileTransfer理论部分icon-default.png?t=N4P3https://blog.csdn.net/qfmzhu/article/details/130895945

目录

1 $34,$36,$37诊断服务:将数据下载(Download)到server

1.1 假设

1.2 步骤#1:请求下载

1.3 步骤#2:传输数据

1.4 步骤#3:请求传输退出

2 $35,$36,$37诊断服务:从一个server上传(Upload)数据

2.1 步骤#1:请求上传

2.2 步骤#2:传输数据

2.3 步骤#3:请求传输退出

结尾


优质博文推荐阅读(单击下方链接,即可跳转):

点击返回「《Autosar从入门到精通-实战篇》总目录」

点击返回「《Autosar_BSW高阶配置》总目录」

点击返回《嵌入式硬件/软件开发刷写/烧录文件》专栏

1 $34,$36,$37诊断服务:将数据下载(Download)到server

1.1 假设

本章节规定了从client向server传输数据(download下载)的条件。这个例子包括三个步骤。

在第一步中,client和server执行一个RequestDownload服务。通过该服务,以下信息将作为参数在client和server之间的请求和肯定响应消息中进行交换。

表413 - transferRequestParameter值的定义

数据参数名称

数据参数值

数据参数说明

memoryAddress (3 bytes)

内存地址(3个字节)

0x602000

memoryAddress (start)下载数据到

dataFormatIdentifier

数据格式标识符

0x11

dataFormatIdentifier:

compressionMethod = 0x1X

encryptingMethod = 0xX1

MemorySize (3 bytes)

内存大小(3个字节)

0x00FFFF

MemorySize =(65 535字节)

这个参数值应被server用来与执行requestTransferExit服务期间传输的实际字节数进行比较。

表414 - transferResponseParameter值的定义

数据参数名称

数据参数值

数据参数说明

maximumNumberOfBlockLength

最大块长度

0x0081

maximumNumberOfBlockLength:

(serviceId + BlockSequenceCounter(1字节)+ 127 server数据字节= 129数据字节)

在第二步中,client将65 535字节的数据从内memoryaddress 0x602000开始传输到server的flash memory中。

在第三步中,client通过requestTransferExit服务终止向server的数据传输。测试条件:

ignition = on, engine = off, vehicle speed = 0 [kph]

我们假设,在这个例子中,server支持一个三字节的memoryAddress和一个三字节的MemorySize。如果MemorySize包含未压缩的大小,那么具有127个数据字节的TransferData服务的数量就不能被计算出来,因为compression method压缩方法和它的压缩率没有被标准化。如果MemorySize包含压缩后的大小,那么具有127个数据字节的TransferData服务总数将是516个,然后是一个具有3个字节的TransferData请求。因此,假定最后一个TransferData请求信息包含一个等于0x05的blockSequenceCounter。

1.2 步骤#1:请求下载

表415 - RequestDownload请求消息流程示例

Message direction消息方向

Client -- > Server

Message Type消息类型

Request请求

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

RequestDownload Request SID

请求下载请求SID

0x34

RD

#2

dataFormatIdentifier

数据格式标识符

0x11

DFI

#3

addressAndLengthFormatIdentifier

地址和长度格式标识符

0x33

ALFID

#4

memoryAddress [ byte#1 ] (MSB)

0x60

MA_B1

#5

memoryAddress [ byte#2 ]

0x20

MA_B2

#6

memoryAddress [ byte#3 ] (LSB)

0x00

MA_B3

#7

MemorySize [ byte#1 ] (MSB)

0x00

UCMS_B1

#8

MemorySize [ byte#2 ]

0xFF

UCMS_B2

#9

MemorySize [ byte#3 ] (LSB)

0xFF

UCMS_B3

表416--RequestDownload肯定响应消息流程示例

Message direction消息方向

Server -- >Client

Message Type消息类型

Response响应

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

RequestDownload Response SID

请求下载响应SID

0x74

RDPR

#2

LengthFormatIdentifier

长度格式标识符

0x20

LFID

#3

#4

maxNumberOfBlockLength [ byte#1 ] (MSB)

maxNumberOfBlockLength [ byte#2 ] (LSB)

0x00

0x81

MNROB_B1

MNROB_B1

1.3 步骤#2:传输数据

表417 - TransferData请求消息流程示例

Message direction消息方向

Client -- > Server

Message Type消息类型

Request请求

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

TransferData Request SID

传输数据请求SID

0x36

TD

#2

blockSequenceCounter

块序列计数器

0x01

BSC

#3

:

#129

transferRequestParameterRecord [ transferRequestParameter#1 ] = dataByte#3

:

transferRequestParameterRecord [ transferRequestParameter#127 ] = dataByte#129

0xXX

:

0xXX

TRTP_1

:

TRTP_127

表418 - TransferData肯定响应信息流程示例

Message direction消息方向

Server -- >Client

Message Type消息类型

Response响应

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

TransferData Response SID

传输数据响应SID

0x76

TDPR

#2

blockSequenceCounter

块序列计数器

0x01

BSC

表419 - TransferData请求消息流程示例

Message direction消息方向

Client -- > Server

Message Type消息类型

Request请求

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

TransferData Request SID

传输数据请求SID

0x36

TD

#2

blockSequenceCounter

块序列计数器

0x05

BSC

#3

:

#n+2

transferRequestParameterRecord [ transferRequestParameter#1 ] = dataByte#3

:

transferRequestParameterRecord [ transferRequestParameter#n-2 ] = dataByte#n

0xXX

:

0xXX

TRTP_1

:

TRTP_n-2

表420 - TransferData肯定响应消息流程示例

Message direction消息方向

Server -- >Client

Message Type消息类型

Response响应

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

TransferData Response SID

传输数据响应SID

0x76

TDPR

#2

blockSequenceCounter

块序列计数器

0x05

BSC

1.4 步骤#3:请求传输退出

表421 - RequestTransferExit请求信息流程示例

Message direction消息方向

Client -- > Server

Message Type消息类型

Request请求

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

RequestTransferExit Request SID

请求传输退出请求SID

0x37

RTE

表422 - RequestTransferExit肯定响应信息流程示例

Message direction消息方向

Server -- >Client

Message Type消息类型

Response响应

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

RequestTransferExit Response SID

请求传输退出响应SID

0x77

RTEPR

2 $35,$36,$37诊断服务:从一个server上传(Upload)数据

本章节规定了从server向client传输数据(upload上传)的条件。这个例子包括三个步骤。

在第一步中,client和server执行一个requestUpload服务。通过这个服务,以下信息将作为参数在client和server之间的请求和肯定响应消息中进行交换:

表423 - transferRequestParameter值的定义

数据参数名称

数据值数据

参数说明

memoryAddress (3 bytes)

内存地址(3个字节)

0x201000

memoryAddress (start),以上传数据。

dataFormatIdentifier

数据格式标识符

0x11

dataFormatIdentifier

compressionMethod = 0x1X

encryptingMethod = 0xX1

MemorySize (3 bytes)

内存大小(3个字节)

0x0001FF

MemorySize =(511字节)

该参数值应表明应传输多少数据字节,并应被server用来与执行requestTransferExit服务期间传输的实际字节数进行比较。

表424 - transferResponseParameter值的定义

数据参数名称

数据值数据

数据参数说明

maximumNumberOfBlockLength

最大块长度

0x0081

maximumNumberOfBlockLength:

(serviceId + BlockSequenceCounter (1 byte) + 127 server数据字节

= 129个数据字节)

在第二步中,server从外部RAM中传输511个数据字节(4个transferData服务,包含129个(127个server数据字节+1个ServiceId数据字节+1个blockSequenceCounter字节)数据字节和1个transferData服务,包含5个(3个server数据字节+1个ServiceId数据字节+1个blockSequenceCounter字节)数据字节,从server的memoryaddress 0x201000开始。

在第三步中,client用requestTransferExit服务终止向server的数据传输。测试条件:

ignition = on, engine = off, vehicle speed = 0 [kph]

假设在这个例子中,server支持一个三字节的memoryAddress和一个三字节的MemorySize。此外,假设服server支持TransferData(0x36)服务中的blockSequenceCounter。

2.1 步骤#1:请求上传

表425 - RequestUpload请求信息流示例

Message direction消息方向

Client -- > Server

Message Type消息类型

Request请求

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

RequestUpload Request SID

请求上传请求SID

0x35

RU

#2

dataFormatIdentifier

数据格式标识符

0x11

DFI

#3

addressAndLengthFormatIdentifier

地址和长度格式标识符

0x33

ALFID

#4

memoryAddress [ byte#1 ] (MSB)

0x20

MA_B1

#5

memoryAddress [ byte#2 ]

0x10

MA_B2

#6

memoryAddress [ byte#3 ] (LSB)

0x00

MA_B3

#7

MemorySize [ byte#1 ] (MSB)

0x00

UCMS_B1

#8

MemorySize [ byte#2 ]

0x01

UCMS_B2

#9

MemorySize [ byte#3 ] (LSB)

0xFF

UCMS_B3

表426 - RequestUpload肯定响应信息流示例

Message direction消息方向

Server -- >Client

Message Type消息类型

Response响应

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

RequestUpload Response SID

请求上传响应SID

0x75

RUPR

#2

lengthFormatIdentifier

length格式标识符

0x20

LFID

#3

#4

maxNumberOfBlockLength [ byte#1 ] (MSB)

maxNumberOfBlockLength [ byte#2 ] (LSB)

0x00

0x81

MNROB_B1

MNROB_B1

2.2 步骤#2:传输数据

表427 - TransferData请求消息流程示例

Message direction消息方向

Client -- > Server

Message Type消息类型

Request请求

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

TransferData Request SID

传输数据请求SID

0x36

TD

#2

blockSequenceCounter

块序列计数器

0x01

BSC

表428 - TransferData肯定响应消息流程示例

Message direction消息方向

Server -- >Client

Message Type消息类型

Response响应

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

TransferData Response SID

传输数据响应SID

0x76

TDPR

#2

blockSequenceCounter

块序列计数器

0x01

BSC

#3

:

#129

transferResponseParameterRecord [ transferResponseParameter#1 ]

= dataByte3

:

transferResponseParameterRecord [ transferResponseParameter#127

] = dataByte129

xx

:

xx

TREP_1

:

TREP_127

:

表429 - TransferData请求消息流程示例

Message direction消息方向

Client -- > Server

Message Type消息类型

Request请求

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

TransferData Request SID

传输数据请求SID

0x36

TD

#2

blockSequenceCounter

块序列计数器

0x05

BSC

表430 - TransferData肯定响应消息流程示例

Message direction消息方向

Server -- >Client

Message Type消息类型

Response响应

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

TransferData Response SID

传输数据响应SID

0x76

TDPR

#2

blockSequenceCounter

块序列计数器

0x05

BSC

#3

:

#5

transferResponseParameterRecord [ transferResponseParameter#1 ] = dataByte3

:

transferResponseParameterRecord [ transferResponseParameter#3 ] = dataByte5

0xXX

:

0xXX

TREP_1

:

TREP_3

2.3 步骤#3:请求传输退出

表431 - RequestTransferExit请求信息流程示例

Message direction消息方向

Client -- > Server

Message Type消息类型

Request请求

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

RequestTransferExit Request SID

请求传输退出请求SID

0x37

RTE

表432 - RequestTransferExit肯定响应信息流程示例

Message direction消息方向

Server -- >Client

Message Type消息类型

Response响应

A_Data byte

描述(所有值均为十六进制)

字节值

助记符

#1

RequestTransferExit Response SID

请求传输退出响应SID

0x77

RTEPR

以上摘自《ISO 14229-1:2013》。

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/574449.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VM600 CPUR2 机架控制器和通信接口卡

VM600 CPUR2和IOCR2机架控制器和通信接口卡对是一个中央处理器(CPU)卡对,作为Meggitt振动计产品线中VM600机架机械保护系统(MPS)和/或状态监控系统(CMS)的系统控制器和数据通信网关。 注:不同版本的CPUx/IOCx框架控制器和通信接口卡对可用,如下所示: C…

初探 Compose for Wear OS:实现一个简易选择APP

前言 俗话说,人生有三大难题:早上吃啥、中午吃啥、晚上吃啥。 这个问题一度困扰着无数的人,直到一款帮你选择吃什么的神器《今天吃啥》出现,人们再也不用为了每天吃啥而犯愁了。 哈哈,以上纯属抖机灵。 最近访问谷歌…

Spring MVC数据绑定和响应

数据绑定 在程序运行时,Spring MVC接收到客户端的请求后,会根据客户端请求的参数和请求头等数据信息,将参数以特定的方式转换并绑定到处理器的形参中。Spring MVC中将请求消息数据与处理器的形参建立连接的过程就是Spring MVC的数据绑定。 …

电力监控系统在中原科技城智慧能源配电工程中的应用

摘 要:随着社会经济的快速发展,我国变电站正朝着现代化的方向不断发展,自动化设备以及继电保护装置凭借自身优异性能而获得广泛应用。本文介绍的AM5SE系列的微机保护装置,可以针对中原科技城智慧能源配电工程中不同保护对象提供对…

真无线蓝牙耳机什么牌子好?盘点五款质量好的蓝牙耳机

相信很多人都有过这样的经历,早 晚高峰像沙丁鱼般被挤在公交或地铁上,嘈杂的环境、工作的劳累让你只想听听音乐追追剧,给自己一些放松的时光。可拿出有线耳机却常常被挤掉,更有被扯到耳朵的时候。想换一款蓝牙耳机,但面…

Kubernetes 证书详解

K8S 证书介绍 在 Kube-apiserver 中提供了很多认证方式,其中最常用的就是 TLS 认证,当然也有 BootstrapToken,BasicAuth 认证等,只要有一个认证通过,那么 Kube-apiserver 即认为认证通过。下面就主要讲解 TLS 认证。 …

chatgpt赋能python:Python动作捕捉:何为动作捕捉及其应用

Python动作捕捉:何为动作捕捉及其应用 介绍 动作捕捉是一种技术,可将人或物体的运动转换为数字形式。在过去的几十年里,动作捕捉已被广泛应用于电影制作、游戏开发、医学研究等领域。 Python是一种功能强大的编程语言,已成为许…

AI 工具分享第 4 期:13 款国外免费AI视频生成工具

0. 未来百科 未来百科,是一个知名的AI产品导航网站 —— 为发现全球优质AI工具而生 。目前已 聚集全球3000优质AI工具产品 ,旨在帮助用户发现全球最好的AI工具,同时为研发AI垂直应用的创业公司提供展示窗口,迎接未来的AI时代。未来…

Revit建模|Revit风管怎么绘制?

​绘制风管是机电工程重要的一环,对于不少刚接触Revit的小伙伴来说似乎还无从下手,今天就让小编来告诉大家在Revit中绘制风管的方法。 一、在Revit绘制风管 第一步:首先我们先在revit的界面中项目文件找到风管。 第二步:打开后我…

医疗IT系统安科瑞隔离电源装置在医院的应用

【摘要】介绍该三级综合医院采用安科瑞隔离电源系统5件套,使用落地式配电柜安装方式,从而实现将TN系统转化为IT系统,以及系统绝缘情况监测。 【关键词】医用隔离电源系统;IT系统;绝缘情况监测;三级综合医院…

tektronix泰克TDS3054数字荧光示波器

tektronix TDS3054是泰克TDS3000系列示波器,它是一种新的图形界面操作模式,称为QuickMenu。这种快速访问的用户界面使得主要的示波器控制访问一个单一的按键。每一个示波器都包含一个在示波器中运行的在线巡览盘。此磁盘提供了产品的操作和功能的概述。 …

Qt与Excel:从底层原理到上层应用的全面探索

Qt与Excel:从底层原理到上层应用的全面探索 一、Qt与Excel文件的交互基础(Basics of Qt and Excel Interaction)1.1 Qt与Excel文件的基本概念(Basic Concepts of Qt and Excel Files)1.2 Qt读取Excel文件的基本方法&am…

nignx虚拟主机头配置方法

目录 一、不同ip地址访问 二、不同端口访问 三、不同域名访问 一、不同ip地址访问 步骤一:配置虚拟主机头文件 cd /etc/nginx/conf.d/ 新建一个default2.conf touch default2.conf 配置default.cof 配置如下: Listen 192.168.59.137:80; access_log …

自动清理 ES 历史数据

一、 背景 随着业务的增长和时间的变化,ES 数据库的存储空间越来越大,存储数据多数为系统监控日志,保存的数据不需要长期保留,多数情况只需要保留几个月ES数据即可,既可以减轻ES服务器的负载和资源使用率,还…

Mysql进阶之索引优化

Mysql进阶之索引优化 一. 索引介绍 1.1 什么是Mysql索引 MySQL官方对于索引的定义:索引是帮助MySQL高效获取数据的数据结构。MySQL在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据…

考研C语言第四章

4.1 关系表达式与逻辑表达式 ps&#xff1a; 算术运算符&#xff1a;加减乘除等 关系运算符&#xff1a;比大小的 逻辑与逻辑或 非&#xff01;的运算级别&#xff08;应该&#xff09;最高 4.2 if-else #include <stdio.h> //上课这个写while的原因是方便一次一次…

怎么导入别人的android项目

到期末了好多同学都问我怎么把别人的安卓项目导进自己电脑里面&#xff0c;今天我来统一解答一下&#xff0c;希望有所帮助。 1.删除项目中原有的自动构建的文件 去到要导入项目的目录下把 .idea .gradle与build 三个文件夹&#xff0c;*.iml&#xff0c;local.properties删除…

JavaScript数组和函数

1. 数组 1.1 init <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice…

肉豆蔻酰五肽-8/Myristoyl Pentapeptide-8/sympeptide222

作用机理----肉豆蔻酰五肽-8 随着年龄增大&#xff0c;皮肤逐渐丧失弹性&#xff0c;肌肉功能弱化&#xff0c;而使眼睛周围皮肤松弛形成眼袋。眼睑部位水分的过度积累即眼睑水肿。肉豆蔻酰五肽-8抑制血管紧张素转换酶&#xff0c;增强眼部淋巴循环&#xff0c;促进水分排出 …

vue面试题汇总

vue面试题汇总 1. 谈谈你对MVVM开发模式的理解&#xff1f;2. v-if 和 v-show 有什么区别&#xff1f;3. r o u t e 和 route和 route和router区别4.vue自定义指令5.vue项目优化6.vue模板如何编译7.vue2响应式原理8.vue3响应式原理9.刷新浏览器后&#xff0c;Vuex的数据是否存在…