UDS - 10.2 DiagnosticSessionControl (10) service

news2024/10/6 16:28:08

 来自:ISO 14229-1-2020.pdf

10.2.1 服务描述

DiagnosticSessionControl服务用于在服务器中启用不同的诊断会话。
诊断会话启用服务器中的一组特定诊断服务和/或功能。该服务提供了服务器可以报告数据链路层特定参数值的能力,这些参数值对于已启用的诊断会话有效(例如,定时参数值)。本文档的用户应定义在每个诊断会话中启用的确切服务和/或功能集。
服务器中始终只有一个诊断会话处于活动状态。服务器在上电时应始终启动默认诊断会话。如果没有启动其他诊断会话,那么只要服务器通电,默认诊断会话就将运行。
服务器应能够在正常操作条件和车辆制造商规定的其他操作条件下(例如,跛行家用操作条件)提供诊断功能。
如果客户端请求了一个已经在运行的诊断会话,那么服务器应该发送一个积极的响应消息,并表现为如图7所示,图7描述了在会话之间转换时服务器的内部行为。
每当客户端请求一个新的诊断会话时,服务器应该在新会话的计时在服务器中激活之前发送diagnostic sessioncontrol阳性响应消息。在某些情况下,可能需要在发送积极响应之前进入新的会话,同时保持发送响应的旧协议计时。如果服务器无法启动所请求的新诊断会话,那么它将响应一条DiagnosticSessionControl否定响应消息,当前会话将继续(有关服务器和客户端如何行为的进一步信息,请参阅diagnosticSession参数定义)。非默认诊断会话(不包括programmingSession)中的诊断服务和诊断功能集是defaultSession中提供的功能的超集,这意味着在切换到任何非默认诊断会话时,defaultSession的诊断功能也是可用的。会话可以启用车辆制造商特定的服务和功能,这不是本文档的一部分。

为了启动一个新的诊断会话,服务器可以请求满足某些条件。所有这些条件都是用户定义的。这种条件的例子有:

  • 服务器可能只允许具有特定客户端标识符(客户端诊断地址)的客户端启动特定的新诊断会话(例如,服务器可能要求只有具有客户端标识符F416的客户端才能启动extendedDiagnosticSession)。
  • 可能需要满足某些安全条件(例如车辆不得移动或发动机不得运行)。例如,过渡到programmingSession可能会导致正常功能的丧失,因此一些ecu可能要求车辆处于安全状态。

在一些系统中,当启动一个新的诊断会话时,需要更改通信定时参数。DiagnosticSessionControl服务实体可以使用适当的服务原语更改为底层指定的计时参数,从而更改本地节点(可能还包括客户机希望与之通信的节点)中的通信计时。
图7提供了诊断会话转换的概述,以及服务器在转换到另一个会话时应该做什么。

  1. 当服务器在defaultSession中并且客户端请求启动defaultSession时,服务器应该完全重新初始化defaultSession。服务器将在激活会话期间重置所有激活/启动/更改的设置/控件。这还不包括编程到非易失性存储器中的长期变化
  2. 其他转换到任何defaultSession:当服务器从defaultSession转换到defaultSession以外的任何其他会话时,服务器应该只暂停在defaultSession期间通过ResponseOnEvent(86)服务在服务器中配置的事件(类似于非defaultSession激活期间的stopResponseOnEvent)
  3. 当服务器从defaultSession以外的任何诊断会话转换到defaultSession以外的另一个会话(包括当前激活的诊断会话)时,服务器应该(重新)初始化诊断会话,这意味着:
    1.  通过ResponseOnEvent(8616)服务在服务器中配置的每个事件都应停止;
    2. 重新上锁。安全访问的锁定将重置任何依赖于安全访问的活动诊断功能以解锁(例如DID的活动inputOutputControl);
    3. 应保持新会话中支持的、不依赖于安全访问的所有其他主动诊断功能。例如,当从一个非defaultsession转换到另一个或相同的非defaultsession时,任何配置的定期调度器都应保持活动状态,并且CommunicationControl和ControlDTCSetting服务的状态不应受到影响,这意味着在会话切换的时间点禁用正常通信时,通信应保持禁用状态。 
  4. transition to defaultSession:当服务器从缺省会话以外的任何诊断会话转换到defaultSession时,服务器将恢复通过ResponseOnEvent(8616)服务在服务器中配置的每个事件,并且事件窗口仍然有效。此外,应在服务器中激活锁定的安全级别。defaultSession中不支持的任何其他活动诊断功能都将被终止。例如,任何已配置的定期调度器或输出控制都应该被禁用,并且CommunicationControl和ControlDTCSetting服务的状态应该被重置,这意味着在会话切换到defaultSession的时间点上,当正常通信被禁用时,应该重新启用正常通信。服务器将在激活会话期间重置所有激活/启动/更改的设置/控件。这还不包括编程到非易失性存储器中的长期变化。

表23指定了在defaultSession和非defaultSession(定时服务)期间允许的服务。任何非defaultsession都绑定到诊断会话计时器,该计时器应由客户端保持活动状态。

 

  1. 诊断会话控制- 10
  2. ECU复位- 11
  3. 安全访问- 27
  4. 通信控制- 28
  5. 测试仪出现- 3E
  6. 认证- 29
  7. 安全数据传输- 84
  8. 控制DTC设置- 85
  9. 事件响应- 86
  10. 连接控制- 87
  11. 按标识符读取数据- 22
  12. 按地址读取内存- 23
  13. 按标识符读取伸缩数据- 24
  14. 按周期标识读取数据- 2A
  15. 动态定义数据标识符- 2C
  16. 按标识符写数据- 2E
  17. 按地址写内存- 3D
  18. 清除诊断信息- 14
  19. 读取DTC信息- 19
  20. 按标识符控制输入输出- 2F
  21. 例程控制- 31
  22. 请求下载- 34
  23. 请求上传- 35
  24. 传输数据- 36
  25. 终止数据传输- 37
  26. 请求文件传输- 38

a.在defaultSession期间是否允许ResponseOnEvent服务是实现特定的。

b.安全的dataIdentifiers需要SecurityAccess服务,因此需要一个非默认诊断会话。

c.安全内存区域需要SecurityAccess服务,因此需要一个非默认诊断会话。

d. dataIdentifier可以在默认诊断会话和非默认诊断会话中动态定义。

e.安全例程需要SecurityAccess服务,因此需要非默认诊断会话。需要由客户端主动停止的例程也需要一个非默认会话。

重要-服务器和客户端必须满足8.7中规定的请求和响应消息行为。

10.2.2 请求消息


10.2.2.1 请求消息定义


表24指定了请求消息。

注: 

  • #1 诊断会话控制请求诊断服务标识符,值为10
  • #2 子功能=[诊断会话类型],例如值为01

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

SubFunction参数diagnosticSessionType被DiagnosticSessionControl服务用来选择服务器的特定行为。表25详细说明了可能的诊断会话的解释和用法。

指定以下SubFunction值(suppressPosRspMsgIndicationBit(位7)未显示)。

 

注:

 

  • 00: ISOSAEReserved。此值为本文档保留。
  • 01: defaultSession。
    • 此诊断会话启用服务器中的默认诊断会话,并且不支持任何诊断应用程序超时处理规定(例如,不需要TesterPresent服务来保持会话活动)。
    • 如果除defaultSession之外的任何其他会话在服务器中处于活动状态,并且defaultSession再次启动,则应遵循以下实现规则(也请参阅上面给出的服务器诊断会话状态图):
    • 服务器在发送了DiagnosticSessionControl阳性响应消息后应停止当前诊断会话,随后应启动新请求的诊断会话。
    • 如果服务器发送了一个diagnostic sessioncontrol阳性响应消息,如果客户端在诊断会话期间解锁了服务器,那么它应该已经重新锁定了服务器。
    • 如果服务器发送带有DiagnosticSessionControl请求服务标识符的否定响应消息,则活动会话将继续。
    • 如果使用的数据链路需要初始化步骤,则初始化的服务器将默认启动默认诊断会话。初始化步骤后,不需要将diagnosticSession设置为defaultSession的DiagnosticSessionControl。
  • 02: ProgrammingSession。
    • 这个diagnosticSession启用支持服务器内存编程所需的所有诊断服务。
    • 积极响应是在ECU切换到/从programmingSession之前还是之后发送,这是车辆制造商特有的。
    • 如果服务器在引导软件中运行programmingSession,那么programmingSession只能通过客户端发起的ECUReset(1116)服务、sessionType等于defaultSession的DiagnosticSessionControl(1016)服务或服务器中的会话层超时来保留。
    • 如果服务器在接收到DiagnosticSessionControl(1016)服务且sessionType等于defaultSession时运行在引导软件中,或者发生会话层超时,并且在这两种情况下都存在有效的应用软件,那么服务器应该重新启动应用软件。本文档没有说明如何实现有效应用软件的重新启动的各种实现方法(例如,在ECU启动阶段执行ECU复位时,可以在启动软件中直接确定有效应用软件等)。
  • 03: extendedDiagnosticSession。这个诊断会话可用于启用所有诊断服务,以支持调整服务器内存中的“空闲速度、CO值等”等功能。它还可以用于启用诊断服务,这些服务与功能的调整没有特别的联系(例如,请参阅表23中的定时服务)。
  • 04: safetySystemDiagnosticSession。此诊断会话启用支持安全系统相关功能所需的所有诊断服务(例如安全气囊部署)。
  • 05 ~ 3F: isosaerreserved。此值由本文档保留,以供将来定义。
  • 40到5F:车辆制造商特定。这个范围的数值是保留给车辆制造商特定的使用。
  • 60 ~ 7E: systemSupplierSpecific。这个范围的值是为系统供应商特定的使用而保留的。
  • 7 f: ISOSAEReserved。此值由本文档保留,以供将来定义。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python语言快速入门下1

目录 一、函数 【函数定义与调用】 【形参与实参】 【return语句】 【变量作用域】 【可变长度参数】 二、lambda表达式 三、案例 【例题1】 【例题2】 【例题3】 【例题4】 【例题5】 一、函数 【函数定义与调用】 【例子】一个穷小子想娶富家之女,她…

【正点原子FPGA连载】第四章开发环境搭建摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第四章开发环境搭…

HPA与VPA

写在前面 语雀原文阅读效果更佳: 6、HPA与VPA 语雀 《6、HPA与VPA》 HPA与VPA 1、HPA 在前面的学习中我们使用了一个 kubectl scale 命令可以来实现 Pod 的扩缩容功能,但是这个是完全手动操作的,要应对线上的各种复杂情况,我…

ELK收集交换机日志

1、环境介绍 交换机:华为、思科、H3C Elasticsearch版本:7.13.3 kibana版本:v 7.13.3 logstash版本:7.17.8 2、ES集群配置 参考: https://blog.csdn.net/zyj81092211/article/details/118935274 3、kibana配置 参考 …

实战 | 使用图像处理改善OCR结果(详细步骤 + 源码)

导 读 本文主要介绍一个通过图像处理改善OCR识别结果的实例,并给出详细步骤和源码。 背景介绍 在很多情况下,文字识别会遇到困难。比如非单一的背景、杂讯干扰、文字部分缺失等。如下图所示: 我们希望识别图中的黑色文字(12-14),但背景较复杂且存在其他干扰,如果直接…

rabbitmq基础8——持久化、存储机制、ETS、队列结构、消息状态、内存告警、磁盘告警

文章目录一、持久化1.1 持久化对象1.1.1 交换器持久化1.1.2 队列持久化1.1.3 消息持久化1.2 总结要点二、存储机制2.1 存储方式2.2 存储文件2.2.1 队列索引.idx文件2.2.2 消息存储.rdq文件2.2.3 垃圾回收机制(文件合并)2.3 存储原理2.3.1 生产者消息写入…

基于图形化界面的方式创建vue2项目

前提是安装vue-cli npm i -g vue/cli 接下来使用vue ui 创建vue项目 vue ui 浏览器自动打开 点击创建,然后去到你想把创建的项目放到的位置 如果到不了那个位置,就window E 打开打开文件夹去到那个位置,之后再在文件夹的搜索中输入cmd打开命…

某农业学校 算法设计与分析-第7次实验综合

寻找数组中的第k小元素 【问题描述】给定一个长度为n的整数数组nums和整数k,输出数组中的第k小元素。要求不能对数组排序,使用分治的思想求解。 【输入形式】输入的第1行中有1个数字n,表示数组的长度;第2行中有n个数字&#xff0c…

Qt+C++ TCP发送接收信息客户端与服务端窗体

程序示例精选 QtC TCP发送接收信息客户端与服务端窗体 如需安装运行环境或远程调试&#xff0c;见文章底部微信名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<QtC TCP发送接收信息客户端与服务端窗体>>编写代码&#xff0c;代码整洁&am…

Linux常用基本指令详解

各位看客在看本期博客之前请放轻松心态&#xff0c;以免内容过长造成不适~ 目录 1. ls指令 1.1 ls指令的作用 1.2 ls常用的指令选项 2. pwd指令 3. cd指令 3.1 cd .. 3.2 cd 文件路径 3.3 cd ~ 3.4 cd - 4.热键Tab 4.1 使用Tab键进行命令的自动补齐 4.2 使用Tab键进行查看…

driftingblues4靶机(zbarimg二维码破解)

环境准备 靶机链接&#xff1a;百度网盘 请输入提取码 提取码&#xff1a;qyha 虚拟机网络链接模式&#xff1a;桥接模式 攻击机系统&#xff1a;kali linux 2021.1 信息收集 1.arp-scan -l 探测目标靶机 2.nmap -p- -A -T4 192.168.1.107 扫描靶机开放端口和相应服务 3.…

【财务】FMS财务管理系统---付款管理

前一篇介绍了财务应付管理中的结算明细报表、结算单以及税票管理几个部分&#xff0c;本篇将分享下财务付款相关的内容。 付款最终是要汇款或现金支付给供货商或合作商家&#xff0c;公司的现金流就会减少&#xff0c;所以是不是所有的付款申请都要付&#xff1f;什么时间付出才…

一体式无线阀控超声水表在西北某市大用户用水计量收费管理项目应用案例

多年来&#xff0c;西北某市的工业园区供水公司对工业企业用户的用水收费一直采取业务员手动抄表、上门收费的方式。不仅效率低、浪费人力资源&#xff0c;而且供水公司很难掌握地区用水情况&#xff0c;不便于统一调度和管理。 为此&#xff0c;该工业园区安装了平升电子一体…

【微信小程序项目的基本组成结构】

项目的基本组成结构 ├── app.js # 小程序的逻辑文件 ├── app.json # 小程序的配置文件 ├── app.wxss # 全局公共样式文件 ├── pages # 存放小程序的各个页面 │ ├── index # index页面 │ │ ├── index.js # 页面逻辑 │ │ ├── index.wxml # 页面结构 │…

数据安全领导者和引路人的“实至名归” |美创2022年终盘点

走过2022&#xff0c;结束三年抗疫 无惧数据安全道路的风雨 美创人“毅”起前行 诠释数据安全领导者和引路人 真正做到“实至名归” 2022年&#xff0c;美创科技完成股改 正式更名为⇲ 2022年&#xff0c;数据安全领导力广受第三方认可 数据安全主要服务供应商 专业型安全…

踩坑记录2——RK3588跑通YOLO v5+DeepSORT

上篇说到RK3588编译OpenCV, 这篇记录一下跑通YOLO v5DeepSORT的愉(chi)快(shi)历程. 1. 保证编译OpenCV时关联了ffmpeg 如果本身缺少ffmpeg而编译了没有ffmpeg版本的OpenCV, 则视频无法读取. 解决方案参照CSDN, 首先安装ffmpeg: sudo apt install -y ffmpeg之后安装一堆dev:…

嵌入式初学者的2022年度总结

目录 学习过程 人工智能 嵌入式 51单片机 STM32 MicroPython Arduino 其他 未来计划 RT-Thread LIUNX 其他 总结 学习过程 今年二月份才开始写博客&#xff0c;到现在一共写了131篇文章&#xff0c;其中包含了Python&#xff0c;Mysql&#xff0c;51单片机&#…

HTML5 音视频

文章目录HTML5 音视频video元素简介简单使用多种格式的视频自定义视频audio元素简介简单使用设置网页背景音乐多种格式的音频自定义音频HTML5 音视频 video元素 简介 语法 <video>你的浏览器不支持video元素&#xff0c;请升级到最新版本 </video>说明 如果浏…

spring cloud、gradle、父子项目、微服务框架搭建---引入MyBatis-Plus(四)

总目录 https://preparedata.blog.csdn.net/article/details/120062997 文章目录总目录一、引入依赖二、配置mybatis-plus1.配置数据源2.配置mybatis-plus三、服务启动类配置MapperScan四、新建实体五、新建Mapper接口六、新建Mapper接口的Mapper.xml七、新建接口八、新建接口…

智能优化算法——正余弦优化算法(SCA)及其改进策略

正余弦优化算法&#xff08;SCA&#xff09;及其改进策略一、基本介绍1. 背景2. 算法简介二、基本的SCA算法1. 算法介绍2. 算法步骤三、算法分析1. 正余弦分布2. 算法实验结果3. 算法优缺点四、SCA改进策略1. 参数的改进2. 应用权重更新机制3. 基于反向学习的改进五、引用与代码…