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肯定响应消息流示例

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《微服务实战》 第二十九章 分布式事务框架seata AT模式

前言 本章节介绍微服务分布式项目中,使用的事务框架seata。 官网:http://seata.io/zh-cn/ springcloud-nacos-seata:https://github.com/seata/seata-samples/tree/master/springcloud-nacos-seata 1、概念 Seata 是一款开源的分布式事务解…

使用docker快速搭建redis哨兵模式

说明 本文主要参考: https://www.cnblogs.com/coderaniu/p/15352323.html https://developer.aliyun.com/article/892805 但是这两篇博客均缺失部分关键性细节,所以重新撰文。读者可以结合本文和上述文章一起阅读。 安装步骤 安装docker和docker-co…

小作文--流程图(练习1)

【【雅思写作】带你打破小作文‘流程图’的传说】 https://www.bilibili.com/video/BV1QP411Q7Gh/?share_sourcecopy_web&vd_source78768d4ae65c35ff26534bbaa8afc267 雅思小作文-流程图, 看这一篇就够了! - 冯凯文的文章 - 知乎 https://zhuanlan.zhihu.com/p/35868880 …

算法模板(3):搜索(3):图论提高

图论提高 最小生成树 (1)朴素版prim算法( O ( n 2 ) O(n ^ 2) O(n2)) 适用范围:稠密图易错:注意有向图还是无向图;注意有没有重边和负权边。从一个集合向外一个一个扩展,最开始只…

记录基于Vue.js的移动端Tree树形组件

目录 一、Liquor Tree 入门 : Development Component Options 组件选项 Structure 结构 二、vue-treeselect Introduction 介绍 Getting Started 入门 Vue 树形选择器( Vue tree select )组件在搭建 Vue 的 app 中特别常用&#xff0…

【Java|golang】2611. 老鼠和奶酪

有两只老鼠和 n 块不同类型的奶酪,每块奶酪都只能被其中一只老鼠吃掉。 下标为 i 处的奶酪被吃掉的得分为: 如果第一只老鼠吃掉,则得分为 reward1[i] 。 如果第二只老鼠吃掉,则得分为 reward2[i] 。 给你一个正整数数组 reward1…

【TypeScript】枚举类型和泛型的详细介绍

目录 TypeScript枚举类型 TypeScript泛型介绍 🎲泛型的基本使用 🎲泛型接口的使用 🎲泛型类的使用 🎲泛型的类型约束 枚举类型 枚举类型是为数不多的TypeScript特有的特性之一, JavaScript是没有的: 枚举其实就…

【FPGA零基础学习之旅#8】阻塞赋值与非阻塞赋值讲解

🎉欢迎来到FPGA专栏~阻塞赋值与非阻塞赋值 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家…

解决elementUI弹出框关闭后再打开el-select下拉框无法选中的问题

文章目录 一、问题描述:二、问题解决 一、问题描述: 使用的前端UI框架为elementUI。 el-select组件在一个弹框中,打开该弹框,el-select可以正常选中,但是保存弹框中的表单信息关闭弹框后,再打开弹框&…

Spark大数据处理讲课笔记4.1 Spark SQL概述、数据帧与数据集

零、本讲学习目标 了解Spark SQL的基本概念掌握DataFrame的基本概念掌握Dataset的基本概念会基于DataFrame执行SQL查询 在很多情况下,开发工程师并不了解Scala语言,也不了解Spark常用API,但又非常想要使用Spark框架提供的强大的数据分析能力…

物联网Lora模块从入门到精通(二) LED灯泡闪烁与呼吸灯

目录 一、前言 二、实践与代码 1.电亮LED1 2.熄灭LED1 3.翻转LED电平 4.LED1与LED2交替闪烁 5.LED1呼吸灯 三、程序代码 一、前言 本篇内容属于新大陆物联网Lora模块开发,使用给定的Lora基础例程,并在其基础上开发完成,并可为其他版本的Lo…

亚马逊云科技Serverless构建的实时数仓解决方案,助力猎豹降低30%成本

也许你也听过这样一句话:“21世纪什么最贵?人才!”当数字经济全面席卷而来,这个问题的答案不可置否地变为了“数据”。通过数据分析获取近乎实时的洞察,以驱动业务的全流程,是企业数字化转型的必经之路。借…

Linux操作系统学习——启动

概要 Linux操作系统内核是服务端学习的根基,也是提高编程能力、源码阅读能力和进阶知识学习能力的重要部分,本文开始将记录Linux操作系统中的各个部分源码学习历程。 1. 理解代码的组织结构 以Linux源码举例,首先你得知道操作系统分为哪几个部…

【SpringCloud入门】-- 初识Eureka注册中心

目录 1.SpringCloudEureka简介 2.什么是CAP原则? 3.注册中心的概念? 4.SpringCloud其他注册中心 5.搭建Eureka注册中心 6.eureka的配置(主要是server,instance,client) 7.eureka集群概念 8.eureka集群搭建 1.SpringCloudE…

基于R语言的物种气候生态位动态量化与分布特征模拟

目录 专题一 引言 专题二 数据获取与处理方法 专题三 组合物种分布模型(Ensemble Species Distribution Model)的原理与使用 专题四 拓展研究 专题五 结果分析与论文写作 专题六 案例分析 专题七 总结和展望 利用R语言进行物种气候生态位动态量化…

【蓝桥杯算法题】用java遍写税收计算

【蓝桥杯算法题】用java遍写税收计算 题目&#xff1a;劳务报酬税收计算&#xff1a;输入 m &#xff0c;输出税后收入。如果 m <800&#xff0c;不扣税&#xff0c; 如果800< m <4000&#xff0e;则 m 减去800后的金额扣除20&#xff05;所得税。如果 m >4000&…

【计算机网络详解】——运输层(学习笔记)

&#x1f4d6; 前言&#xff1a;两台主机的通信&#xff0c;实际上两台主机中的应用进程进行通信&#xff0c;而在一台计算机中&#xff0c;用不同的端口号标识不同的应用进程。本节将介绍传输层的相关内容&#xff0c;包括端口号的分配方法、端口号的复用与分用、以及传输层的…

编译tolua——3、以pbc为例子,添加第三方库

目录 1、编译工具和环境说明 2、基础编译tolua 3、以pbc为例子&#xff0c;添加第三方库 4、更新luaJit 大家好&#xff0c;我是阿赵。 之前分享过怎样正常编译基础版本的tolua。这次用添加pbc为例&#xff0c;看看怎样往tolua里面添加其他的第三方库。知道了方法之后&#xf…

本地项目托管到 Gitee

本地项目托管到 Gitee 1、创建远程仓库2、Git Bash Here第一步&#xff1a;初始化本地仓库 git init第二步&#xff1a;建立链接git remote add origin xxx第三步&#xff1a;将远程仓库中的文件推送至本地仓库中git pull --rebase origin master第四步&#xff1a;将本地项目放…

【利用AI让知识体系化】简要了解网络七层协议

文章目录 一、前言引言目的和意义 二、网络七层协议简介OSI参考模型七层协议分层结构和各层协议简介 三、物理层 - Layer 1物理层概述物理层的作用物理层标准和协议 四、数据链路层 - Layer 2数据链路层概述常见的协议 五、网络层 - Layer 3网络层概述网络层的作用IP地址的作用…