UDS 诊断 - RequestDownload(请求下载)(0x34)服务

news2024/11/26 10:24:16

UDS 诊断服务系列文章目录

诊断和通信管理功能单元
UDS 诊断 - DiagnosticSessionControl(诊断会话控制)(0x10)服务
UDS 诊断 - ECUReset(ECU重置)(0x11)服务
UDS 诊断 - SecurityAccess(安全访问)(0x27)服务
UDS 诊断 - CommunicationControl(通信控制)(0x28)服务
UDS 诊断 - TesterPresent(测试仪保活)(0x3E)服务
UDS 诊断 - AccessTimingParameter(访问计时参数)(0x83)服务
UDS 诊断 - SecuredDataTransmission(受保护的数据传输)(0x84)服务
UDS 诊断 - ControlDTCSetting(控制DTC设置)(0x85)服务
UDS 诊断 - ResponseOnEvent(基于事件响应)(0x86)服务
UDS 诊断 - LinkControl(链路控制)(0x87)服务
数据传输功能单元
UDS 诊断 - ReadDataByIdentifier(按标识符读取数据)(0x22)服务
UDS 诊断 - ReadMemoryByAddress(按地址读取内存)(0x23)服务
UDS 诊断 - ReadScalingDataByIdentifier(按标识符读取换算数据)(0x24)服务
UDS 诊断 - ReadDataByPeriodicIdentifier(按周期性标识符读取数据)(0x2A)服务
UDS 诊断 - DynamicallyDefineDataIdentifier(动态定义数据标识符)(0x2C)服务
UDS 诊断 - WriteDataByIdentifier(按标识符写数据)(0x2E)服务
UDS 诊断 - WriteMemoryByAddress(按地址写内存)(0x3D)服务
存储数据传输功能单元
UDS 诊断 - ClearDiagnosticInformation(清除诊断信息)(0x14)服务
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(1) - 服务说明
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(2) - 请求消息
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(3) - 响应消息
UDS 诊断 - ReadDTCInformation(读取 DTC 信息)(0x19)服务(4) - 示例
输入输出控制功能单元
UDS 诊断 - InputOutputControlByIdentifier(按标识符的输入输出控制)(0x2F)服务
例程功能单元
UDS 诊断 - RoutineControl(例程控制)(0x31)服务
上传下载功能单元
UDS 诊断 - RequestDownload(请求下载)(0x34)服务

本文可能涉及的文章
addressAndLengthFormatIdentifier(地址和长度格式标识符)示例值

文章目录

  • UDS 诊断服务系列文章目录
  • 一、 服务说明
  • 二、请求消息
    • 1. 请求消息定义
    • 2. 请求消息数据参数定义
  • 三、肯定响应消息
    • 1. 肯定响应消息定义
    • 2. 肯定响应消息数据参数的定义
  • 四、受支持的 NRC


一、 服务说明

客户端利用 requestDownload (请求下载)服务启动客户端到服务器之间的数据传输(下载)。

服务器收到 requestDownload(请求下载)请求消息后,应在其发送肯定响应消息之前采取必要行动接收数据。

二、请求消息

1. 请求消息定义

字节参数名称Cvt字节值
#1RequestDownload (请求下载) 请求 SIDM0x34
#2dataFormatIdentifier(数据格式标识符)M0x00 - 0xFF
#3addressAndLengthFormatIdentifier(地址和长度格式标识符)M0x00 - 0xFF

#4

#(m-1)+4
memoryAddress[] = [
byte#1(MSB)

byte#m ]

M

C1

0x00 - 0xFF

0x00 - 0xFF

#n-(k-1)

#n
memorySize[] = [
byte#1(MSB)

byte#m ]

M

C2

0x00 - 0xFF

0x00 - 0xFF

C1:此参数的存在性取决于 addressAndLengthFormatIdentifier 的地址长度信息参数。

C2:此参数的存在性取决于 addressAndLengthFormatIdentifier 的内存大小长度信息。

2. 请求消息数据参数定义

定义
dataFormatIdentifier(数据格式标识符)
此数据参数是一个单字节值,每半字节均单独编码。高效半字节指定 “compressionMethod(压缩方法)”,低效半字节指定 “encryptingMethod(加密法)“。字节值 0x00 不得使用压缩法或加密法。0x00 以外的字节值由车辆制造商规定。
addressAndLengthFormatIdentifier(地址和长度格式标识符)
此参数是一个单字节值,每个半字节均单独编码:
- 第 7 至 4 位:memorySize(内存大小)参数的长度(字节数)
- 第 3 至 0 位:memoryAddress(内存地址)参数的长度(字节数)
memoryAddress(内存地址)
参数 memoryAddress 是数据被写入服务器内存的起始地址。该地址所用的字节数由 addressAndLengthFormatIdentifier 的低效半字节(第 3 至 0 位)确定。memoryAddress 参数的第 m 个字节始终为服务器中当前所引用的地址的最低有效字节。地址的最高有效字节可以用作内存标识符。
内存表示符的使用示例可为一个带 16 位寻址和内存地址重叠的双处理器服务器(给定地址适用于处理器但得出不同的物理内存设备或使用内部和外部闪存的情况下)。在该情况下,可将 memoryAddress 参数中另外未使用的字节指定为用于选择期望内存设备的内存标识符。此功能的使用应由车辆制造商/系统供应商确定。
memorySize
服务器应利用此参数对比内存大小与执行 TransferData(传输数据)服务期间传输的数据总量。这增加了编程安全性。该内存大小所用的字节数由 addressAndLengthFormatIdentifier 的高效半字节(第 7 至 4 位)确定。如果数据压缩,则由车辆制造商规定内存大小是否支持压缩或未压缩大小。

三、肯定响应消息

1. 肯定响应消息定义

字节参数名称Cvt字节值
#1RequestDownload (请求下载)响应SIDM0x74
#2lengthFormatIdentifier(长度格式标识符)M0x00 - 0xF0

#3

#n
maxNumberOfBlockLength[] = [
byte#1(MSB)

byte#m ]

M

M

0x00 - 0xFF

0x00 - 0xFF

2. 肯定响应消息数据参数的定义

定义
lengthFormatIdentifer(长度格式标识符)
此数据参数是一个单字节值,每个半字节均单独编码:
- 第 7 至 4 位:maxNumberOfBlockLength(最大信息组长度)参数的长度(字节数)
- 第 3 至 0 位:文件保留,设置为 “0“
除了低效半字节须设置为 “0”,此参数的格式与请求消息中的 addressAndLengthFormatIdentifier 参数的格式兼容。
maxNumberOfBlockLength(最大信息组长度)
RequestDownload(请求下载)肯定响应消息利用此参数通知客户端其发出的 TransferData(传输数据)请求消息中应包含多少数据字节(maxNumberOfBlockLength(最大信息组长度))。此长度反应了完整的消息长度,包括 TransferData 请求消息中出现的服务表示符和数据参数。该参数允许客户端在开始向服务器传输数据之前适应服务器的接收缓冲大小。服务器接收的 TransferData 请求长度须与其报告的 maxNumberOfBlockLength 长度相等。TransferData 请求长度与 maxNumberOfBlockLength 间的允许公差(如有)可以视特定服务器而定。注意指定信息组内的最后一个 TransferData 请求可能要比 maxNumberOfBlockLength 短。服务器不得写入 TransferData 消息(压缩格式或未压缩格式)中未存储的其他数据字节(如填充字节),因为这会对写入后续 transferData 请求数据的内存地址造成影响。

四、受支持的 NRC

NRC说明
0x13消息不正确或格式无效
0x22条件不正确
如果服务器在接受软件或校准模块下载的同事接收到此项服务请求,则此 NRC 会被退回。这种情况的发生可能是由于模块下载过程中服务器与客户端之间的数据大小不匹配导致。
0x31请求超过限值
下述情况下,应返回此 NRC:
- 特定 dataFormatIdentifier 无效。
- 特定 addressAndLengthFormatIdentifier 无效。
- 特定 memoryAddress / memorySize 无效。
0x33安全访问被拒绝
如果接收到此项服务请求时服务器比较安全(针对支持 SecurityAccess(安全访问)服务的服务器),则此 NRC 会被退回。
0x70不接收上传下载
该 NRC 表示由于某些故障条件无法下载到服务器内存。

下图为 0x34 服务的 NRC 处理。

0x34 服务的 NRC 处理

图例
1 最小为 5(SI + dataFormatIdentifier + addressAndLengthFormatIdentifier + 最小 memoryAddress + 最小 memorySize)
2 长度可以通过 addressAndLengthFormatIdentifier 计算

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

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

相关文章

【Hot100算法刷题集】双指针-02-盛水最多的容器(含暴力枚举、双指针法及其合理性证明)

🏠关于专栏:专栏用于记录LeetCode中Hot100专题的所有题目 🎯每日努力一点点,技术变化看得见 题目转载 题目描述 🔒link->题目跳转链接 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的…

Linux系统部署SmartKG(知识图谱安装)

基本要求 #docker需要高版本 Docker version 20.10.14, build a224086docker 20.10.14离线安装 SmartKG官网 官方详细文档 下载部署包 SmartKG官网 准备部署 #上传到服务器 [roottest-server01 opt]# ll SmartKG-master.zip -rw-r--r-- 1 root root 79708691 Sep 11 17:4…

网络层协议介绍

目录 一、网络层的功能 二、ip数据包格式 三、ICMP协议(Internet控制报文协议) 3.1功能 3.2 ping命令 3.2.1ping命令的用法 3.2.2扩展 3.3 tracert命令(windows) 四、arp协议 4.1ARP协议是如何工作的 4.2工作原理&#x…

解码未来:H.265与H.266技术对比及EasyCVR视频汇聚平台编码技术优势

随着视频技术的不断发展,视频编码标准也在不断更新迭代。H.265(也称为HEVC,High Efficiency Video Coding)和H.266(也称为VVC,Versatile Video Coding)作为当前和未来的主流视频编码标准&#x…

本地部署大语言模型详细讲解

​ 大家好,我是程序员小羊! 前言: 本地部署大语言模型(LLM,Large Language Model)需要相应的硬件资源和技术栈支持,如GPU计算能力、大量内存、存储空间,以及模型部署框架。以下是如…

46页PPT说清楚数据资产目录建设,数据资产目录建设方案

数据资产管理的必要性 为了更好地管理和利用这些资产,构建一个全面的数据资产目录变得至关重要。本方案旨在通过一系列策略和步骤,帮助企业实现数据资产的有效管理和利用。政策层面,数据已被纳入生产要素,强调了数据安全与保护的…

Qt 中openMp 配置

Qt 中openMp 配置 前言 openMP是使用CPU进行并行计算,在实际项目中处理耗时的for循环等,简单有效,本文记录下使用Qt \C项目开发时如何配置openMP 二、工程配置 1.Qt Creator pro工程 区分编译器,配置pro文件 MSVXXX编译器&am…

Adobe Firefly 视频模型测试版即将推出,具备文本、图像或视频添加元素的多种功能

Adobe Firefly Video 是一款由 Adobe 推出的新型人工智能视频生成模型,旨在为视频专业人士提供强大的创意工具,该模型计划在年底前推出。 演示视频在喜好儿网 Firefly Video 模型具备多种功能,包括从文本生成视频、图像生成视频或视频添加元…

I2C-Tools的安装与使用方法(详解,一篇教会你熟练使用)

1.前言: i2c-tools是一个开源的I2C总线工具集,它包括了用于访问和操作I2C设备的各种命令行工具。这些工具可以帮助用户读取和写入I2C设备的数据,检测和诊断I2C总线的问题等。 2.各系统的安装: 接下里会展示在不同操作系统中如何使…

00 目前大模型介绍

1 大模型种类 目前 主流的开源模型体系 分三种: 第一种: prefix Decoder 系 代表模型: ChatGLM 、ChatGLM2,第二种: causal Decoder 系 : LLaMA-7B 、 LLaMa 衍生物、Bloom,第三种:Encoder-De…

企业ESG表现、制造业的数字化转型及其高质量发展(2011-2022年)

在当今全球经济一体化的背景下,企业不仅要追求经济效益的最大化,还要关注环境、社会和治理(ESG)的表现,以及通过数字化转型实现高质量的发展。本文将基于2011-2022年的数据,探讨企业ESG表现与制造业数字化转…

pcs升压变流一体机

在当今全球积极推进能源转型的大背景下,新能源技术的发展日新月异。其中,PCS 升压变流一体机作为一种关键的能源转换设备,正发挥着越来越重要的作用。它一般可分为10KV与35KV等级的。 PCS 升压变流一体机,全称为 Power Conversion…

外卖跑腿APP开发详解:基于同城O2O系统源码的实现路径

近年来,随着O2O(OnlinetoOffline)模式的普及和发展,外卖跑腿服务已经成为了生活中不可或缺的一部分。外卖跑腿APP通过将用户、商家和骑手三方紧密连接,解决了用户日常所需的各种服务需求,为企业提供了新的商…

web基础之RCE

简介:RCE称为远程代码执行漏洞;是互联网的一种安全漏洞;攻击者可以直接向后台服务器远程注入操作系统命令;从而操控后台系统;也是CTF比较常考的一个方面 1、eval执行 (1)分析后端代码&#xf…

价值共创撬动产业增量,用友交出一份共赢的“生态答卷”

前言 在企业服务赛道,什么样的生态是产业更需要,伙伴更欢迎的? 看营收,伙伴数量还是伙伴收益? 用友的答案是:客户价值。 用客户价值这把标尺重新审视,企业服务生态值得重塑一遍。 尽管相比…

排班系统|基于Springboot+vue的医护人员排班系统(源码+数据库+文档)

排班系统|医护人员排班系统 目录 基于Springbootvue的医护人员排班系统 一、前言 二、系统设计 三、系统功能设计 医护类型管理 排班类型管理 科室信息管理 医护信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&…

【文件系统】Linux ext2

目录 1. 认识磁盘1.1 结构组成1.2 抽象磁盘结构1.3 磁盘内的寄存器 2. Linux ext2 文件系统2.1 Data blocks && inode Table2.2 Block Bitmap && inode Bitmap2.3 Group Descriptor Table && Super Block 1. 认识磁盘 虽然我们现在个人计算机基本都使…

安卓手机如何轻松设置代理IP?IPXProxy详细步骤指南!

​对于一些安卓用户来说,使用代理IP不仅能有效提高网络连接的速度,还能访问特定地区的网站或内容。不过,大部分人都会通过电脑或浏览器来配置代理IP,对于手机设置代理IP的步骤不太了解。本文将为大家详细介绍安卓手机设置代理IP的…

html+css+js网页设计 旅游 龙门石窟4个页面

htmlcssjs网页设计 旅游 龙门石窟4个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作)。 获取源码 1&#…

ADL电源维修GX120/200离子源放电电源维修

ADL溅射电源维修;ADL镀膜电源维修;直流溅射电源维修全系列型号。 GX50–GX150特点:GX溅射电源能够自动擦除达每秒80000个弧。很好的性能,加上小尺寸,是GX系列的突出标志。同时设备可以全额定功率运行,不切…