首页 > 其他分享 >UDS 诊断 - RequestUpload(请求上传)(0x35)服务

UDS 诊断 - RequestUpload(请求上传)(0x35)服务

时间:2024-09-13 11:53:35浏览次数:14  
标签:UDS 服务 字节 0x35 诊断 请求 标识符 RequestUpload

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)服务
UDS 诊断 - RequestUpload(请求上传)(0x35)服务

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

一、 服务说明

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

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

二、请求消息

1. 请求消息定义

字节参数名称Cvt字节值
#1RequestUpload(请求上传) 请求 SIDM0x35
#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字节值
#1RequestUpload(请求上传)响应SIDM0x75
#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(最大信息组长度)
RequestUpload(请求上传)肯定响应消息利用此参数通知客户端服务器发出的 TransferData(传输数据)肯定响应消息中包含了多少数据字节。此长度反应了完整的消息长度,包括 TransferData 肯定响应消息中出现的服务表示符和数据参数。该参数允许客户端在开始向客户端传输数据之前适应服务器的接收缓冲大小。客户端接收的 TransferData 响应须与其报告的 maxNumberOfBlockLength 长度相等。发送的 TransferData 响应(如有)长度与 比 maxNumberOfBlockLength 小多少视特定服务器而定。注意指定信息组内的最后一个 TransferData 请求可能要比 maxNumberOfBlockLength 短。

四、受支持的 NRC

NRC说明
0x13消息不正确或格式无效
0x22条件不正确
如果不满足 RequestUpload(请求上传)要求,则此 NRC 会被退回。这种情况可能是由于在 RequestUpload(请求上传)已激活但尚未完成之时服务器收到此项服务请求而导致。
0x31请求超过限值
下述情况下,应返回此 NRC:
- 特定 dataFormatIdentifier 无效。
- 特定 addressAndLengthFormatIdentifier 无效。
- 特定 memoryAddress / memorySize 无效。
0x33安全访问被拒绝
如果接收到此项服务请求时服务器比较安全(针对支持 SecurityAccess(安全访问)服务的服务器),则此 NRC 会被退回。
0x70不接收上传下载
该 NRC 表示由于某些故障条件无法上传到服务器内存。

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

0x35 服务的 NRC 处理

图例

1 最小为 5(SI + dataFormatIdentifier + addressAndLengthFormatIdentifier + 最小 memoryAddress + 最小 memorySize)

2 长度可以通过 addressAndLengthFormatIdentifier 计算

dress + 最小 memorySize)

2 长度可以通过 addressAndLengthFormatIdentifier 计算

标签:UDS,服务,字节,0x35,诊断,请求,标识符,RequestUpload
From: https://blog.csdn.net/weixin_45033239/article/details/142200290

相关文章

  • UDS 诊断 - TransferData(传输数据)(0x36)服务
    UDS诊断服务系列文章目录诊断和通信管理功能单元UDS诊断-DiagnosticSessionControl(诊断会话控制)(0x10)服务UDS诊断-ECUReset(ECU重置)(0x11)服务UDS诊断-SecurityAccess(安全访问)(0x27)服务UDS诊断-CommunicationControl(通信控制)(0x28)服务UDS诊断-TesterPresent......
  • AUTOSAR&UDS 理论要点及isolar实战-添加扩展数据(19 04服务)
    1.配置DTC扩展数据1.1DemDataElementClass1.DemInternalDataElementClass:此容器包含内部数据元素类的配置(参数)。Extended数据选这个。2.DemInternalDataElement:选择DEM_AGINGCTR_UPCNT,表示老化计数值(即连续报告没有故障的OperationCycle数)3.DemDataElementDataSize......
  • UDS 诊断 - WriteDataByIdentifier(按标识符写数据)(0x2E)服务
    UDS诊断服务系列文章目录诊断和通信管理功能单元UDS诊断-DiagnosticSessionControl(诊断会话控制)(0x10)服务UDS诊断-ECUReset(ECU重置)(0x11)服务UDS诊断-SecurityAccess(安全访问)(0x27)服务UDS诊断-CommunicationControl(通信控制)(0x28)服务UDS诊断-TesterPresent......
  • 电动汽车整车控制器 UDS诊断功能开发调试优化方法
    摘要:通过某电动汽车VCU开发过程中,UDS诊断功能的调试,发现一些测试中存在的问题,比如覆盖度不够、效率低下等,提出了相应的优化方法,并经过测试验证其可行性,此方法亦可推广应用至BMS、HCM等其他控制器的UDS诊断开发调试过程中。希望能给相关技术人员带来参考和帮助。一、UDS诊断功......
  • Infor CloudSuite软件二次开发:InforCloudSuite业务流程定制
    InforCloudSuite软件二次开发:InforCloudSuite业务流程定制InforCloudSuite简介InforCloudSuite平台概述InforCloudSuite是一个集成的企业资源规划(ERP)解决方案,专为特定行业设计,提供了一系列的云应用,旨在优化业务流程,提升运营效率。该平台融合了先进的技术,如人工智......
  • CANoe_UDS-boorloader 自动化测试系列(六)基本功能:CAPL实现bin文件数据解析
    CANoe_UDS-booroader自动化测试系列(一)创建一个CANoe测试工程(测试节点的选选择)CANoe_UDS-booroader自动化测试系列(二)基本刷写流程CANoe_UDS-booroader自动化测试系列(三)基本功能:CAPL实现UDS协议下的CAN报文接收#解析#发送CANoe_UDS-booroader自动化测试系列(四)基本功能:CAPL实......
  • AUTOSAR&UDS 理论要点及isolar实战-2F服务讲解及配置实战
    1.输入输出控制2F服务此服务服务用于代替ECU输入信号的值、电控单元内部参数或控制电子系统的输出值。举个例子:利用2F服务来实现简单的开关控制(转向灯,雨刮之类等)。报文格式:目前项目中主要是用到了00和03子服务,03: 在诊断模式中,请求该子ID的服务,会短暂控制输出,如上述:控制左......
  • AUTOSAR&UDS 理论要点及isolar实战-22服务讲解及配置实战(2)
    1.读取数据22服务此部分和22服务讲解及配置实战(1)中保持一致,有需要的小伙伴前往上一博客查看。2.配置实战2.1DcmDsdServiceTables的配置1.DcmDsdSidTabFnc:工具自带的回调函数,调用静态代码包中的服务函数2.DcmDsdSidTabServiceId为0x22,配置22服务;3.DcmDsdSidTabSub......
  • CANoe_UDS-boorloader 自动化测试系列(二)基本功能:CAPL实现UDS协议下的CAN报文接收#解析
    目录一、前言二、CAPL实现1、报文接收接收报文函数:2、报文发送发送报文函数:三、总结展望一、前言halle,大家好,我是小鸟鹏。上篇文章《CANoe_UDS-boorloader自动测试系列(二)基本刷写流程》简单介绍了整Bootloader的基本刷写流程,包括具体使用哪些服务实现哪些功能,对......
  • H7-TOOL新版固件2.26发布,增加20多款新系列芯片脱机烧录支持,CAN UDS解析,升级CAN助手,串
    H7-TOOL详细介绍(含操作手册):http://www.armbbs.cn/forum.php?mod=viewthread&tid=89934【PC软件】V2.261.PC软件取消自动检查版本,替换为手动按钮检查更新2.CAN助手  -支持时钟选择(20M40M80M),CANFD支持最高8M波特率(需支持8M的canPHY芯片)  -增加“J1939通用解......