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

1.服务说明

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

2.请求消息

UDS关于0x37服务退出传输学习笔记_第1张图片

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

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

2.2请求消息数据参数定义

transferRequestParameterRecord:

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

3.肯定响应消息

3.1肯定响应消息定义

UDS关于0x37服务退出传输学习笔记_第2张图片

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

transferResponseParameterRecord:

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

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

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

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

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

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

2.RequestDownload或RequestUpload服务未激活;

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

UDS关于0x37服务退出传输学习笔记_第3张图片

5.例子

5.1 将数据下载到服务器 

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

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

定义transferRequestParameter值。

UDS关于0x37服务退出传输学习笔记_第4张图片

UDS关于0x37服务退出传输学习笔记_第5张图片

 定义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请求消息流示例

UDS关于0x37服务退出传输学习笔记_第6张图片

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

UDS关于0x37服务退出传输学习笔记_第7张图片

5.1.2传输数据

TransferData请求消息流示例 

UDS关于0x37服务退出传输学习笔记_第8张图片

TransferData肯定响应消息流示例

UDS关于0x37服务退出传输学习笔记_第9张图片

一直进行中

 UDS关于0x37服务退出传输学习笔记_第10张图片

TransferData肯定响应消息流示例

UDS关于0x37服务退出传输学习笔记_第11张图片 5.1.3请求传输退出

RequestTransferExit请求消息流示例

UDS关于0x37服务退出传输学习笔记_第12张图片

RequestTransferExit肯定响应消息流示例

5.2从服务器上载数据 

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

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

transferRequestParameter值的定义

UDS关于0x37服务退出传输学习笔记_第13张图片

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请求消息流示例

UDS关于0x37服务退出传输学习笔记_第14张图片

 RequestUpload肯定响应消息流示例

UDS关于0x37服务退出传输学习笔记_第15张图片

5.2.2传输数据

 TransferData请求消息流示例

UDS关于0x37服务退出传输学习笔记_第16张图片

TransferData肯定响应消息流示例 

UDS关于0x37服务退出传输学习笔记_第17张图片

 一直进行中

TransferData请求消息流示例

UDS关于0x37服务退出传输学习笔记_第18张图片

TransferData肯定响应消息流示例

UDS关于0x37服务退出传输学习笔记_第19张图片

5.2.3请求传输退出

RequestTransferExit请求消息流示例

UDS关于0x37服务退出传输学习笔记_第20张图片

RequestTransferExit肯定响应消息流示例

你可能感兴趣的:(UDS学习,学习,笔记)