Saturday, 28 July 2018 21:41

KWP2000协议分析

Written by
Rate this item
(0 votes)
在汽车故障诊断领域,针对诊断设备和汽车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物理层和数据链路层协议将逐步被淘汰。
 
 2 基于K线的KWP2000协议
基于K线的KWP2000协议标准主要包括ISO/WD 14230-1~14230-4,各部分协议与OSI模型的对应关系如表1所示。
表1 KWP2000协议与OIS模型的对应关系
 
 




OSI模型


基于K线的KWP2000


基于CAN总线的KWP2000




应用层


ISO 14230-3


ISO 15765-3




表述层


N/A


N/A




会话层


N/A


N/A




传输层


N/A


N/A




网络层


N/A


ISO 15765-2




数据链路层


ISO 14230-2


ISO 11898-1




物理层


ISO 14230-1,ISO9141-2


用户选择




ISO 14230-1规定了KWP2000协议的物理层规范(K线、L线),它在ISO 9141-2的基础上把数据交换系统扩展到了24V电压系统。ISO 14230-2规定了KWP2000的数据链路层协议,包括报文结构、初始化过程、通讯连接管理、定时参数和错误处理等内容。K线的报文包括报文头、数据域和校验和三部分,其中报文头包含格式字节、目标地址(可选)、源地址(可选)和附加长度信息(可选),如表2所示。
表2 基于K线的KWP2000报文结构[3]
 




报文头


数据域


校验和




Fmt


Tgt1)


Src1)


Len1)


SId2)


. .


Data2)


. .

 

CS




最长4 字节


最长255 字节


1字节




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



Bit
= 0
= 1


AL0
不支持格式字节中的数据长度信息
支持格式字节中的数据长度信息


AL1
不支持附加长度字节
支持附加长度字节


HB0
不支持一个字节的报文头
支持一个字节的报文头


HB1
不支持在报文头中包含目标地址/源地址
支持在报文头中包含目标地址/源地址


TP0*)
采用正常定时参数设置
采用扩展定时参数设置


TP1*)
采用扩展定时参数设置
采用正常定时参数设置



*) 只允许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服务之间的映射关系,并且为长报文的多包数据传输过程提供了同步控制、顺序控制、流控制和错误恢复功能。...

继续阅读完整内容

请查看下方广告以解锁文章剩余内容

广告加载中...
Read 75688 times Last modified on Saturday, 28 July 2018 22:16

GPS singal acquisition,replay and test equipment

Portable singal acquisition and replay

AI intelligent tongue imager

Tongue imager rafavi
 
Please support our site by viewing this advertisement.

Please support our site by viewing this advertisement

Free Content