第一范文网 - 专业文章范例文档资料分享平台

KWP 2000与车辆故障诊断

来源:用户分享 时间:2025/5/30 10:14:07 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

诊断设备和ECU的诊断通信过程如下图所示:

Start of serviceNOValid Message?No Response MessageYESRequest Message supported?NOYEScase #1Extended P2 timing window?YESRC=$78NOcase #2Service in progress?YESRC=$23NOPositive Response Message Ready?NOcase #3YESServer busy?YESNOcase #4YESGeneral reject?RC=$10RC=$21NORC=$xxNegative Response Message RC=$10, general rejectNegative Response Message RC=$xxNegative Response Message RC=$23, routineNotCompleteNegative Response Message RC=$78, responsePendingPositive Response MessageNegative Response Message RC=$21, busyRepeatRequestNegative Response Message RC=$11, serviceNotSupported or RC=$12, subFunctionNotSupportedEnd of service

SAEJ1979协议

基于OBD-Ⅱ的诊断设备通过接入车内通信网络,以服务请求的方式向车载ECU索取诊断数据,ECU以服务应答的方式向诊断设备传送诊断数据。在SAEJ1979协议中,详细规定了九种不同的诊断模式,它们分别为: 模式一:动态数据的获取。

模式二:获取与发动机相关的冻结帧数据。 模式三:获取与排放相关的诊断信息。 模式四:清除或者重置与排放相关的诊断码。 模式五:获取氧传感器相关的测试结果数据。 模式六:获取特殊监测对象的在线监测结果数据。 模式七:获取排放相关的诊断故障码。

模式八:对OBD系统、测试或者元件的控制请求。

模式九:获取车辆信息。 通过这九种模式,诊断设备可以向汽车电控单元获得各类诊断数据。这些模式对各种不同的数据通讯网络都是通用的。这一章中所研究的内容是开发诊断软件的前提。 1.诊断服务的一般要求

诊断服务的一般要求是为了保证诊断设备和汽车之间诊断操作的正常进行。要求诊断设备在进行诊断操作时,不能影响汽车电控单元的正常工作。 1.1.单请求多应答

当服务请求帧的目的地址为功能地址时,诊断设备并不确定哪些ECU会作出应答,有时候,会发生多个ECU对同一个请求同时应答的情况。因此,诊断设备需要具有接收多个应答的能力。此外,服务的请求和应答必须符合数据通信网络的时间参数。 1.2.无效数据

在J1850、ISO9141和KWP2000所规定的网络中,无效数据包含两种情况:一是所诊断设备所请求的服务不被支持,二是诊断设备所请求的服务被支持,但当前所取得的数据无效。在J1850和ISO9141网络中,如果诊断设备的服务请求不被支持,汽车电控单元不会做出应答。但在KWP2000所规定的网络中,所有的服务请求都会有积极或者消积的应答。当诊断设备所请求的服务被支持但当前所取得的数据无效时,由汽车制造商来选择是否及如何对这种情况做出应答。

在CAN网络中,数据无效包含四种情况:一是诊断设备所请求的服务不被支持,这种情况下不会有应答产生。二是诊断设备所请求的服务被支持,但请求的数据不被支持。此时,不支持所请求数据的ECU不允许发送消积的应答,因为其它支持所请求数据的ECU可能会发送积极的应答。如果诊断设备所请求的服务中包括了多个PID参数,但单个ECU只支持其中的一部分,这时每个ECU发送一个积极应答,并在报文中包括它所支持的PID和相应的数据。即使没有所支持的PID,ECU也不能发送消积应答。三是诊断设备所请求的服务被支持,但是当前的数据不可用。这种情况下,ECU发送一个“条件不许可”的消积应答(ID$22)。四是诊断设备和ECU任何一方在发送数据时超出了时间参数的限制。 1.3.数据最大值

如果数据值超过了所能传送的最大值,诊断系统会传送所能传送的最大值。要求诊断设备可以显示出该最大值或表示数值过大。 2.诊断报文的格式

2.1地址策略和最大报文长度

所有的服务请求报文都应该使用功能地址,因为诊断设备并不了解汽车的哪一部分系统含有所需要的信息。对于ISO9141、KWP2000和SAE J1850数据网络,最大的报文长度(包含请求报文和应答报文)被限制在七个字节以内。其中ISO9141和SAE J1850网络中,每一种诊断报文都有固定的长度。在KWP2000网络中,报文长度信息包含在帧头的第一个字节中。

2.2报文格式

在ISO9141、KWP2000和SAE J1850网络中,报文部分的第一个字节是诊断服务标识码SID(Diagnostic Service Identifier),其它的字节是和诊断服务相关的数据。在CAN网络中,报文数据部分的第一字节为协议控制信息(Protocol ControlInformation),然后才是诊断服务标识码。ISO9141、KWP2000、SAE J1850和CAN网络的服务请求报文如表2.1所示。

2.1诊断请求报文

ISO9141、KWP2000和SAE J1850网络服务请求积极应答报文如表2-2所示:

2.2 ISO9141、KWP2000和SAE J1850积极应答报文 KWP2000和CAN网络中服务请求消极应答报文如表2.3所示:

2.3服务请求消极应答报文

3.OBD-Ⅱ汽车诊断系统中的诊断模式

在协议SAE J1979中规定了九种诊断模式用以获得不同类型的诊断数据。在本节中,将以ISO9141、SAE J1850和KWP2000数据网络为例来介绍这些诊断模式,但是要说明的是,这些诊断模式在各种数据网络中都是通用的,只是根据不同的数据网络采取不同的数据组织形式。

3.1模式一:获取与排放系统相关的动态诊断数据

该模式是用来获取当前与排放相关的诊断数据的。如模拟输入和输出、数字输入和输出、系统的状态信息等。在服务请求报文中包含着一个参数标识码PID(Parameter Identification),该参数标识码向OBD系统说明了所要读取数据的类型。

ECU将向诊断设备发回相应的诊断数据。这些数据是通过实时读取传感器来得到的。在传感器发生故障的时候,不能使用默认值或者代替值。

并不是所有的车型都支持协议中规定的所有PID值。外部诊断设备可以通过SID$01来询问ECU所支持的协议,PID$00以位编码的形式表示出对PID$01-20是否支持。因此,所有的ECU都必须支持PID$00。诊断设备可以通过PID值向ECU获取各类与排放相关的数据。具体PID的定义请参照SAE J1979协议附录A和附录B。模式一中诊断设备服务请求报文如表3-1-1所示:

表3-1-1模式一服务请求报文

ECU的应答报文如表3-1-2所示:

表3-1-2模式一ECU应答报文

3.2模式二:获取与动力系统相关的冻结帧数据

该模式用来获取冻结帧中与排放相关的数据。当传感器的信号出现异常时,ECU会将故障瞬间的数据保存下来形成冻结帧。外部诊断设备通过服务请求的方式来获得ECU中这些冻结帧数据。服务请求报文中含有向ECU说明所要求的数据类型的PID。

ECU将发送一个包含了相关数据的应答报文。所有的数据都是读取实际的存储值,不能使用默认值或者替代值。

PID$02是用来获取导致冻结被保存的故障码(Diagnostic Trouble Code)。如果ECU中没有存储冻结帧,则返回$0000做为故障码,此时送回的相应数据是无效的。帧序号(Frame number)$00表示强制保存的冻结帧,汽车制造商可以根据需要附加更多的冻结帧。

模式二中诊断设备服务请求报文如表3-2-1所示:

搜索更多关于: KWP 2000与车辆故障诊断 的文档
KWP 2000与车辆故障诊断.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9ko630hi9y3sk4u08kgj_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top