关于汽车诊断OBD的理解(ISO15031-5)

汽车ECU开发 2021-08-01 15:53

包含OBD(On-Board Diagnostic)指的是在线诊断系统,是汽车上的一种用于监控车辆状况以及控制排放的一种在线诊断系统。本篇文章主要围绕OBD的九种模式进行介绍,当然也会辅助介绍一些OBD相关的内容。



01


OBD用来做什么


对于一般的车主,可能有接触过OBD口,可以用它来查看一些车内的参数等等,但是OBD它到底用来做什么用呢?


还是以一贯的思路,进行分点说明:


a.用于监控车辆基本参数,例如监控里程、车速、油门踏板位置、冷却液温度等等的一些参数;


b.用于监控排放相关的参数,这是OBD很核心的一个功能,比如各种尾气的含量,氧含量等等,以此来保证满足各国的标准;


c.用于车辆故障的诊断,例如我们车故障灯亮了,送到维修店后,维修人员就会拿出诊断仪,请求发生的故障内容,以及故障时刻的冻结帧数据,以此来方便故障排查;


d.当然还有小部分会使用OBD进行一些控制功能,这部分在中国是没有的。



02


CAN OBD与UDS的区别

大家看过我前面的文章的话,也有对UDS进行介绍,那么UDS和OBD都是车上诊断的标准,他们有什么区别呢?


首先从适用对象来说,OBD出现的更早,那么它主要针对传统燃油车,并且OBD主要是用于排放相关的诊断,而UDS是统一诊断系统,那么它的适用性则更广一点,它囊括了非排放相关的车身上所有ECU的诊断。可以简单的理解OBD就是用于排放相关的ECU,如发送机控制单元,减速器控制器等;而UDS则包含了车身上几乎所有ECU的诊断,例如VCU BCM DCDC等等。


第二点:也是因为他们适用对象的不同,所以他们支持的服务是不一样的,这点看标准就知道了。


稍微总结一下就是OBD主要用于与排放相关的ECU的诊断,而UDS则是排放除外的其他ECU的统一诊断标准。OBD的使用对象主要是传统燃油车中排放相关的ECU,而UDS使用对象既可以是燃油车中的ECU也可以是混动纯电动中的ECU。一般传统燃油或混动车中与排放相关的ECU既要支持OBD也要支持UDS,而其他的ECU一般仅仅需要支持UDS。


03


OBD的硬件接口简介



从图中我们也知道,各个引脚之间的关系,那么这个端口也是通过国际标准进行定义的OBD-II端口,在使用时,我们需要买对应的端口来进行与汽车诊断端口进行通信。


一般汽车这个诊断端口在我们的方向盘下面,油门踏板上面(不同厂家可能不一致)。



03


OBD的9大服务介绍

从图中我们也知道,各个引脚之间的关系,那么这个端口也是通过国际标准进行定义的OBD-II端口,在使用时,我们需要买对应的端口来进行与汽车诊断端口进行通信。


为了能够快速的了解OBD的各个模式,以下针对每个模式从2方面进行介绍;


1).模式的作用(使用场景)


2),模式如何使用


a.模式1-请求动力系统当前数据


1).模式的作用


从这个定义我们就了解到,通过该模式我们可以去请求车辆上动力系统的一些数据,但是这些数据都是需要预先定义好的,如何进行定义呢,那么ISO标准规定了一些参数标识符即PID(parameter Identifiers),每个PID代表一个变量参数,但是呢在CAN上传输怎么去识别这个参数呢,其实就是顶一个8bit的数据来代表这个参数,比如PID 0x01 表示DTC清除后的监控状态,比如PID 0x05 表示电机冷却液的温度 ,那么ISO15031-5它定义了很多这样的PID参数,这样定义是很有意义的,因为这可以保证所有厂家的OBD可以尽可能的统一,从而方便通用。


我们稍微总结一下,模式1的作用就是 通过预先标准定义好的一些PID参数,去请求动力系统当前的一些数据(如速度、里程、温度等),以此来了解当前车辆的一些状态。


2).模式如何使用


ISO其实定义了很多PID参数,但是并不要求所有的主机厂把这些参数都实现,也就是说PID参数是可以选择支持的。那么我们怎么知道这个厂家支持哪一些参数呢?其实模式1中它有一些PID 0x00\0x20\0x40\0x60\0x80等就是用来查询到底支持哪些服务的。具体如何使用如下:


PID 0x00 用于查询(0x01~0x20)之间支持的PID参数


PID 0x20 用于查询(0x21~0x40)之间支持的PID参数


PID 0x40 用于查询 (0x41~0x60)之间支持的PID参数


以此类推后面的0x60 0x80


使用第一步:查询支持的PID参数(req表示请求(request),res表示答复(response))


req:01 00 


res:41 00 xx xx xx xx


左起第一个xx表示0x01~0x08之间的PID支持情况 将xx转为2进制 如xx=0x65  ->xx=0110 0101 从左往右 那么表示支持PID 0x02 0x03 0x06 0x08 


左起第二个xx表示0x09~0x10之间的PID支持情况 按照同样的转化方式


左起第三个xx表示0x11~0x18之间的PID 支持情况 按照同样的转化方式


左起第四个xx表示0x19~0x20之间的PID支持情况 按照同样的转化方式


是不是0x00就是查询0x01~0x20之间支持的PID情况? 


同理对0x20 0x40等进行查询


使用第二步:就可以读取相关支持的PID参数的值了,假如支持PID 0x04  0x05  0x0d


req:01 04 05 0c


res:41 04 xx xx 05 xx 0d xx 


其中xx表示支持的PID的值了,比如0d表示当前的车速,0d后面的xx的值是64,及对应的是100KM/h,即请求到的车速为当前100km/h


多说几句就是我们可以每次只请求一个PID,也可以一次请求多个,最多6个,而答复的话可能不会按照顺序来,如果在CAN上,答复的数据超过8个byte的话,那么它就会分出几个帧来进行答复。


b.模式2-请求冻结帧数据


1).模式的作用


首先解释一下冻结帧,所谓的冻结帧你可以理解为故障发生时刻的一些环境数据,冻结帧的存在就是为了尽可能了解故障发生时的一些参数,以此来方便分析故障。


因此我们可以这样说模式2的作用就是为了快速方便的了解,故障发生时刻的一个状态,以此来分析、排查以及定位故障,从而能够有效的提高售后维护的效率。


2).模式的使用


使用第一步:和模式1一样,先要查询支持的冻结帧的PID参数,格式也和模式1类似。


使用第二步:因为冻结帧是因为故障发生导致存储的,因此我们先要知道导致存储的冻结帧的故障码是什么。


req:02 02 xx                 //这里xx表示帧序号


res:42 0x xx xx xx        //左起 第一个xx表示帧序号,第二个xx 表示DTC(故障码)高字节 第三个xx 表示DTC(故障码)低字节


使用第三步:请求相应的冻结帧数据,比如支持PID 0x0C(速度) 0x05(温度)参数 ,请求frame 00


req:02 0c 00 05 00   //这里00表示frame 00 


res:43 0c 00 xx xx 05 00 xx   这里左起前两个xx表示速度  后面的xx表示温度


c.模式3-请求排放相关的故障码


1).模式的作用


首先我们了解一下故障码,所谓的故障码就是代表某一种故障的代码,比如氧气传感器短路的故障码为P0130 那么这些故障码在IDS15031-6中都有定义,对应can报文上两个字节DTC_H 和DTC_L  例如这里的P0130 对应的DTC_H = 0x01 DTC_L=0x30。


那么模式3的作用就是请求当前确认的故障(Comfirmed DTC)的故障码,以此就可以了解车辆发生故障时,是哪个故障导致的,进而就可以根据该故障的机理来分析故障,维修车辆。


2).模式的使用


req:03


res:43 03 01 41 01 45 01 48  // 03表示DTC的个数,后面三对颜色表示三个故障码P0141 P0145 P0148


如果没有故障则会回复 00 00...


d.模式4-清除排放相关的故障信息


1).模式的作用


为啥要清除故障信息呢,因为车子在出厂后,我们不能让车故障灯亮着就出厂吧,这是其一,其二就是每次维修好之后,有必要将故障清除掉,表示该故障已经解决,还有就是可以腾出内存空间,以便后续发生的故障进行存储。


2).模式的使用


该模式的使用比较简单;


req:04


res:44


就算没有故障,也会返回正响应;注意这里清除的数据比较多,包括故障码、冻结帧、测试数据等等排放相关的内存数据都会清除掉。


e.模式5-请求氧传感器的检测结果


1).模式的作用


显然根据名字我们就可以知道,这个模式的作用就是监控氧传感器的测试结果,因为氧气的浓度对燃烧过程有着重要的影响,因此对排放也有着重大的影响,因此有必要进行测试监控。一般支持模式6的话也可以通过模式6来代替模式5的功能。


2)模式的使用


使用第一步:查询支持的氧传感器支持的测试表示符TID(Test Identifiers),这是TID也在IDS15031-5的附录中有定义。如模式1和2查询PID一样,模式5查询TID也是类似使用0x00...来查询;


使用第二步:通过PID 0x13  0x1D来查询氧传感器的位置,因为动力系统模块中,可能多个地方都有O2传感器,如图定义了字节信息对应传感器的位置



使用第三步:查询氧传感器的测试结果,


根据第一步获得的TID 如0x05 和第二步获得的O2传感器位置0x01,那么就可以进行获取氧传感器的测试结果。


req:05 05 01


res:45 05 01 12  00 19 //这里的12表示测试结果,00表示测试结果范围的最小值,19表示测试结果范围的最大值。


f.模式6-请求指定监控系统的测试结果


1).模式的作用


车上不仅仅氧传感器的结果需要监控,还有其他很多的地方需要结构,比如催化剂、蒸发系统等等,那么可以通过模式6来进行监控。


那么主机厂也可以根据需要去定义监控各个系统模块ID以及需要进行测试的参数TID。


2).模式的使用


使用第一步:也是查询支持的TID


使用第二步:查询支持的组件ID(若有的话)


使用第三步:请求测试结果 比如 TID 0x11  模块ID 0x01


req:06 11


res:46 11 01 xx  xx  xx  xx //左起前两个xx表示测试结果,后两个xx表示测试值的限制值,意思就是表示测试结果是否在范围内。


g.模式7-请求当前或上一驱动周期检测到的排放相关的故障码


1).模式的作用


为啥有了03请求故障码,还需要07模式呢,我们可以看到,03模式主要请求的是确认的故障码(比如一个故障发生后,需要连续3个驱动周期才能发展为确认的故障),而这里07模式表示的是当前的或上一驱动周期发生的故障(这里强调的是上一驱动周期或当前驱动周期发生的,意思是pending),以上是他们请求的故障码的区别。那么需要请求pending类的故障呢?这是因为,每次维修人员修理完之后,会清理故障,为了了解这个故障是不是真正解决了,就需要重新试一下,然后看这个故障是不是又会出现,如果是通过模式3去了解,则至少需要三个操作循环,而模式7则可当前操作循环就可以知道。


总结一下可以这么说07模式就是帮助技术员快速了解故障问题是否解决。


2)模式的使用


同03模式,可参考03模式。


h.模式8-请求控制在线系统或组件


1).模式的作用


因为这个模式使用的比较少,比如我国的所有OBD是不支持08模式的,以下对其进行简单的介绍。


这个模式就是通过定义测试标识符TID以及测试数据,去操作ECU进行测试。


2).模式的使用


如定义了TID 0x01 测试数据 00 00 00 00 00


req:08 01 00 00 00 00 00


res:48 01 00 00 00 00 00


i.模式9-请求整车信息


1)模式的作用


大家知道车辆中,有一个很重要的信息就是VIN码,也就是车辆标识码,这个码可是这辆车的“身份证”,那么我们怎么读这个身份证信息呢,这就需要我们使用09模式了。


此外还包括一些标定ID 标定校验ID ECU名称 IPT等信息可以通过09模式来读取。


2)模式的使用


和前面提到的PID TID一样,这里定义了一个叫InfoType的,你可以理解为消息类型,其实也同样是用一个byte来表示某个信息,比如infoType = 0x02表示VIN码这个信息。


使用第一步:类似查询支持的PID TID一样,这里第一步也是查询支持的InfoType;


使用第二步:根据支持的InfoType来请求其对应的值,如请求VIN码 0x02为例


req:09 02


res:49 02  32  31 47 53 78 98 27 18 38 38  85 92 92 82 71 82  92 //这里标红部分就是VIN的内容,如果是CAN的话会采用多帧传输,这里仅仅是示意。


以上主要针对OBD进行说明,更多具有价值的是读者去体会和使用其中提到的PID TID以及InfoType,经过几次使用之后会对这个协议会有更深的理解。

版权声明:本文为CSDN博主「摸鱼的攻城狮」的原创文章,遵循CC 4.0 BY-SA版权协议,获得作者转载许可。

阅读原文,关注作者CSDN
推荐阅读

关于 ASPICE 的理解

CAN FD网络设计提示和建议

详解汽车Bootloader设计

特斯拉Autopilot系统安全研究|附dbc下载

详解功能安全概念阶段

详细揭秘大众ID.4的高压系统

特斯拉Model 3的BMS系统

结合AUTOSAR和DDS实现灵活的车辆架构

分享不易,恳请点个【再看】
汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论 (0)
  •   卫星故障预警系统软件:卫星在轨安全的智能护盾   北京华盛恒辉卫星故障预警系统软件,作为确保卫星在轨安全运行的关键利器,集成前沿的监测、诊断及预警技术,对卫星健康状况予以实时评估,提前预判潜在故障。下面将从核心功能、技术特性、应用场景以及发展走向等方面展开详尽阐述。   应用案例   目前,已有多个卫星故障预警系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润卫星故障预警系统。这些成功案例为卫星故障预警系统的推广和应用提供了有力支持。   核心功能   实时状态监测:
    华盛恒辉l58ll334744 2025-04-09 19:49 148浏览
  • 由西门子(Siemens)生产的SIMATIC S7 PLC在SCADA 领域发挥着至关重要的作用。在众多行业中,SCADA 应用都需要与这些 PLC 进行通信。那么,有哪些高效可行的解决方案呢?宏集为您提供多种选择。传统方案:通过OPC服务器与西门子 PLC 间接通信SIMATIC S7系列的PLC是工业可编程控制器,能够实现对生产流程的实时SCADA监控,提供关于设备和流程状态的准确、最新数据。S7Comm(全称S7 Communication),也被称为工业以太网或Profinet,是西门
    宏集科技 2025-04-10 13:44 52浏览
  •     前几天同事问我,电压到多少伏就不安全了?考虑到这位同事的非电专业背景,我做了最极端的答复——多少伏都不安全,非专业人员别摸带电的东西。    那么,是不是这么绝对呢?我查了一下标准,奇怪的知识增加了。    标准的名字值得玩味——《电流对人和家畜的效应》,GB/T 13870.5 (IEC 60749-5)。里面对人、牛、尸体分类讨论(搞硬件的牛马一时恍惚,不知道自己算哪种)。    触电是电流造成的生理效应
    电子知识打边炉 2025-04-09 22:35 155浏览
  •   海上电磁干扰训练系统:全方位解析      海上电磁干扰训练系统,作为模拟复杂海上电磁环境、锻炼人员应对电磁干扰能力的关键技术装备,在军事、科研以及民用等诸多领域广泛应用。接下来从系统构成、功能特点、技术原理及应用场景等方面展开详细解析。   应用案例   系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合就可以找到。   一、系统构成   核心组件   电磁信号模拟设备:负责生成各类复杂的电磁信号,模拟海上多样
    华盛恒辉l58ll334744 2025-04-10 16:45 61浏览
  •   卫星故障预警系统:守护卫星在轨安全的 “瞭望塔”   卫星故障预警系统作为保障卫星在轨安全运行的核心技术,集成多源数据监测、智能诊断算法与预警响应机制,实时监控卫星关键系统状态,精准预判故障。下面从系统架构、技术原理、应用场景以及发展趋势这四个关键维度展开深入解析。   应用案例   目前,已有多个卫星故障预警系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润卫星故障预警系统。这些成功案例为卫星故障预警系统的推广和应用提供了有力支持。   系统架构与组成   卫星故障
    华盛恒辉l58ll334744 2025-04-09 17:18 117浏览
  • 行业痛点:电动车智能化催生语音交互刚需随着全球短途出行市场爆发式增长,中国电动自行车保有量已突破3.5亿辆。新国标实施推动行业向智能化、安全化转型,传统蜂鸣器报警方式因音效单一、缺乏场景适配性等问题,难以满足用户对智能交互体验的需求。WT2003HX系列语音芯片,以高性能处理器架构与灵活开发平台,为两轮电动车提供从基础报警到智能交互的全栈语音解决方案。WT2003HX芯片技术优势深度解读1. 高品质硬件性能,重塑语音交互标准搭载32位RISC处理器,主频高达120MHz,确保复杂算法流畅运行支持
    广州唯创电子 2025-04-10 09:12 147浏览
  • 文/Leon编辑/侯煜‍关税大战一触即发,当地时间4月9日起,美国开始对中国进口商品征收总计104%的关税。对此,中国外交部回应道:中方绝不接受美方极限施压霸道霸凌,将继续采取坚决有力措施,维护自身正当权益。同时,中国对原产于美国的进口商品加征关税税率,由34%提高至84%。随后,美国总统特朗普在社交媒体宣布,对中国关税立刻提高至125%,并暂缓其他75个国家对等关税90天,在此期间适用于10%的税率。特朗普政府挑起关税大战的目的,实际上是寻求制造业回流至美国。据悉,特朗普政府此次宣布对全球18
    华尔街科技眼 2025-04-10 16:39 57浏览
  • 政策驱动,AVAS成新能源车安全刚需随着全球碳中和目标的推进,新能源汽车产业迎来爆发式增长。据统计,2023年中国新能源汽车渗透率已突破35%,而欧盟法规明确要求2024年后新能效车型必须配备低速提示音系统(AVAS)。在此背景下,低速报警器作为车辆主动安全的核心组件,其技术性能直接关乎行人安全与法规合规性。基于WT2003H芯片开发的AVAS解决方案,以高可靠性、强定制化能力及智能场景适配特性,正成为行业技术升级的新标杆。WT2003H方案技术亮点解析全场景音效精准触发方案通过多传感器融合技术
    广州唯创电子 2025-04-10 08:53 156浏览
  • ‌亥姆霍兹线圈‌是由两组相同的线圈组成,线圈之间的距离等于它们的半径。当电流同时流过这两个线圈时,会在它们中间形成一个几乎均匀的磁场。这种设计克服了普通线圈磁场不均匀的缺陷,能够在中心区域形成稳定、均匀的磁场‌。‌亥姆霍兹线圈的应用领域‌包括材料、电子、生物、医疗、航空航天、化学、应用物理等各个学科。由于其操作简便且能够提供极微弱的磁场直至数百高斯的磁场,亥姆霍兹线圈在各研究所、高等院校及企业中被广泛用于物质磁性或检测实验。‌亥姆霍兹线圈可以根据不同的标准进行分类‌:‌按磁场方向分类‌:‌一维亥
    锦正茂科技 2025-04-09 17:20 114浏览
  • 行业变局:从机械仪表到智能交互终端的跃迁全球两轮电动车市场正经历从“功能机”向“智能机”的转型浪潮。数据显示,2024年智能电动车仪表盘渗透率已突破42%,而传统LED仪表因交互单一、扩展性差等问题,难以满足以下核心需求:适老化需求:35%中老年用户反映仪表信息辨识困难智能化缺口:78%用户期待仪表盘支持手机互联与语音交互成本敏感度:厂商需在15元以内BOM成本实现功能升级在此背景下,集成语音播报与蓝牙互联的WT2605C-32N芯片方案,以“极简设计+智能交互”重构仪表盘技术生态链。技术破局:
    广州唯创电子 2025-04-11 08:59 76浏览
  • 背景近年来,随着国家对资源、能源有效利用率的要求越来越高,对环境保护和水处理的要求也越来越严格,因此有大量的固液分离问题需要解决。真空过滤器是是由负压形成真空过滤的固液分离机械。用过滤介质把容器分为上、下两层,利用负压,悬浮液加入上腔,在压力作用下通过过滤介质进入下腔成为滤液,悬浮液中的固体颗粒吸附在过滤介质表面形成滤饼,滤液穿过过滤介质经中心轴内部排出,达到固液分离的目的。目前市面上的过滤器多分为间歇操作和连续操作两种。间歇操作的真空过滤机可过滤各种浓度的悬浮液,连续操作的真空过滤机适于过滤含
    宏集科技 2025-04-10 13:45 48浏览
  • 什么是车用高效能运算(Automotive HPC)?高温条件为何是潜在威胁?作为电动车内的关键核心组件,由于Automotive HPC(CPU)具备高频高效能运算电子组件、高速传输接口以及复杂运算处理、资源分配等诸多特性,再加上各种车辆的复杂应用情境等等条件,不难发见Automotive HPC对整个平台讯号传输实时处理、系统稳定度、耐久度、兼容性与安全性将造成多大的考验。而在各种汽车使用者情境之中,「高温条件」就是你我在日常生活中必然会面临到的一种潜在威胁。不论是长时间将车辆停放在室外的高
    百佳泰测试实验室 2025-04-10 15:09 54浏览
  •   天空卫星健康状况监测维护管理系统:全方位解析  在航天技术迅猛发展的当下,卫星在轨运行的安全与可靠至关重要。整合多种技术,实现对卫星的实时监测、故障诊断、健康评估以及维护决策,有力保障卫星长期稳定运转。  应用案例       系统软件供应可以来这里,这个首肌开始是幺伍扒,中间是幺幺叁叁,最后一个是泗柒泗泗,按照数字顺序组合就可以找到。  一、系统架构与功能模块  数据采集层  数据处理层  智能分析层  决策支持层  二、关键技术  故障诊断技术  
    华盛恒辉l58ll334744 2025-04-10 15:46 42浏览
  • 技术原理:非扫描式全局像的革新Flash激光雷达是一种纯固态激光雷达技术,其核心原理是通过面阵激光瞬时覆盖探测区域,配合高灵敏度传感器实现全局三维成像。其工作流程可分解为以下关键环节:1. 激光发射:采用二维点阵光源(如VCSEL垂直腔面发射激光器),通过光扩散器在单次脉冲中发射覆盖整个视场的面阵激光,视场角通常可达120°×75°,部分激光雷达产品可以做到120°×90°的超大视场角。不同于传统机械扫描或MEMS微振镜方案,Flash方案无需任何移动部件,直接通过电信号控制激光发射模式。2.
    robolab 2025-04-10 15:30 64浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦