OBD协议说明(个人)
Mode 5:请求氧传感器检测测试结果
模式 5 输出的信息是氧传感器的信息, 其中既包含氧传感器的特性参数 (常数, 决定于选用 的氧传感器本身) ,还包括氧传感器的一些评价指标的测试结果。
Mode 6:请求非连续监控的测试结果
模式 6 输出的是 OBD 系统对某个部件 / 系统的非连续监测结果。
Mode 7:请求连续监测系统 OBD 测试结果
实用文档
OBD 协议数据流说明 需要确认的问题:
1、 支持的车型?
2、 油耗、里程读取?
3、 OBD协议中是否支持读取和控制车门窗的状态信息? 4、 OBD能读取数据
5、 比较本人整理的 ISO15031-5和北京金奔腾科技公司的 OBD协议 数据流
答案:
1、 我国采用了 EOBD相同的要求即 ISO15031-5道( 路车辆 -车辆与排放诊断相关 装置通信标准 -5 排放有关的诊断服务 )协议。 所以只要该车支持 ISO15031-5 的 OBD2 标准协议中所有项,则可以通过 OBD 接口读取出 ECU 中所有信息;若该车支持标准协议中部分项,则读 取出支持项信息。 (标准协议附在下面, 由北京金奔腾汽车科技公司提供。 )
3、 在 ISO15031-5的 OBD协议中 不支持 读取和控制车门窗的状态信息。
4、 读取信息是从 ISO15031-5协议中分析出来:
我们关注输出信息有:
注: PID: OBD 系统输出的每个参数都对应一个使用
16 进制表示的 PID (Parameter
.
实用文档
Identification) ,即参数标识。
Mode 2: 请求冻结祯数据
Mode 3: 请求排放相关的动力系诊断故障码
Mode 4: 清除 / 复位排放相关的诊断信息
Mode 5: 请求氧传感器监测测试结果
Mode 6: 请求非连续监测系统 OBD 测试结果
Mode 7: 请求连续监测系统 OBD 测试结果
Mode 8: 请求控制车载系统,测试或者部件
OBD 系统本身最重要的信息,它们是 实时刷新
的。
Mode 2: 请求冻结祯数据
模式 2 的目的是访问保存在冻结桢中的排放相关的数据。所谓冻结桢,指的是故障在首次 出现的瞬间,车辆和发动机的一些最重要的参数值。
Mode 3:请求排放相关的动力系诊断故障码
.
实用文档
模式 3 中输出的是排放相关的动力系的故障代码
? 01---- Mode 1: 请求动力系当前数据 ;
PID 0D----车速
四、北京金奔腾汽车科技公司提供标准 OBD数据流 :
.
实用文档
数据流名称 :
000 故障码存储数量
|
|
001 故障指示灯状态
|
|
002 支持失火监测
|
|
003 支持燃油系统监测
|
|
004 支持综合部件监测
|
|
005 失火监测准备就绪
Mode 9:读车辆和软件识别号
模式 9 中的信息可以使得维修者和爱好者可以迅速准确地确定车辆和
OBD 系统的数据状态。
比如用于爱好者之间进行交流和在召回时确定车辆和
OBD 系统状态。
示例
Calibration VID 04
Identification 06B123456Z ABCD
.
实用文档
二、 OBD数据流 ( 本人根据 ISO15031-5 协议整理的协议 )
(中国市场开发的
Mode 9: 读车辆和标定识别号
OBD 系统不支持该模式)
Mode 1: 请求动力系当前数据
说明
模式 1 的功能是根据法规要求, 使得外部标准的诊断工具可以访问当前排放相关的一些基本
参数的数据值。 这些参数包含系统的一些模拟输入和输出量, 数字输出和输出量, 以及系统
状态信息等。这些参数是车辆和发动机以及
下面是 Mode1 和 Mode2 所输出的信息
PID$00 ? PID$01 故障码清除之后的监测状态 ? PID$02 对应所存储的冻结桢的故障码 ? PID$03 燃油系统状态 ? PID$04 计算负荷值 ? PID$05 发动机冷却液温度 ? PID$06 短时燃油修正 (气缸列 1 和 3) ? PID$07 长期燃油修正 (气缸列 1 和 3) ? PID$08 短时燃油修正 (气缸列 2 和 4) ? PID$09 长期燃油修正 (气缸列 2 和 4) ? PID$0A 燃油压力计量 ? PID$0B 进气歧管绝对压力 ? PID$0C 发动机转速 ? PID$0D 车速 ? PID$0E 第一缸点火正时提前角 (不包括机械提前 ) ? PID$0F 进气温度 ? PID$10 空气流量传感器的空气流量 ? PID$11 绝对节气门位置 ? PID$12 二次空气状态指令 ? PID $13 氧传感器位置 ? PID$14 — PID$1B传统 0 到 1V 氧传感器输出电压 (Bx-Sy)及与此传感器关联的短时燃 油修正 (Bx-Sy) ? PID$1COBD 系统的车辆设计要求 ? PID$1D 氧传感器的位置 ? PID$1E 辅助输入状态 ? PID$1F 自发动机起动的时间
三、数据读取(以 ISO15765-4 的 CAN总线协议为例)
1、硬件接线
实用文档
.
实用文档
硬件上接线: CAN_H-----接 OBD 接口第 6 引脚 CAN_L-----接 OBD接口第 14 引脚 电源正端 ---接 OBD 接口第 16 引脚 公共地 ----------- 接 OBD接口第 4 引脚 信号地 ------接 OBD 接口第 5 引脚
|
025 燃油系统状态 B1
|
|
026 燃油系统状态 B2
|
|
027 计算负荷值
|
|%
028 发动机冷却液温度
|
|
029 短期燃油修正 ( 缸组 1)
|
|%
030 长期燃油修正 ( 缸组 1)
读出油箱剩余油量与油箱容量的百分比
读取详细 OBD数据流见下面二。
5、 比较本人整理的 ISO15031-5和北京金奔腾科技公司的 OBD协议 数据流:金奔腾提供 OBD数据流比本人整理的 更详细 。
一、 OBD系统输出信息的模式 / 服务 ( 出处参考 ISO15031-5 协议标准 )
Mode 1: 请求动力系当前数据
Mode 4:清除 / 复位排放相关的诊断信息
模式 4 的作用是清除 OBD系统所记录的所有排放相关的诊断信息。这些信息包括: 诊断故障码的个数(模式 1 中 PID 01) 故障灯状态(模式 1 中 PID 01) 诊断故障码(模式 3) 冻结桢对应的故障码和冻结桢数据(模式 2) 氧传感器暖气测试结果(模式 5 或 6) 系统检测状态(模式 1 中 PID 01) 车载监测测试结果(模式 6 和模式 7) 故障灯激活之后的行驶里程(模式 1 中 PID 21) 模式 4 对 OBD 系统进行的删除 / 重置至少要在起动前点火钥匙开关处于 ON 的状态下能够执 行。大部分 ECU在发动机运转的时候也可进行此操作。
PID$20 ? PID$21 在 MIL 激活状态下行驶的里程 ? PID$22 相对于歧管真空度的油轨压力 ? PID$23 相对于大气压力的油轨压力 ? PID$24 — PID$2B 线性或宽带式氧传感器的等效比 (lambda) 和电压 ? PID$2C EGR指令开度 ? PID$2D EGR开度误差 (实际开度 — 指令开度 )/ 指令开度 *100% ? PID$2E 蒸发冲洗控制指令 ? PID$2F燃油液位 输入 ? PID$30 自故障码被清除之后经历的暖机循环个数 ? PID$31 自故障码被清除之后的行驶里程
PID$01 故障码清除之后的监测状态 PID$05 发动机冷却液温度
PID$0C 发动机转速
可以读取实时转速或者故障时转速。
数据类型: data/4 rpm (0<data<1638375)
PID$0D 车速
可以读取实时车速或者故障时车速。
数据类型: data km/h (0<data<255)
PID$2F燃油液位 输入
|
|
006 燃油系统的监测准备就绪
|
|
007 综合成分监测准备就绪
|
|
008 支持 : 催化转换器
|
|
009 支持 : 加热器催化转换器
|
|
010 支持 : 燃油蒸发排放系统
|
|
011 支持 : 二次空气喷射系统
|
|
012 支持 : 空调冷媒
|
|
013 支持 : 氧传感器
|Βιβλιοθήκη Baidu
|
014 支持 : 氧传感器加热器
2、软件协议
下面以读取 MODE1实时车速为例:
外面设备 --------
CAN-----------
发送格式:
汽车 ECU
CAN的 ID
PCI MODE PID
标准: 7DF
01 01 0d 00 00 00 00 00
扩展: 18DB33F1 01 01 0d 00 00 00 00 00
数据域 :PCI+MODE+PID,其中 PCI 表示协议控制信息的字节数量
模式 7 的目的是使外部的测试设备能够访问在一般驾驶状况下连续监测的排放相关部件和 系统的故障。
Mode 8:请求控制车载系统,测试或者部件
模式 8 的作用是使得外部测试设备可以控制 OBD 系统、测试或者部件的工作。显示的信息 包括系统的状态和测试的结果。 对于 EOBD来说不对模式 8 进行要求,我国采用了 EOBD的要求,因此凡为中国市场开发的 OBD 系统不支持模式 8 的功能。
.
? PID$32 蒸发系统的蒸气压力 ? PID$33 大气压 ? PID$34 — PID$3B 线性或宽带式氧传感器的等效比 (lambda) 和电流 ? PID$3C 催化器温度 B1S1 ? PID$3D 催化器温度 B2S1 ? PID$3E 催化器温度 B1S2 ? PID$3F 催化器温度 B2S2 PID$40 ? PID$41 当前驾驶循环的监测状态 ? PID$42 控制模块电压 ? PID$43 绝对负荷值 ? PID$44 等效比指令 ? PID$45 相对节气门位置 ? PID$46 环境空气温度 ? PID$47 绝对节气门位置 B ? PID$48 绝对节气门位置 C ? PID$49 加速踏板位置 D ? PID$4A 加速踏板位置 E ? PID$4B 加速踏板位置 F ? PID$4C 节气门执行器控制指令 ? PID$4D MIL 处于激活状态下的发动机运转时间 ? PID$4E 自故障码清除之后的时间 ? PID$4F 等效比的最大值及对应的氧传感器电压 ? PID$50 来自空气流量传感器的最大流量 ? PID$51 当前车辆使用的燃料类型 ? PID$52 酒精在燃料的百分比 ? PID$53 蒸发系统蒸气压力绝对值 ? PID$54 蒸发系统蒸气压力 ? PID$55 第二个氧传感器的短时燃油修正 (Bank 1 和 Bank 3) ? PID$56 第二个氧传感器的长期燃油修正 (Bank 1 和 Bank 3) ? PID$57 第二个氧传感器的短时燃油修正 (Bank 2 和 Bank 4) ? PID$58 第二个氧传感器的长期燃油修正 (Bank 2 和 Bank 4) ? PID$59 油轨绝对压力 ? PID$5A 加速踏板相对位置 ? PID$5B— PID$FF ISO/SAE保留
2、 在 ISO15031-5协议中,油耗不能读取,只能读取 燃油液位输入 (读出油箱剩 余油量与油箱容量的百分比 )。 在车上通过燃油液位传感器实现对剩余油 量检测。 OBD输出信息中跟里程相关只有: 故障灯点亮后行驶的里程数、 消除故障 后行驶的里程数。 里程获取办法: 1、虽然不能直接获得总里程,但可以总里程 =安装前里程数 +故障灯点亮 后行驶的里程数 +消除故障后行驶的里程数。 2、OBD2协议中无法直接读取仪表上数据, 只有通过购买汽车厂家的 OBD2 协议的扩展, 可获得汽车仪表系统数据获取, 肯定能获取汽车总里程和车 门窗信息。由于成本太高,所以不现实。 3、在车轮处安装及车轮转过圈数的传感器 4、还有通过 GPS获取总里程。
|
|
015 支持 : 废气再循环系统
|
|
016 催化转换器状态
|
|
017 加热式催化转换器状态
|
|
018 燃油蒸发排放系统状态
|
|
019 二次空气喷射系统状态
|
|
020 空调制冷剂状态
|
|
021 氧传感器状态
|
|
022 氧传感器加热器状态
|
|
023 废气再循环系统状态
|
|
024 产生冻结帧的故障码
|