电脑故障问答网

 找回密码
 立即注册
查看: 112|回复: 1

[OBD 学习笔记-1] 基本知识

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-9-21 17:22:24 | 显示全部楼层 |阅读模式
定义[1]

OBD 是定义的一套规则、软件和硬件,目的是监控那些会影响尾气排放的相关的动力总成,组件。主要用于内燃机车辆。OBD 标准规定,如果出现任何影响尾气排放的故障,必须通过MIL向驾驶员发出警告。
注:后面提到的“故障”,“DTC”都指的是与“排放”相关的。



Malfunction Indicator Lamp (MIL)

历史

1985年制定了OBD1标准。为了应对更复杂的汽车设计及诊断要求,1992年制定了OBD2标准。
MIL 的点亮原则

如果故障高于threshold 1,则必须将 DTC 存储在 ECU 内存中;
如果故障高于threshold 2,则必须将 DTC 存储在 ECU 内存的同时,点亮 MIL。



MIL activation criteria

如果故障消失(例如电气接触松动),DTC 必须在 ECU 内存中保存 40 个发动机循环(发动机循环的定义在 OBD 标准中)。 如果 MIL 为 ON,对于相同的故障,它将在 3 个无故障发动机循环后设置为 OFF。
诊断工具(Scan Tool)


  • 手持式
  • 电脑
  • 移动设备(手机/平板)



手持式



电脑

诊断设备(扫描工具)和车辆之间的通信是客户端-服务器类型,基于请求和响应。



OBD 操作模式(诊断服务)客户端-服务器类型

OBD 诊断服务

在 OBD CAN 协议中,有 9/10 种诊断服务(diagnostic services),每种模式都由一个标识符(identifier)定义。 前 9 种操作模式在 ISO 和 SAE 标准之间是通用的,第 10 种是 SAE 标准特有的。



OBD modes of operation (diagnostic services)

下表描述了每种诊断服务的目的以及包含它的标准。



诊断服务

数值前面的美元符号“$”强调这是一个标识符。正确的表示法是使用用十六进制格式表示, 如 0x01。
Mode/Service $01 – Request Current Powertrain Diagnostic Data

此服务用于请求读取当前动力总成数据(如温度,负载,转速等)以及系统状态信息。
Client 的请求包括一个参数识别 (PID) 值,该值用于指定请求某个特定的数据/信息。
目前 OBD 标准中定义了 135 个 PID,但并非所有的 PID 都是强制性的。



PID

每个参数(parameters)都用一个PID,用十六进制表示。 例如,发动机转速的标识为 0x0C。
假设我们要读取发动机当前的负载,则可通过诊断服务 0x01 读取,标识符为 0x04。



OBD Scan tool requesting engine load parameter

诊断工具(Client)将向车辆(Server)发送 0104,此请求包含两部分:

  • 01 是要使用的诊断服务的 ID
  • 04 是请求的发动机参数的 ID(本例中为计算负载)
车辆将响应 41046A,此响应包含三部分:

  • 41 是肯定响应(40 + 01),这意味着服务器理解请求并将提供数据
  • 04 是要读取的参数ID的确认
  • 6A 是计算出的发动机负荷值
诊断工具再将接收到的发动机负荷值(本例中即为6A)转换为易读取 10 进制即可。
Mode/Service $02 – Request powertrain freeze frame data

此服务用于请求读取冻结帧数据。
我们知道当出现故障时,会定义一个诊断故障代码 (DTC)。为了让维修人员了解故障原因,OBD 提供了一个“定格”,即冻结帧。 意思是当 DTC 出现时,在 NVM 里存储故障出现的时刻的相关的数据,如发动机温度、速度、负载和车速等。只有被 PIDs 定义的参数可以被用于冻结帧中



Example of Freeze Frame Data

Mode/Service $03 – Request Emission-Related Diagnostic Trouble Codes

此服务用于请求读取 DTC。
当诊断工具为所有 DTC 发送服务 $03 请求时,每个具有 DTC 的 ECU 应以一条包含所有与排放相关的 DTC 的消息进行响应。 如果 ECU 没有与排放相关的 DTC,则它应通过将 DTC 的参数编号设置为 0x00 以指示没有存储 DTC 的消息进行响应。



Example of Emission-Related Diagnostic Trouble Codes

Mode/Service $04 – Clear/Reset Emission-Related Diagnostic Information

此服务用于命令 ECU 清除所有与排放相关的诊断信息。
服务 $04 清除内容包括:

  • 冻结帧
  • 检查/维护准备情况
  • status of monitors
  • PID for number of engine warm-ups, distance with MIL ON
  • 通过服务 $06 读取的数据
维修人员可以使用此模式关闭 MIL, 并在维修后擦除存储的 DTC。
Mode/Service $05 – Request Oxygen Sensor Monitoring Test Results

此服务用于请求提供氧气传感器的测试结果。 CAN 通信协议不再支持该服务,不过其所有功能都在 $ 06 中实现。
Mode/Service $06 – Request On-Board Monitoring Test Results for Specific Monitored Systems

The purpose of this diagnostic service is to allow access to the results for on-board diagnostic monitoring tests of specific components/systems that are either continuously monitored (e.g. misfire monitoring) or non-continuously monitored (e.g. catalyst system).
The OEM will define “Manufacturer Defined Test IDs” for different tests of a monitored system. Mode $06 will provide the monitoring test values and fault (malfunction) limits for the defined tests (monitors).
The data provided by this diagnostic service can be used by service technicians to identify which monitor has failed and by how much.
A particular monitoring test of Mode $06 is defined for the oxygen (lambda) sensor. The test monitors the voltage output of the sensor.



OBD Mode 06 – oxygen sensor data

Mode/Service $07 – Request Emission-Related Diagnostic Trouble Codes Detected During Current or Last Completed Driving Cycle

此服务用于使诊断工具能够获得在 当前 或 最后一个完整的驾驶循环期间 检测到的与排放相关的组件/系统的“待定”DTC。
未决故障代码(a pending fault code)定义为 DTC。DTC 在 MIL 点亮之前作为初始检测故障的结果,在当前驾驶循环中存储。所有 DTC 都需要此服务,并且它独立于服务 $03。
这个服务用于在对某个部件进行维修并清除故障码后,检验是否真的修好了(是否还有 pending 的 DTC)。
原文:The intended use of this data is to assist the service technician after a vehicle repair, and after clearing diagnostic information, by reporting test results after a single driving cycle.



Example of Emission-Related Pending Diagnostic Trouble Codes

Mode/Service $08 – Request Control of On-Board System, Test or Component

此服务用于控制车载系统、测试或组件的运行。
通过这项服务,维修人员可以激活车载测试模式。此服务包含:

  • turn on-board system/test/component ON
  • turn on-board system/test/component OFF
  • cycle on-board system/test/component for a predefined number of seconds
比如此服务用于压力测试的蒸发系统(EVAP)的密封性能。 当测试被触发时,可以控制碳罐通风电磁阀关闭一段固定的时间。
Mode/Service $09 – Request Vehicle Information

此服务用于请求特定的车辆信息,例如:

  • VIN: Vehicle Identification Number
  • CALID: Calibration Number
  • CVN: Calibration Verification Number
  • IUPR: In-use Performance Ratio values
VIN码 是识别车辆的唯一编号。
ECU 的每次排放相关的标定都需要一个唯一的(unique) CALID。 即使只有一个数据改变,也必须产生一个新的 CALID。
CVN 其实就是checksum的另一种叫法[2]。 ECM 所做的就是将闪存(flash memory)每个段(segment)中的所有数字相加,这些数字的总和就是 CVN 的值。这允许维修人员快速检查每个段中的数据是否正确或未更改。如果段内的任何数据发生更改,则校验和 (CVN) 将更改或不匹配原来的值。一个CVN对应一个CALID。当SW更新时,会自动生成一个新的CVN重新与CALID进行匹配。
IUPR 是一种计数器,用于显示与标准认证周期相比,在实际驾驶条件下触发 OBD monitor 的频率。 大多数 OBD 监控系统(排气催化器、氧气传感器、排气再循环 (EGR)、二次空气等)都需要。
参考


  • ^https://x-engineer.org/on-board-diagnostics-obd-modes-operation-diagnostic-services/
  • ^https://mechanics.stackexchange.com/questions/46041/is-the-calibration-verification-number-cvn-unique
回复

使用道具 举报

0

主题

3

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2025-2-26 11:02:17 | 显示全部楼层
一直在看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

云顶设计嘉兴有限公司模板设计.

免责声明:本站上数据均为演示站数据,如购买模板可以上DISCUZ应用中心购买,欢迎惠顾.

云顶官方站点:云顶设计 模板原创设计:云顶模板   Powered by Discuz! X3.4© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表