UDS诊断系列介绍08-19服务

news2025/1/21 4:56:58

本文框架

  • 1. 系列介绍
    • 1.1 19服务概述
    • 1.2 DTC故障码定义
    • 1.3 DTC状态位
  • 2. 19服务常用子服务
    • 2.1 19 01服务
    • 2.2 19 02服务
    • 2.3 19 04服务
    • 2.4 19 06服务
    • 2.5 19 0A服务
    • 2.6 否定响应
  • 3. Autosar系列文章快速链接

1. 系列介绍

UDS(Unified Diagnostic Services)协议,即统一的诊断服务,是面向整车所有ECU的一种诊断通信方式,是基于ISO 14229规范的规范化诊断服务标准,其位于OSI模型中的应用层,UDS可基于不同的总线实现,如基于CAN总线可再结合ISO1576协议进一步实现传输层,本篇将介绍19服务相关内容:

1.1 19服务概述

19服务英文全称为ReadDTCInformation Service,即读取DTC相关信息的服务,DTC(Diagnositc Trouble Code),诊断故障码读取是UDS诊断中非常重要的一环,在ECU运行过程中如检测到故障如检测到汽车的三效催化器发生老化,会记录对应的故障码,不同的故障码根据故障严重及危害程度确定是否需要点亮仪表盘的发动机故障灯。

19服务允许诊断仪/上位机从车辆内的任何ECU读取故障诊断码(DTC)信息的状态。此服务常用的操作如下:

  • 根据DTC状态掩码查找匹配的DTC数量;
  • 根据DTC状态掩码查找匹配的所有DTC列表;
  • 根据提供的冻结帧记录号,获取DTC和DTC对应的冻结帧数据;
  • 根据DTC值和扩展数据记录号,获取DTC和DTC对应的扩展数据
  • 获取所有支持的DTC和DTC对应的UDS状态

1.2 DTC故障码定义

在ISO 15031中对DTC故障码各Bit格式进行了定义:
在这里插入图片描述

1.3 DTC状态位

DTC的八个状态位分别代表含义:
在这里插入图片描述

2. 19服务常用子服务

在ISO 14229中定义了28个Sub-Function,大家可以参考协议进一步学习,篇幅问题在这里仅对如下几个常用的子服务进行介绍。
几个常用的Sub-Function:
19 01:根据DTC状态掩码查找匹配的DTC数量
19 02 :通过DTC 状态掩码获取DTC状态
19 04:根据提供的冻结帧记录号,获取DTC和DTC对应的冻结帧数据
19 06:根据DTC值和扩展数据记录号,获取DTC和DTC对应的扩展数据
19 0A:获取支持的所有DTC的状态

2.1 19 01服务

19 01即根据DTC状态掩码查找匹配的DTC数量的服务,上位机发送的请求格式如下:在这里插入图片描述
在肯定响应格式如下:
在这里插入图片描述

2.2 19 02服务

该子服务为根据状态掩码报告对应的DTC,其规则为与请求掩码Bit位求与后不为0的DTC都会被上报给上围巾,即任意Bit对上都会被上报,其报文请求格式:
在这里插入图片描述
肯定响应格式如下:
在这里插入图片描述

2.3 19 04服务

该子服务为根据DTC号报告相关的快照信息,一般会根据主机厂需求记录上车速,电源电压,车辆点火状态,里程,时间等参数,对应的服务请求如下:
在这里插入图片描述
其正响应:
在这里插入图片描述

2.4 19 06服务

除快照信息外,还会记录DTC对应的一些扩展信息,如老化计数器及故障发生次数等,如需获取以上扩展信息,就需要用到19 06服务,其请求格式为:
在这里插入图片描述
其正响应报文格式为:
在这里插入图片描述

2.5 19 0A服务

该服务为请求获取所有支持的DTC,报文请求格式为:
在这里插入图片描述
对应的正响应报文:
在这里插入图片描述

2.6 否定响应

如应答为否定应答,则对应的否定NRC代号对应解析:在这里插入图片描述

3. Autosar系列文章快速链接

Autosar系列文章概览及快速链接

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

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

相关文章

Android 深入系统完全讲解(15)

4 权限相关的知识 1 安卓权限 上层 APK 权限获取方式,配置 AndroidManifest.xml,系统会对应的给 gid,在创建进程的时候就带下去,这样子就可以访问对应的设备。 而系统相关的,会限制必须是 uidsystem 这类&#xff0c…

一年融资三轮,一文读懂亿格云这家公司

数字办公时代,网络安全是企业经营的底线工作。如何构建一个安全、稳定、高效的网络安全体系,是企业谋求发展的基础条件之一。近年,倡导“永不信任,始终验证”的零信任网络安全服务理念开始兴起。而国内致力于基于零信任理念构建办…

MySQL 行级锁(行锁、临键锁、间隙锁)

行级锁 行级锁,每次操作锁住对应的行数据。锁定粒度最小,发生锁冲突的概率最低,并发度最高。应用在InnoDB存储引擎中。 InnoDB的数据是基于索引组织的,行锁是通过对索引上的索引项加锁来实现的,而不是对记录加的锁。 1…

类和对象(上)

文章目录引用autoNULL&nullptr&0类和对象类的实例化默认成员函数构造函数析构函数拷贝构造函数运算符的重载赋值运算符的重载拷贝构造次数编译器优化前置后置> < ! - -const成员operator>>&&operator<<再谈构造函数初始化列表初始化expli…

使用Hi3861开发环境搭建

安装ubuntu ​ 文件夹的位置尽量选一个空间比较大的 内存也尽量分配大一点&#xff0c;不要到红色区域就行 固定分配&#xff0c;如果给它100G空间&#xff0c;他就会把这100G空间全部使用掉&#xff0c;动态分配&#xff0c;即使你给他100G内存&#xff0c;但实际使用的空间…

【自学Docker】Docker入门

Docker入门 Docker简介 Docker 是 Docker.Lnc 公司开源的一个基于 LXC 技术之上搭建的 Container 容器引擎&#xff0c;Docker 源代码托管在 Github上&#xff0c;Docker 是基于 Go 语言开发的并遵从 Apache2.0 协议开源。 Docker 属于 Linux 容器的一种封装&#xff0c;提供…

(十九)包装类

前言: 在我们讨论其他变量类型之间的相互转换时&#xff0c;我们需要了解一下Java的包装类&#xff0c;所谓包装类&#xff0c;就是能够直接将简单类型的变量表示为一个类&#xff0c;在执行变量类型的相互转换时&#xff0c;我们会大量使用这些包装类。Java共有六个包装类&…

pandas数据结构

文章目录Series创建series对象Series对象的属性DataFrame创建DataFrame对象Python 在数据处理上独步天下&#xff1a;代码灵活、开发快速&#xff1b;尤其是 Python 的 Pandas 包&#xff0c;无论是在数据分析领域、还是大数据开发场景&#xff0c;都具有显著的优势。Series S…

CesiumLab实例模型切片 CesiumLab系列教程

先解释下实例模型&#xff0c;实例模型使用 GPU instance 技术来渲染的模型&#xff0c;通常用来绘制大量几何体一致&#xff0c;但是位置姿态不同的对象&#xff0c;比如说森林场景&#xff0c;大量路灯&#xff0c;井盖等&#xff0c;如下图&#xff1a; 1.输入文件 目前输入…

【图文教程】Centos单机安装Redis

1.1.安装Redis依赖 Redis是基于C语言编写的&#xff0c;因此首先需要安装Redis所需要的gcc依赖&#xff1a; yum install -y gcc tcl1.2.上传安装包并解压 ​ 例如&#xff0c;凯哥将其放到了/usr/local/src 目录&#xff1a; 解压缩&#xff1a; tar -xzf redis-6.2.6.tar…

搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop

网页可见区域高:document.body.clientHeight 网页正文全文高:document.body.scrollHeight 网页可见区域高&#xff08;包括边线的高&#xff09;&#xff1a;document.body.offsetHeight 网页被卷去的高&#xff1a;document.body.scrollTop 屏幕分辨率高&#xff1a;window.sc…

SpringBoot实践(三十九):如何使用AOP

目录 直接使用Aspect 定义切面逻辑 模拟业务代码 测试输出 自定义注解方式 自定义切面注解 定义切入点逻辑 模拟业务代码 测试输出 面向切面&#xff08;AOP) 是spring重要特性&#xff0c;在功能上切面编程是面向对象编程的很好的补充&#xff0c;面向对象强调封装和开…

BAT 名企大厂做接口自动化如何高效使用 Requests ?

1080428 28.9 KBRequests是一个优雅而简单的python HTTP库&#xff0c;其实python内置了用于访问网络的资源模块&#xff0c;比如urllib&#xff0c;但是它不如requests简单&#xff0c;优雅&#xff0c;而且缺少许多实用功能。接下来的接口测试的学习和实战&#xff0c;都与re…

语音识别系列之基于CTC的VAD

语音活动性检测&#xff08;Voice Activity Dection, VAD&#xff09;常作为语音识别系统的前端模块过滤非语音段&#xff0c;为后续增强模块提供语音/非语音判据&#xff0c;从而更好的掌握背景噪声特性&#xff0c;进而提升降噪量&#xff0c;保证识别性能&#xff0c;且能降…

GitHub进阶使用指南

GitHub进阶使用指南1.个性化 Github 首页2.自定义项目徽章3.自动为项目添加贡献情况图标4.高效阅读 Github 项目的源代码5.扩展 Github 的功能1.个性化 Github 首页 Github 目前支持在个人主页自定义展示一些内容&#xff1a; 想要做到这样非常简单&#xff0c;你只需要创建一…

创建切实可行的项目管理计划会带来什么好处?

项目管理计划是深入了解项目来龙去脉的地方&#xff0c;可以说是指导你从头到尾完成项目的地图。 项目章程是项目的高层次愿景&#xff0c;而项目管理计划将这一愿景分解为项目的实际日常执行&#xff0c;涵盖为实现项目目标所需要做的一切。 一个详细的项目计划将规划出从…

Java自动拆装箱与缓存——Java中的128陷阱

在讲解128陷阱之前&#xff0c;需要了解一些概念。 包装器类型 Java是面向对象的语言&#xff0c;但基本类型并不是面向对象的&#xff0c;从而出现了包装器类型&#xff0c;并且包装器添加了更多的属性和方法。如我们在使用集合类型Collection的时候就一定要使用包装类型而非…

高等学校学生公寓消防安全设计及管理设计要点

摘要&#xff1a;高等学校学生公寓是学生生活起居和日常活动的重要场所&#xff0c;具有人员同时聚集的特征&#xff0c;属于人员密集场所。特别是晚间休息时&#xff0c;此时宿舍内人员达到满员状态。学生的生活及学习物品&#xff0c;如被褥、衣服、书籍等&#xff0c;都属于…

Prometheus标签的使用说明

prometheus在处理数据指标的过程中&#xff0c;包括【抓取的生命周期】和【标签的生命周期】 默认情况下&#xff0c;当prometheus加载target实例完成后&#xff0c;这些target时候会包含一些默认的标签&#xff0c;这些标签将会告诉prometheus如何从target实例中获取监控数据…

【3】Linux多节点部署KubeSphere|最简单的安装方法

目录 步骤1&#xff1a;准备三台服务器 步骤2&#xff1a;下载KubeKey 步骤3&#xff1a;创建集群 1. 创建示例配置文件 2. 编辑配置文件 3. 使用配置文件创建集群 4. 验证安装 步骤1&#xff1a;准备三台服务器 4c8g (master)8c16g * 2 (worker)centos7.9内网互通每个机…