KWP2000诊断通讯协议_总结.doc

上传人:pu****.1 文档编号:544078447 上传时间:2023-11-10 格式:DOC 页数:15 大小:412.51KB
返回 下载 相关 举报
KWP2000诊断通讯协议_总结.doc_第1页
第1页 / 共15页
KWP2000诊断通讯协议_总结.doc_第2页
第2页 / 共15页
KWP2000诊断通讯协议_总结.doc_第3页
第3页 / 共15页
KWP2000诊断通讯协议_总结.doc_第4页
第4页 / 共15页
KWP2000诊断通讯协议_总结.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《KWP2000诊断通讯协议_总结.doc》由会员分享,可在线阅读,更多相关《KWP2000诊断通讯协议_总结.doc(15页珍藏版)》请在金锄头文库上搜索。

1、基于K线的KWP2000协议标准主要包括ISO/WD 14230-114230-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线、

2、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)服务标识符(

3、Service ID),数据域的第1个字节KWP2000(Keyword Protocol 2000)是欧洲汽车领域广泛使用的一种车载诊断协议标准,该协议实现了一套完整的车载诊断服务,并且满足E-OBD(European On Board Diagnose)标准。KWP2000协议仅对其中三个子层进行了定义说明,即:应用层(第七层)、数据链路层(第二层)和物理层(第一层)。物理层:这部分描述了基于IS09141用以实现诊断服务的物理层,用于配置硬件系统,指导接口电路的设计,同时将在IS09141-2中描述的物理层扩展成可以满足提供12V或24V电压的车辆的条款。数据链路层:这部分定义了数据的传

4、送格式,描述了诊断服务的通用要求,允许1个诊断仪控制在1个随车ECU(例如电子燃油喷射、自动变速箱及防抱死系统等)中的诊断功能。这些随车ECU嵌于车辆中,通过串行数据链路相连接。应用层:这部分包含如下规范:服务标识符的字节编码及其十六进制数值;诊断服务请求与响应参数的字节编码;标准参数的十六进制数值。根据IS014230的规定,KWP2000通信消息基本格式如图1所示。一条消息结构包括头部(header)、数据字节(data-byte)、校验和(checksum)等三部分。图1 KWP2000的报文格式 Fmt格式字节(Format byte)Tgt目标地址字节(Target address

5、byte)Src源地址字节(Source address byte)Len长度字节(Length byte)Sid服务标志符字节(Sevice Identification byte),分请求服务和响应服务两类CS校验和字节(Checksum byte)上标1表示可选,由格式字节(Fmt)决定上标2表明服务标识(Sid)是数据段的一部分(Data)在 开始诊断服务之前,诊断设备必须对ECU(发动机engine control unit)进行初始化,通过ECU的响应获取ECU的源地址、通讯波特率、支持的报文格式、定时参数等信息。ECU所支持的 报文和定时参数信息包含在ECU返回的“关键字(Key

6、 Word)”中(这也是协议命名的由来)。关键字由两个字节构成,如图2所示,关键字的低字节中各位的含义如表1所示。图2 关键字格式 表1 关键字低字节中各位的含义 测试器(诊断设备)可以采用两种方式对ECU进行初始化,即5Baud初始化和快速初始化。对于这两种初始化的时序在数据链路层协议中均有明确规定。完成初始化过程后,测试器和ECU方可进行应用层的诊断服务和响应。IS014230-3规定了应用层的服务规范,包括诊断管理功能组、数据传输功能组、诊断信息传输功能组、输人输出控制功能组、远程启动ECU例程功能组、数据上载下载功能组和扩展功能组。KWP2000 最初是基于K线的诊断协议。由于K线物理

7、层和数据链路层在网络管理和通讯速率上的局限性,使得K线无法满足日趋复杂的车载诊断网络的需求。而 CAN(Controller Area Network)网络由于其非破坏性的网络仲裁机制、较高的通讯速率(可达1Mbps)和灵活可靠的通讯方式,在车载网络领域广受青睐。因此,近年来欧洲 汽车领域广泛采用了基于CAN总线的KWP2000,即ISO15765协议,而基于K线的KWP2000物理层和数据链路层协议将逐步被淘汰。KWP2000协议分析和基于CANoe的开发测试摘 要:本文介绍了欧洲汽车领域广泛采用的车载诊断协议KWP2000,针对KWP2000诊断服务在K线(ISO 14230)和CAN总线

8、(ISO 15765)上的两种实现方式,对协议的核心内容和发展历史进行了较为深入的剖析和对比。本文还介绍了采用Matlab/Simulink /StateFlow进行协议开发的一般流程,以及该协议在Vector公司的CANoe软硬件平台上的应用实现和开过程。关键词:KWP2000,K线,CAN总线,开发,CANoe1 前言在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,各大汽车公司几乎都制订了相关的标准和协议。其中,欧洲 汽车领域广泛使用的一种车载诊断协议标准是KWP2000(Keyword Protocol 2000),该协议实现了一套完整的车载诊断服务,并且满足E-OBD(Eu

9、ropean On Board Diagnose)标准。KWP2000最初是基于K线的诊断协议,由于K线物理层和数据链路层在网络管理和通讯速率上的局限性,使得K线无法满足日趋复 杂的车载诊断网络的需求。而CAN网络(Controller Area Network)由于其非破坏性的网络仲裁机制、较高的通讯速率(可达1M bps)和灵活可靠的通讯方式,在车载网络领域广受青睐,越来越多的汽车制造商把CAN总线应用于汽车控制、诊断和通讯。近年来欧洲汽车领域广泛采用了基 于CAN总线的KWP2000,即ISO 15765协议,而基于K线的KWP2000物理层和数据链路层协议将逐步被淘汰。在网络协议开发和

10、测试应用方面,美国MathWorks公司和德国Vector公司提供了功能强大的开发和测试工具,可分别用于协议栈源码的开发和ECU测试。2 基于K线的KWP2000协议基于K线的KWP2000协议标准主要包括ISO/WD 14230-114230-4,各部分协议与OSI模型的对应关系如表1所示。表1 KWP2000协议与OIS模型的对应关系OSI模型基于K线的KWP2000基于CAN总线的KWP2000应用层ISO 14230-3ISO 15765-3表述层N/AN/A会话层N/AN/A传输层N/AN/A网络层N/AISO 15765-2数据链路层ISO 14230-2ISO 11898-1物理

11、层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报文头数据域校验和FmtTgt1)Src1)Len1)SId2). .Data2). .CS最长4

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

13、长度字节支持附加长度字节HB0不支持一个字节的报文头支持一个字节的报文头HB1不支持在报文头中包含目标地址/源地址支持在报文头中包含目标地址/源地址TP0*)采用正常定时参数设置采用扩展定时参数设置TP1*)采用扩展定时参数设置采用正常定时参数设置 *) 只允许TP0,TP1 = 0,1 或者1,0诊断设备可以采用两种方式对ECU进行初始化5Baud初始化和快速初始化,对于这两种初始化的时序在数据链路层协议3中均有明确规定。完 成初始化过程后,诊断设备和ECU方可进行应用层的诊断服务和响应。ISO 14230-3规定了应用层的服务规范,包括诊断管理功能组、数据传输功能组、诊断信息传输功能组、输

14、入/输出控制功能组、远程启动ECU例程功能组、数 据上载/下载功能组和扩展功能组。在诊断服务请求/响应过程中,诊断设备和ECU必须遵循图2所示的时序和相关定时参数。对于初始化和诊断服务过程中出现 的各种定时错误,在数据链路层和应用层协议里面都有相应的处理规范,诊断设备及ECU的应用程序都必须严格遵守。图2 K线诊断服务时序图33 基于CAN总线的KWP2000协议基于CAN总线的KWP2000协议实际上指的就是ISO/WD 15765-115765-4,该协议把KWP2000应用层的诊断服务移植到CAN总线上。数据链路层采用了ISO 11898-1协议,该协议是对CAN2.0B协议的进一步标准

15、化和规范化;应用层采用了ISO 15765-3协议,该协议完全兼容基于K线的应用层协议14230-3,并加入了CAN总线诊断功能组;网络层则采用ISO 15765-2协议,规定了网络层协议数据单元(N_PDU,如表4所示)与底层CAN数据帧、以及上层KWP2000服务之间的映射关系,并且为长报文 的多包数据传输过程提供了同步控制、顺序控制、流控制和错误恢复功能。表4 网络层协议数据单元(N_PDU)格式7地址信息协议控制信息数据域N_AI1)N_PCI2)N_Data3)1) 地址信息:包含源地址(SA)、目标地址(TA)、目标地址格式(TA_Type)和远程地址(RA)2) 协议控制信息:包含四种帧格式,见表53) 数据域:KWP2000服务标识符(Service ID) + 服务参数 应用层协议规定了四种服务数据结 构,.Request、.Indication、.Response 和Ser

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号