热门问题
时间线
聊天
视角

OBD-II PID

来自维基百科,自由的百科全书

Remove ads

OBD-II PID车上诊断系统(OBD)参数ID的简称,是在诊断工具上向车辆请求资料用的编码。

国际汽车工程师学会(SAE)标准 J1979(电子诊断测试模式)中定义了许多OBD-II PID。所有北美的道路车辆及卡车都要支援一部份的OBD-II PID,主要是在有强制排气英语vehicle emissions control检测英语vehicle inspection的州。制造商也定义针对个别车辆的PID。目前没有强制摩托车要支援OBD-II PID,不过也有许多的摩托车支援。

在1996年时,轻型商用车(重量小于8,500磅 [3,900千克])首先强制要支援OBD-II PID,之后是中型商用车(重量在8,500—14,000磅 [3,900—6,400千克]之间)在2005年强制支援[1]。轻型商用车及中型商用车都要可以透过由SAE J1962定义的标准数据链路连接器英语Data link connector (automotive)进行存取。

依加州空气资源局(CARB)的加州法规(CCR) sections 1971.1 title 13,美国2010年之后生产的重型商用车(重量大于14,000磅 [6,400千克])可以透过SAE standard J1939-13英语SAE J1939(圆型的诊断用连接头)支援OBD-II的诊断机能。有些北美的重型卡车使用SAE J1962 OBD-II诊断连接器,这也是一般轿车常用的连接器,知名的有麦克货车及富豪卡车,不过CAN识别符是29位元,不是一般轿车的11位元。

Remove ads

模式

在最新的OBD-II标准SAE J1979中,有列出十种诊断服务。2002年以前的J1979,将这些服务称为模式(modes)。其说明如下:

更多信息 模式(十六进制), 叙述 ...

汽车制造商不一定要实现所有的服务,制造商可以在#9以上增加制造商定义的服务(例如服务22是由Ford/GM的SAE J2190所定义,而服务21是因Toyota而定义) ,这些服务可以提供其他的资料,例如混合动力电动汽车(HEV)中牵引电池的电压[2]

非OBD的统一诊断服务从0x10开始,避免和ID范围重叠。

Remove ads

标准PID

下表中所列的是依SAE J1979定义的标准OBD-II PID。也列出每个PID的预期回应,以及回应和实际物理量之间的关系。不是所有车辆都会支援每一个PID,也有一些PID是厂商定义的,不在OBD-II标准中。

服务01和02基本上是相同的,不过服务01会提供目前的资讯,而服务02会提供上一次出现诊断错误码时的资讯。但PID 01和PID 02是例外,PID 01只出现在服务01,而PID 02只出现在服务02,若服务02的PID 02为零,表示没有冻结的页框资料,其他服务02的资料都没有意义。

若用位元编码表示(Bit-Encoded-Notation)时,像C4表示是资料位元组C的第4位元。每一个位元都有0到7的编号,7是最高位元,而0是最低位元。

A B C D
A7 A6 A5 A4 A3 A2 A1 A0 B7 B6 B5 B4 B3 B2 B1 B0 C7 C6 C5 C4 C3 C2 C1 C0 D7 D6 D5 D4 D3 D2 D1 D0
Remove ads

服务01

更多信息 , (或 ...
Remove ads

服务02

服务02的PID和服务01相同,意义也相同[4],不过资讯是在产生冻结页框[5]时的资料。

需要在讯息的资料区中传送页框号码。

更多信息 PID (hex), 回应资料位元组个数 ...

服务03

更多信息 PID (hex), 回应资料位元组个数 ...

服务04

更多信息 PID (hex), 回应资料位元组个数 ...

服务05

更多信息 PID (hex), 回应资料位元组个数 ...
Remove ads

服务 09

更多信息 PID (hex), 回应资料位元组个数 ...
  1. 在公式栏中,字母A, B, C,.....表示资料位元组的第一位元组、第二位元组、第三位元组......的十进位。若有问号,表示有冲突或是不完整的资料
Remove ads

位元编码PID

上表中有部份的PID无法用简单的公式来说明。以下是这些PID的细部说明。

服务01 PID 00

这个PID的请求会回传4位元组的资料(Big-endian。每一个位元的排序顺序是由MSBLSB。表示接下来的32个PID,并且说明支援哪些PID。

例如,若汽车的回复是BE1FA813,可以解码如下

更多信息 十六进位, 二进位 ...

因此,支援的PID有:0103040506070C0D0E0F101113151C1F20

Remove ads

服务01 PID 01

这个PID的请求会回传4位元组的资料,分别标示A B C、D。

第一个位元组(A)包括二部份的资讯。位元A7(位元组A的MSB)表示MIL(检查发动机警示灯)是否点亮。位元A6A0表示发动机控制器显示的诊断故障码。

第二至第四位元组(B, C和D)表示特定在线测试的可进行程度(availability)及完整性(completeness)。可用程度会用设定位元1来表示,而完整性会用清除位元0来表示。

更多信息 位元, 名称 ...

以下是常见的B位元组定义,是以测试为基础的内容。

更多信息 可进行测试, 测试不完整 ...

第三位元组及第四位元组的定义会依发动机是火星塞点火(奥托发动机或汪克尔发动机)或柴油发动机而不同。第二位元组的bit 3会说明如何定义位元组C和D,0表示是火星塞点火(奥托发动机或汪克尔发动机),1表示是压缩点火(柴油发动机)

火星塞点火监控时的位元组C和D (奥托发动机或汪克尔发动机):

更多信息 可进行测试, 测试不完整 ...

柴油发动机监控时的位元组C和D:

更多信息 可进行测试, 测试不完整 ...
  1. NMHC可以表示甲烷之外的碳氢化合物(Non-Methane HydroCarbons),不过J1979没有明确说明。
Remove ads

服务01 PID 41

这个PID的请求会回传4位元组的资料。 第一个位元组会是0,第二个到第四个位元组会提供特定在线测试(on-board test)可进行程度(availability)及完整性(completeness)。和PID 01相同,第三和第四个位元组的定义会依发动机类型(B3)而不同,B3为0表示是火星塞,为1表示是压缩点火。可进行程度(availability)是用位元1表示,而完整性(completeness)是用位元0表示。

以下是共用的位元组B的定义,以测试为基础。

更多信息 可进行测试, 测试不完整 ...

针对火星塞点火监控的位元组C和D(奥托发动机或汪克尔发动机):

更多信息 可进行测试, 测试不完整 ...

柴油发动机监控时的位元组C和D:

更多信息 可进行测试, 测试不完整 ...
  1. NMHC可以表示甲烷之外的碳氢化合物(Non-Methane HydroCarbons),不过J1979没有明确说明。

服务01 PID 78

这个PID的请求会回传9位元组的资料。 第一个位元组是位元编码,表示支援的尾气温度感测器:

更多信息 Byte, 叙述 ...

第一个位元组的位元编码如下:

更多信息 Bit, 叙述 ...

剩下的位元组是16位元的整数,表示摄氏下的温度,范围从-40到6513.5(比例0.1),其转换公式为(高位元组为A,低位元组是B)。只有有支援的感测器对应的值是有意义的。

PID 79的结构相同,但是是针对bank 2的感测器。

服务03(不需PID)

此服务的请求会回传一串已设定的DTC。会用ISO 15765-2的协定进行封装。

若DTC不超过二个(4位元组),会用ISO-TP单一页框格式(SF)回复。若三个或三个以上的DTC,会分为多个页框传送,实际的页框数会依通讯格式以及定址方式而定。

每个诊断错误码为二个位元组。诊断错误码的文字叙述如下。诊断错误码的第一个字会由第一个位元组的前二个位元决定:

更多信息 A7-A6, DTC的第一个字元 ...

DTC码的第二个字会由第一个位元组的下二个位元决定:

更多信息 A5-A4, DTC的第二个字元 ...

DTC码的第三个字是一个数字,定义如下:

更多信息 A3-A0, DTC的第三个字元 ...

DTC码的第四个字及第五个字定义方式类似,不过是用B7-B4B3-B0位元。所产生的五个字元需类似U0158之类的字元,而且可以在OBD-II DTC表上找到。最后三个字允许使用十六进制的数字(0-9, A-F),不过常见的还是使用十进制的数字(0-9)。

服务09 PID 08

会提供有关催化剂bank、氧气侦测器bank、蒸发泄漏侦测系统、排气再循环及第二侧空气系统的使用追踪资讯。

每一个元件或是系统的分子针对侦测特定误动作的监控,追踪该监控所有条件成立的次数 每一个元件或是系统的分母针对该特定条件,车辆运作的次数

资料的个数需在讯息的一开始就说明(第一个位元组)

所有使用中性能追踪的资料会包括二个位元组,依次数送出(每个讯息有二个资料,因此长度为4)

更多信息 Mnemonic, 叙述 ...

服务09 PID 0B

此服务提供有关NMHC 催化剂监控、NOx 催化剂监控、NOx吸收器监控、PM过滤器监控、排气感测器监控、GR(排气再循环)及/或VVT(可变气门正时)监控, 提升压力监控及燃料系统监控的使用性能资讯。

所有的资料都有2个位元,以以下的顺序排列(每一个讯息有二个资料,因为是4个位元):

更多信息 记忆字, 叙述 ...

枚举PID

有些PID的解读方式比较特殊,是有枚举的型式,这类PID没有位元定义,也没有单位。

服务01 PID 03

这种PID的请求会回复二个位元组的资料。 第一个位元组表示燃料系统#1。

更多信息 值, 叙述 ...

其他的值无效。

第二个位元组表示燃料系统#1,定义完全相同。

服务01 PID 12

这种PID的请求会回复一个位元组的资料,表示第二侧空气状态。

更多信息 值, 叙述 ...

其他的值无效。

服务01 PID 1C

此种PID请求会回复一个位元组的资料,说明电子控制器使用的OBD标准。以下是数值以及其对应的标准。

更多信息 值, 叙述 ...

燃料码

服务01 PID 51会回传数值,对应车辆的燃料型态。燃料型态一个位元组,数值和燃料对应如下:

更多信息 数值, 描述 ...

其他的值保留供ISO/SAE使用,目前没有针对弹性燃料车英语flexible-fuel vehicle的定义。

非标准的PID

大部份的在使用的OBD-II PID都是非标准的,针对大部份现今的车辆,OBD-II界面中支持的非标准PID功能比标准PID功能还多,各家的非标准PID只有少部份的重叠。

在公众领域中非标准PID的资讯相当有限。有一个以美国为主的设备工具研究所英语Equipment and Tool Institute(ETI)有维护一些厂商的非标准PID,只提供给其会员。ETI的年费和公司在北美车辆工具及设备的营业额有关:

更多信息 北美年营业额, 年费 ...

就算是ETI,也没有所有非标准PID的文件。ETI表示[6][7]

有些车厂拒绝用ETI来提供资讯给相关工具厂商。他们比较想和每一家工具厂商个别作生意。这些公司会要求你和他们签合约。其费用是变动的,以下是2015年4月13日的年费:

通用汽车 $50,000
丰田 $5,000
铃木 $1,000
BMW $25,500,每次更新要加$2,000,每年更新一次

CAN(11位元)通讯格式

在车内的CAN网路中会有查询PID以及PID回复的讯息。标准OBD查询以及回复会用机能式的地址。诊断读取器会用CAN ID 7DFh送出查询讯息,此位址是广播位置,并且会接受从7E8h到7EFh的回复。回复OBD查询的电子控制器也会接收7DFh广播位置的讯息,并且接收7E0h到7E7h范围内指定ID的讯息。其回应的ID是指定ID值加8,范围从7E8h到7EFh。

此作法可以允许最多8个电子控制器,每一个都可以回复OBD的查询。诊断读取器可以用ECU回复的ID继续和特定的电子控制器通讯。特别是多页框的通讯需要特定ID电子控制器的回复。

CAN也可以传送标准OBD讯息以外的资讯,实体位址会用这些特殊模组的CAN讯息(例如720h是福特汽车的组合仪表),也会有专属的页框以及传送资料。

查询

机能性的PID查询会用ID 7DFh的CAN讯息送出,其资料为:

更多信息 Byte, PID Type ...

回应

车辆会用讯息ID来回应PID查询,其ID编辑和回应的模组有关。一般而言发动机及主发动机控制器会用ID 7E8h回应,其他设备,像是混合控制器或是Prius里的电池控制器,会用07E9h、07EAh、07EBh等ID回应。设备回应的讯息ID会比其设备接收的讯息ID多8。回应值的长度会变动,但回应讯息固定都是8个位元。 各位元组的定义为:

更多信息 Byte, PID Type ...

相关条目

参考资料

延伸阅读

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads