【车载开发系列】UDS诊断---控制DTC设置($0x85)

news2025/1/21 5:00:50

【车载开发系列】UDS诊断—控制DTC设置($0x85)

UDS诊断---控制DTC设置($0x85)

  • 【车载开发系列】UDS诊断---控制DTC设置($0x85)
    • 一.概念定义
      • 常见汽车故障
    • 二.子功能
    • 三.报文格式
      • 1)报文请求
      • 2)肯定响应
      • 3)否定响应
    • 四.应用举例
    • 五.前提条件

)

一.概念定义

  1. 0x85(ControlDTCSetting)控制DTC设置
  2. DTC控制服务的主要作用是控制DTC的状态更新。
  3. 本服务允许上位机请求一个或一组服务器启用/停禁用DTC检测;
  4. 软件实现中;当应用模块检测到故障后,如果读DTC控制状态为OFF,将不会进行DTC状态掩码操作。

常见汽车故障

  • 常见的车载故障如下(包含不限于)
  1. ECU内部故障(如ECU供电电压过高,ECU供电电压过低
    网络通信异常(如总线bus off,节点丢失)
  2. 输入输出电路异常(传感器短路/开路,执行器异常,温度传感器数值过高)

二.子功能

DTC控制服务的子功能叫DTCSettingType,只有两个选项,其余的都是保留值或可自定义的值,下表列出了常用的两个子功能和描述。
DTCSettingType参数定义:

Hex (bit6-0)描述Description
0x01ONECU应根据正常运行条件恢复诊断故障码设置
0x02OFFECU应停止诊断故障码设置

三.报文格式

1)报文请求

  1. DTC控制服务的请求报文格式非常简单,一般只会用到SID和子功能DTCSettingType两个字节
  2. 在ISO当中后面还有DTCSettingControlOptionRecord参数,但这个参数并不十分常用。
    在这里插入图片描述

2)肯定响应

  1. 当服务端(ECU)接收到85服务后,如果控制信息是off,则服务端应该立即停止DTC的状态更新。即从此刻起,DTC的状态信息保持不变,无论是发生了新的故障,还是已有的故障有了新的状态,服务端的DTC数量、状态信息都不会更新。如果控制信息是on,那么如果先前是off,就立即恢复到正常的状态,如果先前是on,保持状态不变。
  2. 无论是on还是off,服务端在正确处理请求之后都要给出肯定响应,如果无法正确处理,需要给出否定响应并明确响应失败的NRC。
    在这里插入图片描述

3)否定响应

有关NRC和报文示例比较简单,建议直接参照ISO14229的标准。

四.应用举例

0x85通常和0x28服务结合使用,使用0x28服务停止某个或某些ECU的通信报文后,会导致其它接收这些ECU通信报文的ECU丢失通信故障码,因此通常需要先发送0x85服务来停止DTC记录,再发送0x28服务。

Client发送
0x85 0x02 (ControlDTCSetting request for Subfunction 0x02,DTC off)
ECU响应
0xC5 0x02 (Positive response starting with 0x85+ 0x40 = 0xC5)
Client发送:
0x85 0x03 (ControlDTCSetting request for Subfunction 0x03, invalid subfunction)
ECU响应:
0x7F 0x85 0x12 (Negative response starting with 0x7F, NRC is 0x12)

五.前提条件

  1. ECU故障码的设置功能应在接收到控制模式为 2(关闭)的ControlDTCSetting请求报文或成功发送肯定响应后停止故障检测。
  2. ECU故障码的设置功能应在接收到控制模式为 1(开启)的ControlDTCSetting请求报文或成功发送肯定响应后使能故障检测
  3. 以下的情况下,ECU中故障码的设置功能应重新开启
    1. 执行ECU复位服务11
    2. 诊断会话模式从非默认诊断会话变为默认诊断会话的时候
  4. ReadDTCInformation 服务(19h 02h),
    ReadDtcInformation 服务(19h 0Ah)
    ClearDiagnosticInformation 服务(14h)应不受服务0x85的影响。
  5. 注意本服务是要求在非默认会话下支持的服务,所以如果是默认会话下是无法执行请求的,只能回复否定响应NRC7F。

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

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

相关文章

索引的底层实现原理是什么?

索引存储在内存中,为服务器存储引擎为了快速找到记录的一种数据结构。索引的主要作用是加快数据查找速度,提高数据库的性能。 索引的分类 (1) 普通索引:最基本的索引,它没有任何限制。 (2) 唯一索引:与普通索引类似…

计算机毕设Python+Vue研究生培养过程管理系统(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【SpringCloud-Eureka】Gateway网关

Gateway概念 特征 核心流程 Eureka服务注册 生产端 Gateway网关 验证网关 Gateway概念 路由(Route)是GateWay中最基本的组件之一,表示一个具体的路由信息载体,主要由下面几个部分组成: id:路由唯一标…

Cadence Allegro在PCB中手动或者自动添加差分对属性

设计PCB过程中,若设计中有差分对信号,则需要将是差分的2个信号设置为差分对,设置差分对有2种方式:手动添加及自动添加一、手动添加差分对:1、点击Setup-Constraints-Constraint Manager调出CM规则管理器,然…

GAN系列之动漫风格迁移AnimeGAN2

动漫是我们日常生活中常见的艺术形式,被广泛应用于广告、电影和儿童教育等多个领域。目前,动漫的制作主要是依靠手工实现。然而,手工制作动漫非常费力,需要非常专业的艺术技巧。对于动漫艺术家来说,创作高质量的动漫作…

项目分享 | MindSpore Insight AI可视化工具开发心得

01 概述 MindSpore Insight是昇思MindSpore的可视化调试调优工具。作为开发者,我参与了MindSpore Insight工具部分功能的开发。本文将对MindSpore Insight进行简要介绍、其次介绍在开发中所用开发框架Vue的响应式原理。 02 MindSpore Insight介绍 MindSpore Insig…

机器学习笔记之波尔兹曼机(二)梯度求解(正相、负相均采用MCMC)

机器学习笔记之波尔兹曼机——基于MCMC的梯度求解引言回顾:波尔兹曼机波尔兹曼机的结构表示模型参数的对数似然梯度基于MCMC梯度求解过程存在的问题关于单个变量的后验概率关于单个变量后验概率的推导过程单个变量后验概率与受限玻尔兹曼机引言 上一节介绍了波尔兹…

【Java基础知识复盘】基础语法篇

本人知识复盘系列的博客并非全部原创,大部分摘自网络,只是为了记录在自己的博客方便查阅,往后也会陆续在本篇博客更新本人查阅到的新的知识点,望悉知! 基础语法 数据类型 定义 java语言是强类型语言,对于…

TiDB丨教你一招,实现MySQL与TiDB灵活切换

文章目录一、前言二、MySQL与TiDB切换方案1. 部署DM集群2. 添加数据源3. 创建同步任务三、 切换到 TiDB1、停止DM数据同步2、开启 Binlog 增量同步四、 故障切换回 MySQL五、总结一、前言 在日常工作中,原应用系统是跑在单机MySQL上,但随着业务量的慢慢…

读研转码,纠结技术方向

作者:阿秀校招八股文学习网站:https://interviewguide.cn这是阿秀的第「227」篇原创你好,我是阿秀。很多本科非科班的小伙伴都会选择通过读个研来达到转码的目的,主要是想给自己一个2-3年的缓冲时间。其中有的研究生专业是计算机的…

一文带你了解MindSpore的知识及安装入手

🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝🔝 🥇博主昵称:Jovy. 🍟博客主页…

自动控制原理笔记-控制系统的数学模型

目录 建模方法 控制系统的数学模型——微分方程: 将方框图变为具体公式: 非线性系统微分方程的线性化: 线性定常微分方程的求解: 拉普拉斯变换的有关概念: 复数的有关概念: 拉氏变换的定义&#xf…

DolphinDB 分布式表数据更新原理和性能介绍

1. 概述 DolphinDB 从 1.30.6 版本开始支持更新分布式表数据。更新操作支持事务,具备事务 ACID 的特性,且通过 MVCC 实现快照隔离级别。DolphinDB 为多模数据库,目前支持两种存储引擎: OLAP 和 TSDB (详见 DolphinDB …

xcode使用gdal库

GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。 GDAL提供对多种栅格数据的支持,包括Arc/Info ASCII Grid(asc)&#…

4 个分析 GameFi 项目的工具

Nov. 2022, Vincy 区块链游戏通常有几种 token、几十种类别的 NFT,以及复杂的奖励机制来吸引和留住玩家。同时添加机器人和清洗交易,使得准确评估特定项目的有机利益和潜力变得具有挑战性。 这就是为什么在投入时间和金钱之前分析 GameFi 项目的基础数…

Linux中的Rsync备份服务

目录 一、备份基本概述 1.备份的定义 2.备份的原因 3.备份分类 (1)完全备份 (2)增量备份 4.实现备份工具 二、Rsync——远程同步 1.Rsync基本介绍 2.Rsync同步模式 (1)推 (2&#xf…

【Linux】项目自动化构建工具make / Makefile 及进度条小程序

​🌠 作者:阿亮joy. 🎆专栏:《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉make项目管…

关于对死锁的理解

文章目录什么是死锁?举例理解死锁如何解决死锁锁池与等待池的理解什么是锁池与等待池锁池与等待池的区别两个线程交替执行什么是死锁? 所谓死锁,是指互斥锁标记使用不当造成多个线程,相互持有对方想要申请的资源,不释…

HummerRisk V0.7.0:支持京东云、webhook、PDF下载等

HummerRisk V0.7.0发布:新增京东云支持,系统增加webhook支持,灵活扩展,新增多种页面的PDF下载,新增主机的批量导入和Windows类型主机的检测支持。 感谢社区中小伙伴们的反馈,你们的认可是我们前进的动力。…

四旋翼无人机学习第16节--labview开发allegro的PAD与封装查询工具

文章目录1 前言2 使用展示(有labview软件)2.1 使用界面展示2.2 配置文件展示2.3 封装检索2.4 pad检索2.5 软件退出3 使用展示(无labview软件)4 源文件下载方式1 前言 在学习allegro过程中,设计封装需要先设计组成封装的PAD,也就是使用Padstack Editor工…