您的位置 首页 制造

根据K线/CAN总线的KWP2000协议剖析及其协议栈的开发与测验

1前言在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,各大汽车公司几乎都制订了相关的标准和协议。其中,欧洲汽车领域广泛使

1 前语

在轿车故障确诊范畴,针对确诊设备和轿车ECU之间的数据交换,各大轿车公司简直都制订了相关的标准和协议。其间,欧洲轿车范畴广泛运用的一种车载确诊协议标准是KWP2000(Keyword Protocol 2000),该协议完结了一套完好的车载确诊服务,而且满意E-OBD(European On Board Diagnose)标准。KWP2000开端是根据K线的确诊协议,因为K线物理层和数据链路层在网络办理和通讯速率上的局限性,使得K线无法满意日趋杂乱的车载确诊网络的需求。而CAN网络(Controller Area Network)因为其非破坏性的网络裁定机制、较高的通讯速率(可达1M bps)和灵敏牢靠的通讯方法,在车载网络范畴广受喜爱,越来越多的轿车制造商把CAN总线使用于轿车操控、确诊和通讯。近年来欧洲轿车范畴广泛选用了根据CAN总线的KWP2000,即ISO 15765协议,而根据K线的KWP2000物理层和数据链路层协议将逐渐被筛选。

在网络协议开发和测验使用方面,美国MathWorks公司和德国Vector公司供给了功用强大的开发和测验东西,可别离用于协议栈源码的开发和ECU测验。

2 根据K线的KWP2000协议

根据K线的KWP2000协议标准首要包括ISO/WD 14230-1~14230-4,各部分协议与OSI模型的对应联系如表1所示。

表1 KWP2000协议与OIS模型的对应联系

ISO 14230-1规则了KWP2000协议的物理层标准(K线、L线),它在ISO 9141-2的基础上把数据交换体系扩展到了24V电压体系。ISO 14230-2规则了KWP2000的数据链路层协议,包括报文结构、初始化进程、通讯衔接办理、守时参数和过错处理等内容。K线的报文包括报文头、数据域和校验和三部分,其间报文头包括格局字节、方针地址(可选)、源地址(可选)和附加长度信息(可选),如表2所示。

表2 根据K线的KWP2000报文结构[3]

1)可选字节,取决于格局字节Fmt的A1A0位
2)服务标识符(Service ID),数据域的第1个字节
在开端确诊服务之前,确诊设备有必要对ECU进行初始化,经过ECU的呼应获取ECU的源地址、通讯波特率、支撑的报文头格局、守时参数等信息。ECU所支撑的报文头和守时参数信息包括在ECU回来的“关键字(Key Word)”中(这也是协议命名的由来)。关键字由两个字节构成,如图1所示,关键字的低字节中各位的意义如表3所示。

图1 关键字格局[3]

表3 关键字低字节中各位的意义[3]

*) 只允许TP0,TP1 = 0,1 或许1,0

确诊设备能够选用两种方法对ECU进行初始化——5Baud初始化和快速初始化,关于这两种初始化的时序在数据链路层协议[3]中均有明确规则。完结初始化进程后,确诊设备和ECU方可进行使用层的确诊服务和呼应。ISO 14230-3规则了使用层的服务标准,包括确诊办理功用组、数据传输功用组、确诊信息传输功用组、输入/输出操控功用组、长途发动ECU例程功用组、数据上载/下载功用组和扩展功用组。在确诊服务恳求/呼应进程中,确诊设备和ECU有必要遵从图2所示的时序和相关守时参数。关于初始化和确诊服务进程中呈现的各种守时过错,在数据链路层和使用层协议里边都有相应的处理标准,确诊设备及ECU的使用程序都有必要严格遵守。

图2 K线确诊服务时序图[3]

3 根据CAN总线的KWP2000协议

根据CAN总线的KWP2000协议实际上指的便是ISO/WD 15765-1~15765-4,该协议把KWP2000使用层的确诊服务移植到CAN总线上。数据链路层选用了ISO 11898-1协议,该协议是对CAN2.0B协议的进一步标准化和标准化;使用层选用了ISO 15765-3协议,该协议彻底兼容根据K线的使用层协议14230-3,并加入了CAN总线确诊功用组;网络层则选用ISO 15765-2协议,规则了网络层协议数据单元(N_PDU,如表4所示)与底层CAN数据帧、以及上层KWP2000服务之间的映射联系,而且为长报文的多包数据传输进程供给了同步操控、次序操控、流操控和过错康复功用。

表4 网络层协议数据单元(N_PDU)格局[7]

1) 地址信息:包括源地址(SA)、方针地址(TA)、方针地址格局(TA_Type)和长途地址(RA)
2) 协议操控信息:包括四种帧格局,见表5
3) 数据域:KWP2000服务标识符(Service ID) + 服务参数
使用层协议规则了四种服务数据结构,.Request、.Indication、.Response和.Confirm,别离用于确诊设备(Tester)的服务恳求、ECU的服务指示、ECU的服务呼应和Tester的服务承认。这些数据结构中包括了地址信息、服务恳求ID和服务恳求参数等内容。根据CAN总线的KWP2000确诊服务流程如图3所示。

图3 根据CAN总线的KWP2000确诊服务流程图

从上面的服务流程能够看出,根据CAN总线的KWP2000协议支撑多包数据传输,而且多包数据的办理和安排是在网络层完结的,使用层不用关怀数据的打包和解包进程。为完结这一功用,网络层界说了四种PDU(以PCI类型进行区别,如表5所示):

单帧(Single Frame,SF) - 数据域及PCI可在一个CAN数据帧中包容时,服务报文以单帧CAN报文进行发送。
榜首帧(First Frame,FF) - 数据域及PCI不能在一个CAN数据帧中包容时,服务报文以多帧CAN报文进行发送,其间榜首帧(FF)除传送数据外,还包括了多包数据的长度信息。
接连帧(Consecutive Frame,CF) - 多包数据中除榜首帧外的接连数据帧,除传送数据外,还包括了多包数据的包序号。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/231087.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部