【车载开发系列】UDS诊断---OBD基础概述

news2024/11/30 8:35:44

【车载开发系列】UDS诊断—OBD基础概述

UDS诊断---OBD基础概述

  • 【车载开发系列】UDS诊断---OBD基础概述
    • 一.什么是OBD
    • 二.OBD和UDS的区别
    • 三.OBD应用功能与应用领域
    • 四.OBD的特点有哪些
    • 五.OBD的服务概述
    • 六.OBD服务中的DTC
    • 七.OBD服务中0x03和0x07的区别
    • 八.Pending DTC有什么用
    • 九.OBD的插口在哪里,插口是怎样的
    • 十.K线与L线

一.什么是OBD

On-board diagnostic 监控排放相关系统。OBD定义了排放相关系统必须支持的诊断服务和数据传输格式。
如果说一个零件不用满足OBD,那么需要满足两个条件,不同地区满足的OBD法规不同。
1)非排放相关;
2)不影响其他OBD监控功能。

二.OBD和UDS的区别

OBD出现得更早,主要针对燃油车,因为OBD主要是关于排放相关的诊断,而UDS是统一诊断服务,适用性更广一点,囊括了几乎车上所有的ECU。
OBD和UDS所支持的服务也不同,OBD支持9大服务,UDS有28个服务
用途不同:OBD有通用诊断仪,用于车辆认证、年检、抽检等;UDS 多用于售后维修,数据读写,清错。
OBD的标准:ISO 15031 Road Vehicles-Communication between vehicle and external equipment for emission-related diagnostics
UDS标准:ISO 14229 Road vehicles-Unified diagnostic Services (UDS)

三.OBD应用功能与应用领域

应用功能:故障诊断系统、油量统计系统、胎压监测系统、安全预警系统、加速度测试系统、绿色行车报告功能、保养维护系统、车辆防盗系统等。
应用领域:企业管车、4S店、汽车维修站、汽车保养、汽车保险、交通运输等行业

四.OBD的特点有哪些

通过OBD得到“里程”、“油耗”、“汽车故障”等信息,并通过OBD开发出更强大的新功能产品,利用新功能去提升增值服务,从而提高产品附加值,掌握终端客户群。
1.统一车种诊断座形状为16PIN。
2.具有数值分析资料传输功能(DATA LINK CONNECTOR,简称DLC)。
3.统一各车种相同故障代码及意义。
4.具有行车记录器功能。
5.具有重新显示记忆故障码功能。
6.具有可由仪器直接清除故障码功能。

五.OBD的服务概述

诊断的基本流程是基于tester和server(即ECU)的一问一答完成的。
请求格式:SID+PID
响应格式:(SID+40)+PID+ data
其中PID:parameter identifier就是参数标识符,是在标准中规定的变量参数。
在CAN上如何识别呢?其实是定义一个8 bit的数据来代表。
用于ISO 15765-4的OBD诊断服务具体如下表示。

SIDDescription服务描述
0x01Request current powertrain diagnostic data请求动力系统当前的数据
0x02Request powertrain freeze frame data请求冻结数据帧
0x03Request emission-related diagnostic trouble code请求排放相关的DTC
0x04clear/Reset emission-related diagnostic information清除排放相关的故障信息
0x05Request oxygen sensor monitoring test results请求氧传感器的检测结果
0x06Request On-board monitoring test results for specific monitored systems请求指定监控系统的测试结果
0x07Request emission-related diagnostic trouble code during current or last completed driving请求当前或上一驾驶循环检测到的排放相关的故障码
0x08Request control of on-board system, test, or component请求控制在线系统或组件
0x09Request vehicle information请求整车信息,比如VIN码,标定ID 标定校验ID ECU名称 IPT等信息
0x0ARequest emission-related diagnostic trouble code with permanent status请求排放相关的永久DTC

六.OBD服务中的DTC

ISO15031-6中定义了DTC的信息,不同于UDS增强型诊断,它的数据是2byte。一些DTC是由ISO规定的,一些DTC是制造商自己定义的。
和UDS增强型诊断一样的是,DTC也是按照位置划分,可以得知故障发生的原因。
DTC也可以分类为四种类型:B代表车身系统的故障,C代表底盘,P是动力系统,U是网络系统。

OBD服务中DTC的状态
confirmed DTC, 经过了三个操作周期
pending DTC,未到三个操作周期
permanent DTC,永久存在的DTC

七.OBD服务中0x03和0x07的区别

03模式主要请求的是确认的故障码,而这里07模式表示的是当前的或上一驱动周期发生的故障

八.Pending DTC有什么用

维修人员修理完之后会清理故障,为了了解这个故障是不是真正解决了,就需要重新试一下,然后看这个故障是不是又会出现
如果使用0x03需要在三个操作周期中都确认没有故障才可以,而使用0x07的话,只需要一回取得便可以判断了。

九.OBD的插口在哪里,插口是怎样的

这里所说的插口其实就是硬件接口的意思。
OBD口一般在驾驶员座的下方。适用的接插件是通用的OBD接头。
OBD的插口我们一般就称为诊断接口(Diagnostic Connector)。
OBD的插口的引脚排列具体参考如下:

引脚 Pin描述 Description
1自由选择 Reserved
2(SAE J1850 总线的正线)(Bus positive line of SAE J1850)
3自由选择 Reserved
4底盘地 Chassis ground
5信号地 Signal ground
6CAN_H Can总线High
7K线 K Line
8自由选择 Reserved
9自由选择 Reserved
10(SAE J1850 总线的负线)(Bus negative line of SAE J1850)
11自由选择 Reserved
12自由选择 Reserved
13自由选择 Reserved
14CAN_L Can总线Low
15L线 L Line
16电池电压(terminal 30)Battery voltage (terminal 30)

在这里插入图片描述

美国和欧洲的车载故障诊断系统的诊断连接器结构相同,采用统一的16端子诊断连接器,但端子的定义略有不同。
所以上面的表格仅供参考。

十.K线与L线

支撑OBD数据传输的底层数据链路可以是K线,也可以是CAN线,目前大多数车的OBD接口都是CAN总线
K线一般用于检测系统,属单线模式,与诊断仪器连接并相互传递数据。
L线属于电脑检测线,属单线模式,用以维修检测传输数据使用的
CAN线主要用于ECU之间传递数据、属双线模式,分高位线和地位线

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

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

相关文章

昇腾携手OpenMMLab,支持海量算法仓库的昇腾AI推理部署

摘要:近日,昇腾AI联合浦江实验室,正式实现OpenMMLab算法仓库在昇腾的异构计算架构CANN上的推理部署,目前相关代码已推入MMDeploy 0.10.0版本,并在GitHub正式发布。本文分享自华为云社区《昇腾携手OpenMMLab&#xff0c…

标准库 - Object

一、Object 对象&#xff0c;同时也是一个构造函数。 Object 对象提供了很多操作对象的属性和方法&#xff0c;也是对应的原型。 1.Objcet() 作为函数使用 可以把其他数据类型转为一个包装对象 <script> var a Object("a");// 传入字符串就可以包装为字符串…

面试必备:分库分表经典15连问

前言 大家好&#xff0c;我是田螺。我们去面试的时候&#xff0c;几乎都会被问到分库分表。田螺哥整理了分库分表的15道经典分库分表面试题&#xff0c;大家看完肯定会有帮助的。 公众号&#xff1a;捡田螺的小男孩github地址&#xff0c;感谢每颗star&#xff1a;github 1. 我…

Jmeter随机参数各种搭配

目录&#xff1a;导读 前言 一、两个固定值之间随机生成一个值&#xff0c;应用场景没有限制 二、接下来使用CSV文件按提前写好的值作为参数&#xff0c;执行场景需要提前根据实际情况配置好执行次数 三、在固定的多个值中&#xff0c;随机选取一个值作为参数&#xff0c;执…

Smconf(分布式配置管理框架)概述

Smconf 专注于分布式环境下的配置的统一管理。采用 JavaZookeeperMongodbSpring Boot 开发。目前只支持 Java&#xff0c;其他的使用语言需要通过调用 REST API 来实现。 每个技术人都有一个开源的梦想&#xff0c;那就是自己也能开发出一个让很多人使用的框架。其实分享使用不…

8个巧用iOS备忘录的方法,别浪费了几千块的iPhone手机

你用过ios系统的备忘录吗&#xff1f;是不是只用来记录生活的一些事项呢&#xff1f;如果是这样那就太浪费啦&#xff01;这里分享8个小技巧&#xff0c;快学一学让你的备忘录能物尽其用吧&#xff01;1.笔记-横线与网格大家是不是觉得备忘录的背景光秃秃的&#xff1f;其实是有…

antv/g6基本使用教程

安装 & 引用 在项目中引入 G6 有以下两种方式&#xff1a;npm 引入&#xff0c;CDN 引入。 1 在项目中使用 npm 包引入 Step 1: 使用命令行在项目目录下执行以下命令&#xff1a; npm install --save antv/g6 Step 2: 在需要用的 G6 的 JS 文件中导入&#xff1a; imp…

JSP ssh免疫疫苗管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 JSP ssh免疫疫苗管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S 模式开发。开发环境为TOMCAT7.0…

linux 终端分屏工具 tmux

引言&#xff1a;我们在用 MobaXterm 的时候会 经常遇到窗口不够用的时候&#xff0c;而且切换窗口也比较费时间&#xff0c;所以就需要一个工具&#xff0c;一个终端窗口可以打开多个终端。 sudo apt-get install tmuxtmux输入tmux进入。 上下分屏&#xff1a;ctrl b 再按 &…

【深度学习动手做】Dataset类,读取数据库中带标签的图片

用于将带标签的数据读取&#xff0c;比如我有一个分类“蚂蚁”和“蜜蜂”的任务&#xff0c;其工作目录下有以下&#xff1a; data文件夹、read_data.py ... 其中data文件夹下一级又分为“train”&#xff0c;"val”&#xff0c;然后按照标签分为两个文件夹“ants”&#…

[附源码]Python计算机毕业设计辅导员班级量化管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

高级前端常见手写面试题指南

Function.prototype.call 于call唯一不同的是&#xff0c;call()方法接受的是一个参数列表 Function.prototype.call function(context window, ...args) {if (typeof this ! function) {throw new TypeError(Type Error);}const fn Symbol(fn);context[fn] this;const r…

怎么注册自己的网站?

怎么注册自己的网站&#xff1f;现在很多个人用户会注册自己的网站&#xff0c;那么怎么注册自己的网站呢&#xff1f;对于懂代码的人来说就好办了&#xff0c;自己开发即可&#xff0c;若不懂代码的话又怎么开发呢&#xff1f;毕竟自学代码知识也不太实际&#xff0c;其实也是…

设计模式概述之工厂方法模式(二)

很多小伙伴&#xff0c;不知道设计模式是什么&#xff1f; 通常我们所说的设计模式是一种设计方案&#xff0c;是前人留下的经验及最佳实践。 想要学习设计模式&#xff0c;至少要把面向对象的基本结构全部了解。 设计模式&#xff0c;是建立在一定基础上的思维训练。 学习设…

volatile,wait,notify关键字

文章目录一、volatile关键字二、wait 和 notifywaitnotifynotifyAllwait 和 sleep 的区别顺序打印ABC一、volatile关键字 volatile关键字的存在是用来解决内存可见性问题的。 我在 &#xff1a;线程安全问题 这篇文章中介绍过内存可见性问题。 前面我们讨论内存可见性时说了,…

教程十 在Go中使用Energy创建跨平台GUI应用 - 事件通信(IPC) 之 Go定义事件JS调用

介绍 Energy Go和JS的事件通信, Go监听事件JS触发。 IPC事件还有其它的几种使用方式&#xff0c;在其它教程中更新 在正常前后端大多数开发场景&#xff0c;JS和Go前后端数据交互都需要Http接口方式交互。 Energy中可以不使用Http&#xff0c;使用事件通信机制&#xff08;…

使用ProGuard插件对Spring Boot程序进行代码混淆

使用ProGuard插件对Spring Boot程序进行代码混淆 介绍&#xff1a; ​ ProGuard是一个开源的Java类文件&#xff08;只能处理Java代码&#xff0c;但是对应资源文件等是不能起作用的&#xff09;的压缩器、优化器、混淆器和预校验器。其处理的过程主要分为以下几个步骤&#…

系统移植总结

1&#xff1a;什么是系统移植 1&#xff09;系统移植是给开发板搭建一个Linux操作系统 2&#xff09;从官方获取源码&#xff0c;进行配置和编译&#xff0c;生成板子需要的镜像 2&#xff1a;安装tftp服务器的作用 Tftp服务器&#xff1a;是基于UDP协议完成简单的文件传输 作…

mysql sql优化(索引优化)经验漫谈

文章目录1. 当用sql查找是否“存在”场景2. where 条件 in的限制3. updade语句要不要考虑索引的命中情况4. mysql 预编译 多线程5. 函数与索引失效的关系6. mysql隐性类型转换与索引失效的关系7. 联合索引8. 联合索引最左匹配原则9. 回表 索引覆盖 聚簇索引 非聚簇索引10. 前缀…

这下真的是阳了个阳!

实际情况 很不幸&#xff0c;在前天&#xff0c;出现了新冠阳性的症状&#xff0c;随后用抗原检测了下&#xff0c;有阳的条带出现&#xff08;很浅&#xff0c;弱阳&#xff0c;因为才出现症状&#xff09;&#xff0c;基本上就是确定阳了。 抗原检测不知道今天是第几天了&…