【车载开发系列】UDS诊断---请求下载($0x34)

【车载开发系列】UDS诊断—请求下载($0x34)

一.概念定义

请求下载就是RequestDownload(34h)。也是一个比较常用的服务。
诊断工具使用此服务初始化从诊断工具到ECU的数据传输(下载)。
接收到此服务的请求报文时,ECU应在发送肯定响应报文前,采取所有必要动作用于数据接收。

二.产生背景

车ECU中用于缓存诊断服务数据的缓存大小是有限的。所以当我们需要读取或写入超过缓存大小的数据时,就无法简单地使用2E和22服务了,UDS据此定义了如下的几个将大块数据写入或读出的服务,即数据下载和上传。

服务SID说明
RequestDownload0x34请求下载数据,诊断工具向ECU请求下载数据
RequestUpload0x35请求上传数据,诊断工具向ECU请求上传数据
TransferData0x36数据传输,诊断工具向ECU传数据(下载),或者ECU向诊断工具传数据(上传)
RequestTransferExit0x37数据传输完成,请求退出
RequestFileTransfer0x38请求文件传输,可以用于替代上传下载的服务

三.报文格式

  1. 发送:10 0B 34 00 44 00 10 00 00(起始地址) 00 00 04 98(内存大小) 数据有0x0498 = 1176字节
  2. 响应:04 74 20 00 82(每次数据传输包能接收最多130个字节)

1)请求报文

  1. DataFormatIdentifier就是数据格式标识。它包含两个半元组,左半元组表示压缩方法,右元组表 示加密算法。如果没有应用压缩或加密,相应位置为0。数据格式标识(DataFormatIdentifier)应至少支持00。
  2. addressAndLengthFormatIdentifier每半个字节单独编码,这里44是可变的。
    • 高半字节指定“内存大小”参数的长度
    • 低半字节指定“内存地址”参数的长度
  3. memoryAddress代表内存地址的起始地址,取决于addressAndLengthFormatIdentifier低半字节
  4. memorySize代表内存大小,取决于addressAndLengthFormatIdentifier高半字节
  5. addressAndLengthFormatIdentifier在$0x23服务中也可以找到相应的参照。
    在这里插入图片描述

2)肯定响应

  1. lengthFormatIdentifier每半个字节单独编码。高半字节指定maxNumberOfBlockLength,低半字节设置为0保留
  2. maxNumberOfBlockLength长度取决于lengthFormatIdentifier的高半字节,此参数包括完整的消息长度(服务ID+blocksequencecounter(1字节))
    在这里插入图片描述
    这里的maxNumberOfBlockLength字节长度不定,表示0x36服务一次传输一个block的最大的字节数。如:maxNumberOfBlockLength=0x0202,则应用层36服务一次最多发送字节数为0x202(字节数:0x202 >= 36 (1byte)+ parameter(x个byte))。

3)否定响应

在这里插入图片描述
常用的否定响应码如下,当然实际不止以下这些。

SID说明描述
0x13报文长度错误incorrectMessageLengthOrInvalidFormat
0x31请求超出范围requestOutOfRange
0x33安全访问拒绝securityAccessDenied
0x70上传/下载操作拒绝uploadDownloadNotAccepted
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的横打

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值