UDS关于0x37服务退出传输学习笔记

1.服务说明

客户端使用此服务来终止客户端和服务器之间的数据传输(上传或下载)。

2.请求消息

2.1请求消息子功能参数$Level(LEV_)定义 

此服务不使用子函数参数。

2.2请求消息数据参数定义

transferRequestParameterRecord:

此参数记录包含服务器支持数据传输所需的参数。此参数的格式和长度取决于车辆制造商。

3.肯定响应消息

3.1肯定响应消息定义

3.2肯定响应消息数据参数定义

transferResponseParameterRecord:

该参数应包含客户支持数据传输所需的参数。此参数的格式和长度是特定于车辆制造商的。 

4.支持的否定响应代码(NRC_)

     该服务应执行以下否定响应代码。下表中记录了每个否定响应代码发生的情况。如果错误场景适用于服务器,则应使用列出的否定响应。

否定码代名词描述
0x13incorrectMessageLengthOrInvalidFormat 如果消息长度错误,则应返回此NRC。
0x24requestSequenceError

如果出现以下情况,则应发送NRC:

1.当接收到此服务的请求时,编程过程未完成;

2.RequestDownload或RequestUpload服务未激活;

0x31 requestOutOfRange如果transferRequestParameterRecord包含无效数据,则应返回该NRC
0x72generalProgrammingFailure如果服务器在完成客户端和服务器之间的数据传输时检测到错误(例如,通过完整性检查),则应返回该NRC。

5.例子

5.1 将数据下载到服务器 

此子条款规定了将数据(下载)从客户端传输到服务器的条件。
该示例包括三个步骤。

在第一步中,客户机和服务器执行RequestDownload服务。使用此服务,在客户机和服务器之间作为请求和积极响应消息中的参数交换以下信息。

定义transferRequestParameter值。

 定义transferResponseParameter值

在第2步中,客户端将65 535字节的数据传输到闪存,从内存地址0x602000开始传输到服务器。在第3步中,客户使用requestTransferExit服务终止向服务器的数据传输。测试条件:点火开关=打开,发动机=关闭,车速=0[公里/小时]

    假设在这个例子中,服务器支持3字节memoryAddress和3字节MemorySize。如果MemorySize包含未压缩的大小,则无法计算具有127数据字节的TransferData服务的数量,因为压缩方法及其压缩比没有标准化。如果MemorySize包含压缩后的大小,那么包含127个数据字节的TransferData服务的总数将是516,接下来是一个包含3个字节的单个TransferData请求。因此,我们假定最后一个TransferData请求消息中包含的blockSequenceCounter值为0x05。

5.1.1请求下载

RequestDownload请求消息流示例

请求下载肯定响应消息流示例

5.1.2传输数据

TransferData请求消息流示例 

TransferData肯定响应消息流示例

一直进行中

 

TransferData肯定响应消息流示例

 5.1.3请求传输退出

RequestTransferExit请求消息流示例

RequestTransferExit肯定响应消息流示例

5.2从服务器上载数据 

   此子条款规定了从服务器向客户端传输数据(上传)的条件。此示例由三个步骤组成。

在第一步中,客户端和服务器执行requestUpload服务。通过此服务,以下信息作为请求和肯定响应消息中的参数在客户端和服务器之间交换:

transferRequestParameter值的定义

transferResponseParameter值的定义

 在第2步中,服务器从服务器中的存储器地址0x201000开始,从外部RAM传输511个数据字节(4个transferData服务,具有129(127个服务器数据字节+1个ServiceId数据字节+1块序列计数器字节)数据字节和1个transferData服务,具有5(3个服务器数据比特+1个ServiceId数据字节+1块序列计数器比特)数据字节。

在第3步中, 客户端使用requestTransferExit服务终止向服务器的数据传输。测试条件:点火开关=打开,发动机=关闭,车速=0[公里/小时]假设本例中,服务器支持三字节的memoryAddress和三字节的MemorySize。此外,假设服务器支持Transfer Data(0x36)服务中的blockSequenceCounter。

5.2.1请求上传

RequestUpload请求消息流示例

 RequestUpload肯定响应消息流示例

5.2.2传输数据

 TransferData请求消息流示例

TransferData肯定响应消息流示例 

 一直进行中

TransferData请求消息流示例

TransferData肯定响应消息流示例

5.2.3请求传输退出

RequestTransferExit请求消息流示例

RequestTransferExit肯定响应消息流示例

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值