UDS诊断 10服务

文章目录

  • 简介
  • 诊断会话切换
  • 请求和响应
    • 1、请求
    • 2、子功能
    • 3、肯定响应
    • 4、否定响应
    • 5、特殊的NRC
  • 为什么划分不同会话
  • 报文示例
  • UDS中常用 NRC
  • 参考

简介

10服务,即 Diagnostic Session Control(诊断会话控制)服务用于启用服务器中的不同诊断会话,可以通过会话模式赋予不同诊断服务 不同的执行权限。

诊断会话切换

诊断会话转换以及服务器转换到另一个会话时其应做出哪些反应。

流程序号会话切换前会话切换后描述
1默认会话默认会话 服务器处于defaultSession(默认会话)状态时,若客户端要求启动defaultSession(默认会话),则服务器应完全重新初始化defaultSession(默认会话)。
激活的会话期间,服务器应重置所有已激活的/初始化的/更改过的设置/控制。这不包括已编程入非易失性存储器中的长期更改。
2默认会话默认会话 服务器从defaultSession(默认会话)转换为defaultSession(默认会话)外的其他会话时,服务器应仅停止已在defaultSession期间通过ResponseOnEvent(基于事件响应)(Ox86)服务在服务器中进行配置的事件(类似于stopResponseOnEvent(停止基于事件响应))。
3其他会话相同会话或其他会话 服务器从defaultSession(默认会话)外的诊断会话转换为非defaultSession(默认会话)的其他会话(包括当前有效诊断会话)时,则服务器应(重新)初始化诊断会话,这意味着:
i) 应停止通过ResponseOnEvent(基于事件响应)(Ox86)服务在服务器中进行配置的所有事件。
ii) 应重新锁定安全性。注意,锁定安全访问应重置依存于待解锁的安全访问的任何有效诊断功能(例如,DID的有效inputOutputControl(输入输出控制))。
iii) 应维护好新会话中支持的且不依存于安全访问的所有其他有效诊断功能。例如,从一个non-defaultSession(非默认会话)转换为另一个或相同的non-defaultSession时,任何已配置的周期性调度器应保持活动状态,且不得影响CommunicationControl(通信控制)和ControIDTCSetting(控制DTC设置)的状态,这意味着,切换会话时若正常通信为禁用,则其应保持禁用状态。
4其他会话默认会话 服务器从非默认会话的任何诊断会话转换为defaultSession(默认会话)时,服务器应停止通过ResponseOnEvent(基于事件响应)(0x86)服务在服务器中已配置的所有事件,且应启用安全性。应终止defaultSession(默认会话)中不支持的任何其他活动的诊断功能。
例如,应禁用任何已配置的周期性调度器或输出控制,且应重置CommunicationControl(通信控制)和ControIDTCSetting(控制DTC设置)服务的状态,这意味着,会话切换为defaultSession(默许会话)时,若正常通信为禁用,则应重新启用正常通信。激活的会话期间,服务器应重置所有已激活的/初始化的/更改过的设置/控制。这不包括已编程入非易失性存储器中的长期更改。

在这里插入图片描述

除了发送请求可以使Server 切换会话,如果您进入了一个非默认会话的状态,一个定时器会运转,如果一段时间内没有请求,那么到时间(S3Server)后,诊断退回到默认会话01(最低权限)。当然,我们有一个$3E的服务,可以使诊断保持在非默认的状态。

请求和响应

1、请求

基本格式

归纳起来,诊断的request格式无非以下两种:

<SID> + <Sub-function> + <Parameter>

<SID> + <Parameter>

即有无sub-function的区别。Parameter可以是DID,可以是输入参数,可以是自定义的值,字节数视具体要求而定。
在这里插入图片描述

2、子功能

子功能参数定义(1字节数据):

  • Bit7:抑制肯定响应消息指示位 suppressPosRspMsgIndicationBit
    • 0=False:需要肯定响应
    • 1=True:禁止肯定响应
  • Bit6-0:子功能参数值(0x00~0x7F)

在这里插入图片描述
在这里插入图片描述

3、肯定响应

基本格式:

<SID + 0x40> + <Sub-function> + <Parameter>

<SID + 0x40> + <Parameter>

要注意,第一个字节是由SID和0x40的和构成。这里的Parameter项是optional的,具体要看协议规定。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、否定响应

基本格式:

<0x7F> + <SID> + <NRC>

看起来比较简单,格式比较固定,只要是Negative Response,第一字节就是0x7F,第二字节照抄原来的SID,第三个字节是错误响应码,指示具体错误响应的原因

在这里插入图片描述

5、特殊的NRC

这里提一下一个特殊的NRC——0x78,requestCorrectlyReceived-ResponsePending(RCRRP,请求已被正确接收-回复待定)。

这个NRC表明请求消息被正确地接收,请求消息中的所有参数都是有效的,但是要执行的操作还没有完成,Server端还没有准备好接收另一个请求。一旦请求的服务已经完成,服务器应该发送一个积极的响应或消极的响应,响应代码应与此不同。这个NRC的消极响应可以被Server端重复,直到被请求的服务完成并且最终的响应消息被发送。

请添加图片描述

https://zhuanlan.zhihu.com/p/37310388?utm_source=com.alibaba.android.rimet

为什么划分不同会话

因为权限问题。默认会话权限最小,可操作的服务少;扩展模式通常用于解锁高权限诊断服务,例如写入数据/参数、读写诊断码;编程模式用于解锁bootloader相关的诊断服务,即程序烧录。

题外话,讲个故事。这三个会话模式好比普通项目成员(默认会话)、项目组长(扩展会话)和会计(编程会话)的关系,小职员权限最小,小职员有的权限项目组长全有,项目组长还多了些其他的高端权限(如写数据、例程控制)。会计则不同,它有些自己独有的权限(刷写程序),但项目组的很多权限它没有(读/擦故障码),因为它只干会计相关的事,本身不参与项目。

下图仅供参数:
在这里插入图片描述

报文示例

Tx / RxCan Data描述
Byte 7 - Byte 0
Tx02 10 02 XX XX XX XX XX 0:单帧
2:2个有效字节长度
10:10服务
02:编程会话
请求切换到编程会话
Rx06 50 02 00 32 01 F4 XX 0:单帧
6:6个有效字节长度
50:SID + 0x40
00 32:P2server_max = 50ms
01 F4:P2*Server_max = 5000ms
回复肯定响应,并且回复 P2server、P2*Server 时间参数

UDS中常用 NRC

在这里插入图片描述

参考

  • https://blog.csdn.net/wto9109/article/details/121345955
  • https://zhuanlan.zhihu.com/p/37310388?utm_source=com.alibaba.android.rimet
  • http://www.360doc.com/content/12/0121/07/30375878_1052846532.shtml

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

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

相关文章

【软件测试】系统测试

一、系统测试概念 系统测试&#xff08;System Testing&#xff09;是将已经集成好的软件系统&#xff0c;作为整个基于计算机系统的一个元素&#xff0c;与计算机硬件、外设、某些支持软件、数据和人员等其他元素结合在一起&#xff0c;在实际运行环境下&#xff0c;对计算机…

定兴县第三实验小学开展“宪法宣传周”系列活动

2023年12月4日是我国第十个国家宪法日&#xff0c;我校集中深入学习宣传宪法&#xff0c;弘扬宪法精神&#xff0c;维护宪法权威&#xff0c;开展“宪法宣传周”系列活动。 宪法主题升旗仪式 五&#xff08;6&#xff09;班薛谨熙同学以《学法懂法 与我同行》为主题做国旗下讲…

K-means算法通俗原理及Python与R语言的分别实现

K均值聚类方法是一种划分聚类方法&#xff0c;它是将数据分成互不相交的K类。K均值法先指定聚类数&#xff0c;目标是使每个数据到数据点所属聚类中心的总距离变异平方和最小&#xff0c;规定聚类中心时则是以该类数据点的平均值作为聚类中心。 01K均值法原理与步骤 对于有N个…

共创共赢|美创科技获江苏移动2023DICT生态合作“产品共创奖”

12月6日&#xff0c;以“5G江山蓝 算网融百业 数智创未来”为主题的中国移动江苏公司2023DICT合作伙伴大会在南京成功举办。来自行业领军企业、科研院所等DICT产业核心力量的百余家单位代表参加本次大会&#xff0c;共话数实融合新趋势&#xff0c;共拓合作发展新空间。 作为生…

9.关于Java的程序设计-基于Springboot的家政平台管理系统设计与实现

摘要 随着社会的进步和生活水平的提高&#xff0c;家政服务作为一种重要的生活服务方式逐渐受到人们的关注。本研究基于Spring Boot框架&#xff0c;设计并实现了一种家政平台管理系统&#xff0c;旨在提供一个便捷高效的家政服务管理解决方案。系统涵盖了用户注册登录、家政服…

Java se的语言特征之封装

目录 封装的概念常见的一些包静态成员变量代码块 封装的概念 可以理解为套壳屏蔽细节,将数据和操作数据的方法进行有机的结合,隐藏对象的属性和实现细节,仅对外公开接口和对象进行交互 从语法的层面来理解就是,被private修饰的成员变或者成员方法,只能在当前类中使用,但是可以…

力扣541.反转字符串 II

文章目录 力扣541.反转字符串 II示例代码实现总结收获 力扣541.反转字符串 II 示例 代码实现 class Solution {public String reverseStr(String s, int k) {char[] ans s.toCharArray();for(int i0;i<ans.length;i2*k){int begin i;int end Math.min(ans.length-1,begin…

3、Linux_系统用户管理

1.Linux 用户管理 1.1概述 Linux系统是一个多用户多任务的操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须首先向系统管理员申请一个账号&#xff0c;然后以这个账号的身份进入系统。root用户是系统默认创建的管理员账号。 1.2添加用户 语法 useradd […

QT----Visual Studio打开.ui文件报错无法打开

问题 在我安装完qt后将它嵌入vs&#xff0c;后新建的文件无法打开ui文件 解决方法 右击ui文件打开方式,添加,程序找到你qt的安装目录里的designer.exe。点击确定再次双击就能够打开。

【每日一题】重新规划路线

文章目录 Tag题目来源题目解读解题思路方法一&#xff1a;深度优先搜索方法二&#xff1a;广度优先搜索 写在最后 Tag 【深搜】【广搜】【树】【2023-12-07】 题目来源 1466. 重新规划路线 题目解读 题目给定一张由 n个点&#xff08;使用 0 到 n−1 编号&#xff09;&#…

Linux查看命令的绝对路径

linux查看命令的绝对路径 在Linux中&#xff0c;可以使用以下命令来查看命令的绝对路径&#xff1a; 1、which 命令名 例如&#xff0c;要查看chronyc命令的绝对路径&#xff0c;可以运行&#xff1a; which chronyc 2、whereis 命令名 例如&#xff0c;要查看chronyc命令…

好单库无代码API集成:广告推广与营销系统的高效电商平台连接方式

电商平台与无代码API集成的协同效应 随着数字化浪潮的不断推进&#xff0c;电子商务的生态正在快速演变。在这个过程中&#xff0c;电商平台的实时数据同步和高效运营对于保持竞争力至关重要。好单库作为电商领域的一大创新&#xff0c;提供了无需编程的API集成解决方案&#…

lv11 嵌入式开发 IIC(上) 19

目录 1 IIC总线简介 1.1 串行、半双工&#xff08;同时只能1收或者1发&#xff09; 1.2 IIC总线通信过程 2 IIC总线信号实现 2.1 IIC总线寻址方式 2.2 起始信号和停止信号 2.3 字节传送与应答 2.4 同步信号 2.5 典型IIC时序 3 练习 1 IIC总线简介 1.1 串行、半双工&a…

6.1 U-boot的使用

由于Ubuntu出现了一些问题&#xff0c;后面都是使用正点原子官方版本。 一、U-boot使用 1. U-boot源码 Linux 系统要启动需要通过 bootloader 程序引导&#xff0c;也就说芯片上电以后先运行一段 bootloader 程序。这段 bootloader 程序会先初始化 DDR 等外设&#xff0c;然后…

77. 组合

组合 描述 : 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 题目 : LeetCode 77. 组合 : 77. 组合 分析 : 请看回溯怎么回事 , 里面讲的很清晰 . 解析 ; class Solution {public List<List<Integ…

看图学源码之 CopyOnWriteArrayList 源码分析

基本简介&#xff1a; 是Java中的一个线程安全的List实现&#xff0c;也是ArrayList 的安全版本&#xff0c;所以就不会有ArrayList 的并发修改异常 的问题产生了 原理 每次在对 List 进行修改时&#xff0c;创建一个新的副本&#xff08;即拷贝&#xff09;&#xff0c;而不…

Agility Robotics 为亚马逊仓库批量生产的人形机器人

一家旨在每年生产 10000 个两足机器人的革命性工厂即将在俄勒冈州塞勒姆成形。 这些机器人由 Agility Robotics 开发&#xff0c;旨在协助亚马逊等行业巨头运输、起重和处理危险货物。 Agility Robotics 表示&#xff0c;其名为 RoboFab 的新制造工厂将成为世界上第一个大规模…

【计算机网络笔记】物理层——频带传输基础

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

Linux_CentOS_7.9 VNC安装卸载以及相关配置开机自启动服务简易记录

VNC安装卸载以及相关配置开机自启动服务&#xff1a; 查看环境&#xff1a;&#xff08;yum镜像源配置可以参考我之前文章里面有详细参考http://t.csdnimg.cn/mzGoI&#xff09; [rootorcl238 ~]# rpm -qa | grep vnc ##查看系统现有VNC软件版本 gtk-vnc2-0.7.0-3.el7.x86…

2023年5个自动化EDA库推荐

EDA或探索性数据分析是一项耗时的工作&#xff0c;但是由于EDA是不可避免的&#xff0c;所以Python出现了很多自动化库来减少执行分析所需的时间。EDA的主要目标不是制作花哨的图形或创建彩色的图形&#xff0c;而是获得对数据集的理解&#xff0c;并获得对变量之间的分布和相关…