OBD 诊断与 UDS 诊断有什么区别

OBD(On-Board Diagnostic),如同前面答主所说的它确实是包含了非常多标准的集合。单就OBD而言,最初起源于CARB(California Air Resources Board 加州空气资源委员会)为1988年之后生产的加州汽车所制定的排放法规,随着这套法规逐渐被标准化实施,SAE(Society of Automotive Engineers 美国汽车工程师协会)又提出了OBDII,所有执行OBDII标准的汽车都需要具备标准化的车辆数据诊断接口(SAE-J1962,也就是现在常说的OBD接口)、标准化的诊断解码工具(SAE-J1978)、标准化的诊断协议(ISO 9141-2ISO 14230-4ISO 15765-4)、标准化的故障码定义(SAE-J2012ISO 15031-6)、标准化的维修服务指南(SAE-J2000)。所以OBD是具有强制标准需要参照的,是由法规要求的,最初目的是环保,同时方便售后维修。
UDS(Unified diagnostic services),与OBD最大的区别就在于“Unified”上,它是面向整车所有ECU(电控单元)的,而OBD是面向排放系统ECU的。单说UDS而言,它只是一个应用层协议(ISO 14229-1),所以它既可以在CAN线上实现(见下图.1),甚至也能在Ethernet上实现(DoIP, Diagnostic over Internet protocol 见下图.2)。并且,UDS提供的是一个诊断服务的基本框架,主机厂和零部件供应商可以根据实际情况选择实现其中的一部分或是自定义出一些私有化的诊断服务来,所以基于UDS协议的诊断又常常被称为Enhanced diagnosic(增强型诊断),UDS不是法规要求的,没有统一实现标准,其优势在于方便生产线检测设备的开发,同时更大的方便了售后维修保养和车联网的功能实现。
图.1:

图.2:

关于题主所问二者是否可以共存的问题,答案是肯定的。在我的工作经验中,这种搭配也是相对常见的,动力系统的电控单元比如EMSTCU这种很多都是同时支持这两种诊断的,而非排放相关的电控单元则只支持UDS协议。

至于说OBD被UDS取代,我觉得短时间内二者肯定还是会继续共存。后续就要看汽车总线的发展趋势了(CAN的接班者是谁)~
【杜宝雷的回答(6票)】:
谢邀,这个问题是要好好的聊一下。
1.OBD是车载故障系统。obd其实是一系列标准的集合。应用层,传输层,数据链路层和物理层。物理层是sae 1969和j1939是诊断接口的定义,数据链路层有k线,can总线和kwp2000等等,这些都是不同年代的产物。obd只是把这些标准集合了起来。在使用obd的时候最主要的特征就是发送PID来请求电控系统数据流和故障码,这个不同的协议实现是不同的。这样在开发诊断设备时,可能要学习不同年代的协议。这个实现基本上是ECU->诊断设备。一般开发诊断设备都要硬件软件一起来。国内的x431就是典型的例子。

2.UDS就是统一诊断服务
UDS和OBD最大的区别就是实现了模块化汽车诊断。ECU->MVCI->诊断设备。中间加了一个MVCI(modular vehicle communication interface)的接口设备。上层的诊断设备只要发送同样的命令就可以得到电控系统的数据,而不关心底层的数据链路和物理层是怎么实现的。这样硬件和软件可以分别开发,是完全不同于obd的开发规范。例子有博世kt700

PS.UDS是大势所趋,目前也在逐步替代OBD,但是可能需要个几年的时间,十年后应该都是UDS了,但是对汽车电子厂商要求比较高。目前德国人走在前面。因为iso有一个分委员会关于车载网络的就是德国人在承担。PS.UDS是大势所趋,目前也在逐步替代OBD,但是可能需要个几年的时间,十年后应该都是UDS了,但是对汽车电子厂商要求比较高。目前德国人走在前面。因为iso有一个分委员会关于车载网络的就是德国人在承担。

发布了13 篇原创文章 · 获赞 316 · 访问量 106万+

猜你喜欢

转载自blog.csdn.net/u012252959/article/details/88554121