为了监控排放相关系统,比如发动机和变速箱,美国和欧洲制定了OBD(On-Board-Diagnose)标准。OBD定义了排放相关系统必须支持的诊断服务和数据传输格式,支撑OBD数据传输的底层数据链路可以是K线,也可以是CAN线,目前大多数车的OBD接口都是CAN总线。OBD是与UDS并列的一套应用层协议,对于与排放相关的ECU来说,通常这种ECU上既要实现OBD,也实现UDS。下图展示了UDS与OBD在整个诊断通信协议栈中的位置。

ISO为OBD分配了ISO-15031系列标准号,总共7本。而美国的SAE也为OBD分配了相应的标准号。它们在内容上是相同的。具体对应关系如下。

本文只重点关注ISO-15031-5,即OBD所用的诊断服务。在理解了这些诊断服务之后,其他的内容也就很容易理解了。

OBD总共定义了9个诊断服务,每个服务用一个byte来代表,即所谓的Service

ID(SID),从0x01到0x09。

Service 01 - Request Current Powertrain Diagnostic Data:

该服务用于读取动力系统当前的诊断数据,比如某个传感器的状态、发动机转速、DTC数量、故障指示灯是否亮起等,命令格式是SID + 若干PID(Parameter ID)。每个PID也是一个byte,所以理论上PID取值范围是0x00至0xFF,但是ISO-15031-5只明确定义了部分PID,其余的值都保留。问题来了,OBD定义了如此多的PID,那么某个ECU到底支持哪些PID,诊断仪是如何获知的呢?实际上,PID分为两类,一类用于表征具体的数据,而另一类则用于指出该ECU支持哪些PID。用于第二种目的的PID分别是0x00 , 0x20 , 0x40…. 读取其中一个ID后ECU会返回4个字节的结果,这4个字节中的每个bit表示其所对应的PID是否被支持。以下面这个例子来说明就很容易理解了:

OBD request for SID 01

OBD response for SID 01

通常来说,诊断仪要首先读取00、20、40这些ID,然后就知道ECU支持哪些其他的PID了,而其他的PID就是很直接地表示某种数据,在ISO-15031-5的附录中有全部数据格式的定义。

Service 02 - Request Powertrain Freeze Frame Data

一旦ECU确定了某个故障,就要把这个故障被确定时的相关状态信息“冻结”下来,即所谓的冻结帧,这些状态信息对车辆故障的确定非常重要,因为它们记录了车辆发生故障时的很多相关信息,这些状态信息数据必须在ISO-15031-5的PID列表中选择(与Service 01使用的PID列表相同)。02命令和01命令的使用方式非常相似,只不过02读取的是故障发生时的数据,而01读取的当前数据,数据格式和含义都是相同的。与01命令不同的是,02命令中多了一个frame字节,如下图所示:

OBD规定,用frame = 0x00来代表读取冻结帧。如果主机厂想自己再定义些什么其他的帧,或者多定义几个冻结帧,则可以给frame分配上其他的编号。

需要指出的是,OBD只规定了ECU需要为一个DTC存储冻结帧,当ECU中同时存在多个DTC时,就要根据优先级来判定存储谁的冻结帧了。

Service 03 - Request Emission-Related Diagnostic Trouble Codes

服务03用于读取存储在ECU中的与排放相关的“confirmed” DTC(可以参见本专栏中“汽车控制器(ECU)中DTC的状态位”一文),用法非常简单,它没有任何参数,诊断仪只需要发送03即可。下面两张图分别展示了03命令的请求和响应格式。

OBD request for SID 03

OBD response for SID 03

在03命令的响应中,第2个字节表示DTC数量,后面每两个字节表示一个DTC。

Service 04 - Clear/Reset Emission-Related Diagnostic Information

04服务用于清空ECU中存储的与排放相关的DTC。除了DTC以外,以下的信息也要被清除。

执行04命令时被清理的信息

它的使用非常简单,请求是一个字节的04,响应是一个字节的44。只有在发动机没有运转的时候才可以执行这个服务,否则ECU应该给出NRC 0x22(条件不满足)来拒绝该服务。

Service 05 - Request Oxygen Sensor Monitoring Test Results

05服务用于读取氧传感器的状态,对于OBDonCAN来说不支持该服务,相应的功能由06服务实现。

Service 06 - Request On-Board Monitoring Test Results for Specific Monitored Systems

该服务用于请求对特定被监测系统的监测结果。OBD中定义了一个MID(Monitor ID)的表格,来标识被监测系统。一个ECU不一定需要支持所有的MID,获知具体支持哪些MID的方法与01和02服务所使用的方法相同,也是先读取00,20,40等ID。06服务的命令格式是SID + 若干MID,命令格式如下

06服务的request

06服务的response

06服务的response中,针对某一个MID,可能有多个TID(Test ID),因为针对一个系统可能有多个测试项目。TID表格也在OBD中定义。06服务的response格式固定,每个MID的每个TID有6部分组成,可以在上面的例子中看出:

1. MID

2. TID

3. Unit And Scaling ID,用于标识这个TID的测试内容是什么,比如电压、时间、计数器之类的。

4. Test Value,实际测量值

5. Min. Test Value,这个测量值的最小值

6. Max. Test Value,这个测量值的最大值

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

07服务也是获取DTC,但是它与03服务区别在于,它用于获取在当前以及上一个驾驶循环中出现的处于“pending”状态的DTC(可以参见本专栏中“汽车控制器(ECU)中DTC的状态位”一文),而03服务获取的是confirmed DTC。

它的请求格式和响应格式如下两幅图:

07服务的request

07服务的response

Service 08 - Request Control of On-Board System, Test or Component

08服务用于对系统进行控制,进行元件测试操作。它相当于UDS中定义的2F和31服务。它的使用方法是SID + TID,注意这个TID与05和06服务的TID不同,在OBD中有一个专门给08服务使用的TID表格。

Service 09 - Request Vehicle Information

09服务用于读取车辆信息,它的命令请求格式是SID + 若干InfoType ,InfoType在OBD标准中有定义。并不是所有的InfoType都需要被支持,具体哪些InfoType被支持,可以采用和01服务相同的方法来获知,读取00,20,40等ID。比如InfoType = 02代表17个ASCII的Vehicle Identification Number。

目前,UDS和OBD是两套应用层协议,而OBD所提供诊断服务其实属于UDS所提供服务的一个子集,理论上来说UDS中的诊断服务都可以实现OBD中的要求。为了降低同时需要实现两套协议的成本,所以标准化组织分配了ISO 27145(World-Wide Harmonized OBD)这个标准号来将OBD与UDS统一,使用UDS中的诊断服务来替代OBD相关的诊断服务。具体替换方案如下表:

WWH-OBD中UDS与OBD服务的对应关系

比如,在OBD中,使用02,03,07分别读取confirmed DTC,DTC环境数据,pending DTC,而这些功能都可以通过UDS中的19服务来实现(配合上不同的状态掩码和读取参数)。

obd协议 混动车_OBD协议相关推荐

  1. obd协议 混动车_OBD协议介绍

    为了监控排放相关系统,比如发动机和变速箱,美国和欧洲制定了OBD(On-Board-Diagnose)标准.OBD定义了排放相关系统必须支持的诊断服务和数据传输格式,支撑OBD数据传输的底层数据链路可 ...

  2. obd协议 混动车_OBD检测常见问题

    检测要求 OBD目测法检查 外观检查项目是否带OBD一栏,以实车为准 通电:应该亮灯而不亮,判定不合格(柴油国六OBD要求闪烁) 打火:应该灭灯而不灭,判定不合格 OBD接口损坏,判定不合格 找不到O ...

  3. 近七成美国汽车消费者下一辆仍想买燃油车,中韩最热衷纯电车,日本最偏好混动车 | 美通社头条...

    要闻摘要:德勤发布<2022年全球汽车消费者研究>报告.Crocs完成25亿美元收购休闲鞋履品牌HEYDUDE.戴姆勒卡车与西门子合作开发下一代"碳中和"车辆.索尼与N ...

  4. 阿斯顿马丁宣布放弃内燃机:2026年开始只销售电动或混动车

    据国外媒体报道,英国豪华超跑品牌阿斯顿・马丁宣布从2026年开始逐步淘汰内燃机产品,只销售电动或混合动力汽车. 据悉,阿斯顿・马丁CEO劳伦斯・斯特罗尔与汽车管理局对话时说到:"到2026年 ...

  5. 1-9月欧洲新能源车份额上升 混动车注册量增加8.8%

    据欧洲汽车制造商协会(ACEA)数据. 今年前9个月,汽油和柴油汽车的注册量与上年同期相比分别下降了9%和8.5%,配备混合动力系统的车辆的注册量增加了8.8%. 总体而言,替代动力系统汽车份额持续稳 ...

  6. 独家专栏 | 为什么国外的无人驾驶原型车,都选择混动车型?

    雷锋网按:本文为雷锋网独家专栏,作者系佐思产研研究总监周彦武,雷锋网经授权发布. 现在的无人车大多是用量产车改装的,但选什么样的量产车改装可是有学问.国外的大多选混动,国内的大多选燃油车,这是为什么? ...

  7. 东风本田crv2020新款混动说明书_2020款本田思域来了,推出CRV的插电混动系统

    在1月9号的三亚本田媒体大会上,我们期盼已久的本田 思域 (配置 | 询价) 两厢终于来了,和海外版的造型一样,这一点是非常令人欣喜的.这样的造型设计无疑给了国内改装车市场非常大的潜力,如何改装出最帅 ...

  8. 混动,增程,原理剖析 传动箱

    父文章 人人都是汽车专家_个人渣记录仅为自己搜索用的博客-CSDN博客 目录 混动没有未来 dmi immd 混动的设计是为了最高能耗 最高功率计算 158kw 比轩逸 epower不节油,贵 F3d ...

  9. 比亚迪、理想冒头背后,混动完胜纯电动?

    进入六月份,各家车企的五月销量成绩陆续出炉了,差距也再次拉大.其中,比亚迪以23.9万辆的销售成绩再次夺得冠军,特斯拉中国则突破了单月7.5万辆,广汽埃安也首次突破了单月4.5万辆,上汽乘用车则上升至 ...

  10. 本田crv混动操作手册_【广汽本田】不只是奶爸车 新出行试驾本田奥德赛锐混动...

    现在在市场上其实我们不难发现旅行车/MPV 的身影是越来越多了,似乎各大厂家都在不约而同的瞄准 MPV 市场投放车型.从十几万到破百万的价格区间我们都可以找到合适自己使用的不同种类 MPV 车型,当然 ...

最新文章

  1. 使用GPG校验sign签名
  2. SharePoint 2013 Search REST API 使用示例
  3. DOS 中for遍历文件内容
  4. winxp html5,超级 HTML HTMLEditor —- winXP 风格 [2]
  5. matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数
  6. 软件设计:表达组织中的上下级关系
  7. 微软职位内部推荐-Senior Software Lead-Index Gen
  8. Correlation coefficients and appliction in fMRI Data
  9. 玩机搞机----安卓全机型修改开机第一屏步骤教程
  10. 拉普拉斯方程式 Laplace's equation
  11. 小米Airdots 充电盒拆机
  12. 安全加密 - DEP, ASLR
  13. Qt自定义进度条示例
  14. PDF删除水印怎么在PDF编辑软件内执行
  15. Write Zeroes
  16. spring security基于数据库的安全认证 配置
  17. 粘性定位之 position:sticky
  18. PCF8591 ADC 模数转换模块使用
  19. 双重预防体系智能管理系统助力集团施工企业落实双重预防机制建设
  20. JavaScript 数组遍历的五种方法(转)

热门文章

  1. 程序包com.wonhyoo.common.entity不存在, 找不到符号
  2. 51单片机实现生日快乐歌
  3. my.cnf文件的内容详细解释
  4. latex normal是几号字_Latex之字体 | 学步园
  5. Clip染色质免疫沉淀(CLIP测序)
  6. centos5.6安装mysql_centos安装mysql5.6
  7. unity3D神奇bug,显示中文异常
  8. 嵌入式蓝桥杯又一个神之BUG Keil4 ADC仿真值出不来
  9. 前端实战:教你写出简单的侧边栏功能以及返回顶部特效
  10. 如何用计算机函数算年龄,农历虚龄计算器,岁数计算器怎么查对象生日日