OBD 协议数据流说明
需要确认的问题:
1、 支持的车型?
2、 油耗、里程读取?
3、 OBD 协议中是否支持读取和控制车门窗的状态信息?
4、 OBD 能读取数据
5、 比较本人整理的ISO15031-5 和北京金奔腾科技公司的 OBD 协议
数据流
答案:
1、 我国采用了 EOBD 相同的要求即 ISO15031-5(道路车辆-车辆与排放诊断相
关装置通信标准-5 排放有关的诊断服务)协议。
所以只要该车支持 ISO15031-5 的 OBD2 标准协议中所有项,则可以通过
OBD 接口读取出 ECU 中所有信息;若该车支持标准协议中部分项,则读
取出支持项信息。(标准协议附在下面,由北京金奔腾汽车科技公司提供。)
2、 在 ISO15031-5 协议中,油耗不能读取,只能读取燃油液位输入 (读出油箱
剩余油量与油箱容量的百分比)。 在车上通过燃油液位传感器实现对剩余
油量检测。
OBD 输出信息中跟里程相关只有:故障灯点亮后行驶的里程数、消除故障
后行驶的里程数。
里程获取办法:
1、虽然不能直接获得总里程,但可以总里程=安装前里程数+故障灯点亮
后行驶的里程数+消除故障后行驶的里程数。
2、OBD2 协议中无法直接读取仪表上数据,只有通过购买汽车厂家的 OBD2
协议的扩展,可获得汽车仪表系统数据获取,肯定能获取汽车总里程和车
门窗信息。由于成本太高,所以不现实。
3、在车轮处安装及车轮转过圈数的传感器
4、还有通过 GPS 获取总里程。
3、 在 ISO15031-5 的 OBD 协议中不支持读取和控制车门窗的状态信息。
4、 读取信息是从 ISO15031-5 协议中分析出来:
我们关注输出信息有:
注:PID:OBD 系 统输 出的 每个 参数 都对 应一 个使 用 16 进 制表 示的 PID (Parameter
Identification),即参数标识。
PID$01 故障码清除之后的监测状态
PID$05 发动机冷却液温度
PID$0C 发动机转速
数据类型:data/4 rpm (0
模式 3 中输出的是排放相关的动力系的故障代码
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 在发动机运转的时候也可进行此操作。
Mode 5:请求氧传感器检测测试结果
模式 5 输出的信息是氧传感器的信息,其中既包含氧传感器的特性参数(常数,决定于选用
的氧传感器本身),还包括氧传感器的一些评价指标的测试结果。
Mode 6:请求非连续监控的测试结果
模式 6 输出的是 OBD 系统对某个部件/系统的非连续监测结果。
Mode 7:请求连续监测系统 OBD 测试结果
模式 7 的目的是使外部的测试设备能够访问在一般驾驶状况下连续监测的排放相关部件和
系统的故障。
Mode 8:请求控制车载系统,测试或者部件
模式 8 的作用是使得外部测试设备可以控制 OBD 系统、测试或者部件的工作。显示的信息
包括系统的状态和测试的结果。
对于 EOBD 来说不对模式 8 进行要求,我国采用了 EOBD 的要求,因此凡为中国市场开发的
OBD 系统不支持模式 8 的功能。
Mode 9:读车辆和软件识别号
模式 9 中的信息可以使得维修者和爱好者可以迅速准确地确定车辆和 OBD 系统的数据状态。
比如用于爱好者之间进行交流和在召回时确定车辆和 OBD 系统状态。
示例
VID 04Calibration Identification
06B123456Z ABCD
二、OBD 数据流(本人根据 ISO15031-5 协议整理的协议)
下面是 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$1C OBD 系统的车辆设计要求
PID$1D 氧传感器的位置
PID$1E 辅助输入状态
PID$1F 自发动机起动的时间
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$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 保留
三、数据读取(以 ISO15765-4 的 CAN 总线协议为例)
1、硬件接线
硬件上接线:
CAN_H-----接 OBD 接口第 6 引脚
CAN_L-----接 OBD 接口第 14 引脚
电源正端---接 OBD 接口第 16 引脚
公共地-----------接 OBD 接口第 4 引脚
信号地------接 OBD 接口第 5 引脚
2、软件协议
下面以读取 MODE1 实时车速为例:
外面设备--------CAN----------- 汽车 ECU
发送格式:
CAN 的 ID
PCI
01
01
MODE PID
01
01
标准:7DF
扩展:18DB33F1
数据域:PCI+MODE+PID ,其中 PCI 表示协议控制信息的字节数量
0d 00 00 00 00 00
0d 00 00 00 00 00
01---- Mode 1: 请求动力系当前数据;
PID 0D----车速
四、北京金奔腾汽车科技公司提供标准 OBD 数据流:
数据流名称:
原始数据 单位
000 故障码存储数量
001 故障指示灯状态
002 支持失火监测
003 支持燃油系统监测
004 支持综合部件监测
005 失火监测准备就绪
006 燃油系统的监测准备就绪
007 综合成分监测准备就绪
008 支持:催化转换器
009 支持:加热器催化转换器
010 支持:燃油蒸发排放系统
011 支持:二次空气喷射系统
012 支持:空调冷媒
013 支持:氧传感器
014 支持:氧传感器加热器
015 支持:废气再循环系统
016 催化转换器状态
017 加热式催化转换器状态
018 燃油蒸发排放系统状态
019 二次空气喷射系统状态
020 空调制冷剂状态
021 氧传感器状态
022 氧传感器加热器状态
023 废气再循环系统状态
024 产生冻结帧的故障码
025 燃油系统状态 B1
026 燃油系统状态 B2
027 计算负荷值
028 发动机冷却液温度
029 短期燃油修正(缸组 1)
030 长期燃油修正(缸组 1)
031 短期燃油修正(缸组 2)
032 长期燃油修正(缸组 2)
033 燃油压力
034 进气歧管绝对压力
035 发动机转速
036 车速
037 点火正时
038 进气温度
039 空气流量
040 节气门位置
041 二次空气请求
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|%
|℃
|%
|%
|%
|%
|kPaG
|kPaA
|RPM
|km/h
|°
|℃
|g/s
|%
|
042 氧传感器位置
043 氧传感器输出电压(缸组 1,传感器 1)
044 短期燃油修正(缸组 1,传感器 1)
045 氧传感器输出电压(缸组 1,传感器 2)
046 短期燃油修正(缸组 1,传感器 2)
047 氧传感器输出电压(缸组 1,传感器 3)
048 短期燃油修正(缸组 1,传感器 3)
049 氧传感器输出电压(缸组 1,传感器 4)
050 短期燃油修正(缸组 1,传感器 4)
051 氧传感器输出电压(缸组 2,传感器 1)
052 短期燃油修正(缸组 2,传感器 1)
053 氧传感器输出电压(缸组 2,传感器 2)
054 短期燃油修正(缸组 2,传感器 2)
055 氧传感器输出电压(缸组 2,传感器 3)
056 短期燃油修正(缸组 2,传感器 3)
057 氧传感器输出电压(缸组 2,传感器 4)
058 短期燃油修正(缸组 2,传感器 4)
059 车辆或发动机认证的 OBD 要求
060 氧传感器位置
PTO(动力输出)状态
061
062 发动机起动后时间
063 故障指示灯点亮后的行驶距离
064 相对燃油压力
065 燃油轨压力
066 当量比(λ)(缸组 1,传感器 1)
067 氧传感器电压(缸组 1,传感器 1)
068 当量比(λ)(缸组 1,传感器 2)
069 氧传感器电压(缸组 1,传感器 2)
070 当量比(λ)(缸组 1,传感器 3)
071 氧传感器电压(缸组 1,传感器 3)
072 当量比(λ)(缸组 1,传感器 4)
073 氧传感器电压(缸组 1,传感器 4)
074 当量比(λ)(缸组 2,传感器 1)
075 氧传感器电压(缸组 2,传感器 1)
076 当量比(λ)(缸组 2,传感器 2)
077 氧传感器电压(缸组 2,传感器 2)
078 当量比(λ)(缸组 2,传感器 3)
079 氧传感器电压(缸组 2,传感器 3)
080 当量比(λ)(缸组 2,传感器 4)
081 氧传感器电压(缸组 2,传感器 4)
082 废气再循环指令
083 废气再循环错误
084 燃油蒸气净化
085 燃油液位输入
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|V
|%
|V
|%
|V
|%
|V
|%
|V
|%
|V
|%
|V
|%
|V
|%
|
|
|
|sec
|Km
|kPa
|kPa
|
|mV
|
|mV
|
|mV
|
|mV
|
|mV
|
|mV
|
|mV
|
|mV
|%
|%
|%
|%