




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Evaluation Warning: The document was created with Spire.Doc for .NET.基于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 118
2、98-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)
3、. . Data2) . . CS 最长4 字节 最长255 字节 1字节 1)可选字节,取决于格式字节Fmt的A1A0位2)服务标识符(Service ID),数据域的第1个字节KWP2000(Keyword Protocol 2000)是欧洲汽车领域广泛使用的一种车载诊断协议标准,该协议实现了一套完整的车载诊断服务,并且满足E-OBD(European On Board Diagnose)标准。KWP2000协议仅对其中三个子层进行了定义说明,即:应用层(第七层)、数据链路层(第二层)和物理层(第一层)。物理层:这部分描述了基于IS09141用以实现诊断服务的物理层,用于配置硬件系统,指导
4、接口电路的设计,同时将在IS09141-2中描述的物理层扩展成可以满足提供12V或24V电压的车辆的条款。数据链路层:这部分定义了数据的传送格式,描述了诊断服务的通用要求,允许1个诊断仪控制在1个随车ECU(例如电子燃油喷射、自动变速箱及防抱死系统等)中的诊断功能。这些随车ECU嵌于车辆中,通过串行数据链路相连接。应用层:这部分包含如下规范:服务标识符的字节编码及其十六进制数值;诊断服务请求与响应参数的字节编码;标准参数的十六进制数值。根据IS014230的规定,KWP2000通信消息基本格式如图1所示。一条消息结构包括头部(header)、数据字节(data-byte)、校验和(checks
5、um)等三部分。图1 KWP2000的报文格式 Fmt格式字节(Format byte)Tgt目标地址字节(Target address 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
6、的响应获取ECU的源地址、通讯波特率、支持的报文格式、定时参数等信息。ECU所支持的 报文和定时参数信息包含在ECU返回的“关键字(Key Word)”中(这也是协议命名的由来)。关键字由两个字节构成,如图2所示,关键字的低字节中各位的含义如表1所示。图2 关键字格式 表1 关键字低字节中各位的含义 测试器(诊断设备)可以采用两种方式对ECU进行初始化,即5Baud初始化和快速初始化。对于这两种初始化的时序在数据链路层协议中均有明确规定。完成初始化过程后,测试器和ECU方可进行应用层的诊断服务和响应。IS014230-3规定了应用层的服务规范,包括诊断管理功能组、数据传输功能组、诊断信息传输功
7、能组、输人输出控制功能组、远程启动ECU例程功能组、数据上载下载功能组和扩展功能组。KWP2000 最初是基于K线的诊断协议。由于K线物理层和数据链路层在网络管理和通讯速率上的局限性,使得K线无法满足日趋复杂的车载诊断网络的需求。而 CAN(Controller Area Network)网络由于其非破坏性的网络仲裁机制、较高的通讯速率(可达1Mbps)和灵活可靠的通讯方式,在车载网络领域广受青睐。因此,近年来欧洲 汽车领域广泛采用了基于CAN总线的KWP2000,即ISO15765协议,而基于K线的KWP2000物理层和数据链路层协议将逐步被淘汰。KWP20000协协议分析析和基于于CANN
8、oe的的开发测测试摘 要:本本文介绍绍了欧洲洲汽车领领域广泛泛采用的的车载诊诊断协议议KWPP20000,针针对KWWP20000诊诊断服务务在K线线(ISSO 1142330)和和CANN总线(IISO 157765)上上的两种种实现方方式,对对协议的的核心内内容和发发展历史史进行了了较为深深入的剖剖析和对对比。本本文还介介绍了采采用Maatlaab/SSimuulinnk /StaateFFloww进行协协议开发发的一般般流程,以以及该协协议在VVecttor公公司的CCANooe软硬硬件平台台上的应应用实现现和开过过程。关关键词:KWPP20000,KK线,CCAN总总线,开开发,CCA
9、Nooe1 前言在汽车故障障诊断领领域,针针对诊断断设备和和汽车EECU之之间的数数据交换换,各大大汽车公公司几乎乎都制订订了相关关的标准准和协议议。其中中,欧洲洲 汽车车领域广广泛使用用的一种种车载诊诊断协议议标准是是KWPP20000(KKeywwordd Prrotoocoll 20000),该该协议实实现了一一套完整整的车载载诊断服服务,并并且满足足E-OOBD(EEuroopeaan OOn BBoarrd DDiaggnosse)标标准。KKWP220000最初是是基于KK线的诊诊断协议议,由于于K线物物理层和和数据链链路层在在网络管管理和通通讯速率率上的局局限性,使使得K线线无法
10、满满足日趋趋复 杂杂的车载载诊断网网络的需需求。而而CANN网络(CConttrolllerr Arrea Nettworrk)由由于其非非破坏性性的网络络仲裁机机制、较较高的通通讯速率率(可达达1M bpss)和灵灵活可靠靠的通讯讯方式,在在车载网网络领域域广受青青睐,越越来越多多的汽车车制造商商把CAAN总线线应用于于汽车控控制、诊诊断和通通讯。近近年来欧欧洲汽车车领域广广泛采用用了基 于CAAN总线线的KWWP20000,即即ISOO 1557655协议,而而基于KK线的KKWP220000物理层层和数据据链路层层协议将将逐步被被淘汰。在网络协议议开发和和测试应应用方面面,美国国Matt
11、hWoorkss公司和和德国VVecttor公公司提供供了功能能强大的的开发和和测试工工具,可可分别用用于协议议栈源码码的开发发和ECCU测试试。2 基于KK线的KKWP220000协议基于K线的的KWPP20000协议议标准主主要包括括ISOO/WDD 1442300-1142230-4,各各部分协协议与OOSI模模型的对对应关系系如表11所示。表1 KWWP20000协协议与OOIS模模型的对对应关系系OSI模型型基于K线的的KWPP20000基于CANN总线的的KWPP20000应用层ISO 1142330-33ISO 1157665-33表述层N/AN/A会话层N/AN/A传输层N/A
12、N/A网络层N/AISO 1157665-22数据链路层层ISO 1142330-22ISO 1118998-11物理层ISO 1142330-11,ISSO91141-2用户选择 ISO 1142330-11规定了了KWPP20000协议议的物理理层规范范(K线线、L线线),它它在ISSO 991411-2的的基础上上把数据据交换系系统扩展展到了224V电电压系统统。ISSO 1142330-22规定了了KWPP20000的数数据链路路层协议议,包括括报文结结构、初初始化过过程、通通讯连接接管理、定定时参数数和错误误处理等等内容。KK线的报报文包括括报文头头、数据据 域和和校验和和三部分分,
13、其中中报文头头包含格格式字节节、目标标地址(可可选)、源源地址(可可选)和和附加长长度信息息(可选选),如如表2所所示。表2 基于于K线的的KWPP20000报文文结构3报文头数据域校验和FmtTgt1)Src1)Len1)SId2). .Data22). .CS最长4 字字节最长2555 字节节1字节1)可选字字节,取取决于格格式字节节Fmtt的A11A0位位2)服服务标识识符(SServvicee IDD),数数据域的的第1个个字节 在开始诊断断服务之之前,诊诊断设备备必须对对ECUU进行初初始化,通通过ECCU的响响应获取取ECUU的源地地址、通通讯波特特率、支支持的报报文头格格式、定定
14、时参数数等信息息。 EECU所所支持的的报文头头和定时时参数信信息包含含在ECCU返回回的“关关键字(KKey Worrd)”中中(这也也是协议议命名的的由来)。关关键字由由两个字字节构成成,如图图1所示示,关键键字的低低字节中中各位的的含义如如表3所所示。图1 关键键字格式式3表3 关键键字低字字节中各各位的含含义33Bit= 0= 1AL0不支持格式式字节中中的数据据长度信信息支持格式字字节中的的数据长长度信息息AL1不支持附加加长度字字节支持附加长长度字节节HB0不支持一个个字节的的报文头头支持一个字字节的报报文头HB1不支持在报报文头中中包含目目标地址址/源地地址支持在报文文头中包包含
15、目标标地址/源地址址TP0*)采用正常定定时参数数设置采用扩展定定时参数数设置TP1*)采用扩展定定时参数数设置采用正常定定时参数数设置 *) 只允允许TPP0,TTP1 = 00,1 或者11,0诊断设备可可以采用用两种方方式对EECU进进行初始始化5Baaud初初始化和和快速初初始化,对对于这两两种初始始化的时时序在数数据链路路层协议议3中均有有明确规规定。完完 成初初始化过过程后,诊诊断设备备和ECCU方可可进行应应用层的的诊断服服务和响响应。IISO 142230-3规定定了应用用层的服服务规范范,包括括诊断管管理功能能组、数数据传输输功能组组、诊断断信息传传输功能能组、输输入/输输出
16、控制制功能组组、远程程启动EECU例例程功能能组、数数 据上上载/下下载功能能组和扩扩展功能能组。在在诊断服服务请求求/响应应过程中中,诊断断设备和和ECUU必须遵遵循图22所示的的时序和和相关定定时参数数。对于于初始化化和诊断断服务过过程中出出现 的的各种定定时错误误,在数数据链路路层和应应用层协协议里面面都有相相应的处处理规范范,诊断断设备及及ECUU的应用用程序都都必须严严格遵守守。图2 K线线诊断服服务时序序图333 基于CCAN总总线的KKWP220000协议基于CANN总线的的KWPP20000协议议实际上上指的就就是ISSO/WWD 1157665-111557655-4,该该协
17、议把把KWPP20000应用用层的诊诊断服务务移植到到CANN总线上上。数据据链路层层采用了了ISOO 1118988-1协协议,该该协议是是对CAAN2.0B协协议的进进一步标标准化和和规范化化;应用用层采用用了ISSO 1157665-33协议,该该协议完完全兼容容基于KK线的应应用层协协议1442300-3,并并加入了了CANN总线诊诊断功能能组;网网络层则则采用IISO 157765-2协议议,规定定了网络络层协议议数据单单元(NN_PDDU,如如表4所所示)与与底层CCAN数数据帧、以以及上层层KWPP20000服务务之间的的映射关关系,并并且为长长报文 的多包包数据传传输过程程提供
18、了了同步控控制、顺顺序控制制、流控控制和错错误恢复复功能。表4 网络络层协议议数据单单元(NN_PDDU)格格式77地址信息协议控制信信息数据域N_AI11)N_PCII2)N_Datta3)1) 地址址信息:包含源源地址(SSA)、目目标地址址(TAA)、目目标地址址格式(TTA_TTypee)和远远程地址址(RAA)2) 协议议控制信信息:包包含四种种帧格式式,见表表53) 数据据域:KKWP220000服务标标识符(SServvicee IDD) + 服务务参数 应用层协议议规定了了四种服服务数据据结 构构,.Reequeest、.IIndiicattionn、.Reespoonsee
19、和.CConffirmm,分别别用于诊诊断设备备(Teesteer)的的服务请请求、EECU的的服务指指示、EECU的的服务响响应和 Tessterr的服务务确认。这这些数据据结构中中包含了了地址信信息、服服务请求求ID和和服务请请求参数数等内容容。基于于CANN总线的的KWPP20000诊断断服务流流程如图图3所示示。图3 基于于CANN总线的的KWPP20000诊断断服务流流程图从上面的服服务流程程可以看看出,基基于CAAN总线线的KWWP20000协协议支持持多包数数据传输输,并且且多包数数据的管管理和组组织是在在网络层层完成的的,应用用层不必必关心数数据的打打包和解解包过程程。为实实现
20、这一一功能,网网络层定定义了四四种PDDU(以以PCII类型进进行区分分,如表表5所示示):单单帧(SSinggle Fraame,SSF) 数数据域及及PCII可在一一个CAAN数据据帧中容容纳时,服服务报文文以单帧帧CANN报文进进行发送送。第一一帧(FFirsst FFramme,FFF) 数数据域及及PCII不能在在一个CCAN数数据帧中中容纳时时,服务务报文以以多帧CCAN报报文进行行发送,其其中第一一帧(FFF)除除传送数数据外,还还包含了了多包数数据的长长度信息息。连续续帧(CConssecuutivve FFramme,CCF) 多多包数据据中除第第一帧外外的连续续数据帧帧,除
21、传传送数据据外,还还包含了了多包数数据的包包序号。流控制帧(Flow Control,FC) 用于多包数据传输过程中的流控制,不包含数据,只包含流控制状态、数据块大小和最小间隔时间等流控制信息。表5 1557655协议网网络层四四种PDDU对应应的PCCI格式式7N_PDUU 名称称Byte #1Byte #2Byte #3Bit # 7-4Bit # 3-0N/AN/A单帧(SFF)N_PCIItyppe=00SF_DLL1)N/AN/A第一帧(FFF)N_PCIItyppe=11FF_DLL2)N/A连续帧(CCF)N_PCIItyppe=22SN3)N/AN/A流控制帧(FFC)N_PC
22、IItyppe=33FS4)BS5)STminn6)1) 单帧帧数据中中数据域域的字节节长度,PPCI的的长度不不包括在在内。22) 多多包数据据的数据据域字节节总长度度。3) 多包包数据的的数据包包编号。4) 流控制状态信息。5) 数据块大小。6) 多包数据传输的最小时间间隔。 多包数据的的传输流流程如图图4所示示。发送送节点首首先发送送“第一一帧”,告告知接收收节点将将要发送送的数据据的总长长度;接接收节点点分配好好资源、准准备接收收数据,然然后以一一帧 “流流控制帧帧”告知知发送节节点一次次可以发发送的数数据包数数目和时时间间隔隔;发送送节点接接下来就就根据接接收节点点的接收收能力将将编
23、好序序号的数数据包依依次发送送过去。图4 多包包数据传传输流程程图在数据传送送过程中中,一个个网络层层PDUU被编排排成一个个CANN数据帧帧,它们们之间的的对应关关系由寻寻址模式式(Adddreessiing modde)决决定。基基于ISSO 1157665协议议规定了了四种寻寻址模式式:正常常寻址模模式(NNormmal)、正正常固定定寻址模模式(NNormmal fixxed)、扩扩展寻址址模式(EExteendeed)和和用于远远程诊断断的混合合寻址模模式(MMixeed)。其其中,正正常固定定寻址模模式必须须采用CCAN扩扩展帧,并并且SAAE JJ19339为该该寻址模模式下的的
24、KWPP20000诊断断服务保保留了两两个专用用参数组组编号(PPGN):其中PPF=2218(PPF的具具体定义义请参考考SAEE J119399数据链链路层协协议)的的参数组组用于物物理寻址址(phhy),PPF=2219的的参数组组用于功功能寻址址(fccn)。正正常固定定寻址模模式的PPDU与与CANN数据帧帧之间 的对应应关系如如表6所所示。表6 正常常固定寻寻址模式式下N_PDUU与CAAN数据据帧之间间的对应应关系7N_PDUU类型CAN 229位标标识符CAN数据据域282662524231661587012345678单帧(SFF)011(bbin)00218(ddec)-p
25、hhy2119(ddec)-fccnN_TAN_SAN_PCIIN_Datta第一帧(FFF)011(bbin)00218(ddec)-phhy2119(ddec)-fccnN_TAN_SAN_PCIIN_Datta连续帧(CCF)011(bbin)00218(ddec)-phhy2119(ddec)-fccnN_TAN_SAN_PCIIN_Datta流控制(FFC)011(bbin)00218(ddec)-phhy2119(ddec)-fccnN_TAN_SAN_PCIIN/A 混合寻址模模式与正正常固定定寻址模模式类似似,唯一一的区别别是CAAN数据据域的第第一个字字节用于于填充远远程地址
26、址(RAA),NN_PCCI和诊诊 断服服务数据据的填充充位置向向后移动动一个字字节。混混合寻址址模式用用于跨越越网段进进行远程程诊断,远远程诊断断的机制制如图55所示。图图中CAAN1和和CANN2两个个不同的的子网通通过网 桥相连连,网桥桥在子网网1中的的源地址址为2000,在在子网22中的源源地址为为10,位位于子网网1中的的诊断设设备(源源地址为为2411)可通通过网桥桥对子网网2中的的ECUU(源地地址为 62)进进行诊断断。图5 跨越越网段的的远程诊诊断4 两种协协议的简简单比较较从前面基于于K线和和基于CCAN总总线的KKWP220000协议可可以看出出,两种种协议在在物理层层、
27、数据据链路层层及网络络层(1157665)上上存在以以下主要要差别,这这也是KK线被CCAN总总线取而而代之的的主要原原因所在在:K线通讯速速率较低低,最大大波特率率仅为1104000bpps;CCAN总总线通讯讯速率较较高,最最大波特特率可达达1Mbbps。K线采用单单端信号号传输,抗抗干扰能能力较弱弱,可靠靠性较差差;CAAN总线线采用差差分信号号传输,抗抗干扰能能力强,信信号传输输的可靠靠性高。K线诊断在在启动应应用层诊诊断服务务之前必必须对EECU进进行初始始化建立立连接,并并且初始始化过程程比较复复杂;而而基于CCAN总总线的诊诊断设备备不需要要对ECCU进行行初始化化即可进进行诊断
28、断服务。K线诊断应应用程序序开发者者必须亲亲自管理理数据传传输过程程中的字字节间定定时,并并处 理理底层通通讯错误误;CAAN数据据帧以整整帧报文文的形式式进行发发送,应应用程序序开发者者不必管管理字节节间定时时,并且且CANN总线物物理层和和数据链链路层具具备完善善的错误误检测和和错误 恢复机机制,应应用程序序不必监监视和处处理底层层通讯错错误。K线网络结结构单一一,网络络管理功功能很弱弱;而利利用CAAN总线线可构建建复杂的的网络结结构,可可跨越网网段进行行远程诊诊断。K线网络采采用破坏坏性的仲仲裁机制制,当诊诊断设备备采用功功能寻址址与多个个ECUU进 行行通讯时时,为避避免总线线冲突,
29、EECU开开发者必必须采取取措施保保证多个个ECUU顺序访访问总线线;而CCAN网网络采用用非破坏坏性的仲仲裁机制制,并且且仲裁过过程由数数据链路路层完成成, 当当诊断设设备采用用功能寻寻址与多多个ECCU进行行通讯时时,ECCU开发发者不必必考虑总总线访问问冲突问问题。K线服务报报文最大大字节长长度仅为为2555,无法法满足更更长报文文的传输输要求,并并 且在在长报文文的传输输过程中中用户必必须自己己采取措措施进行行连接管管理,可可靠性和和兼容性性较差;而CAAN总线线诊断服服务报文文最大字字节长度度可达440966(122位),对对于长报报 文的的传输,网网络层协协议还具具备标准准化和规规
30、范化的的同步控控制、顺顺序控制制、流控控制和错错误恢复复等功能能,具备备很高的的可靠性性、兼容容性。5 KWPP20000协议议栈的开开发及测测试从前面的协协议分析析可以看看出,无无论是基基于K线线还是CCAN总总线的KKWP220000协议,都都是逻辑辑非常复复杂的系系 统,并并且具有有严格的的定时和和错误处处理规范范。如果果采用纯纯手工的的方式来来进行KKWP220000协议栈栈的开发发,不仅仅要耗费费大量的的时间和和人力,其其通用性性、完备备性、可可靠性 和可维维护性都都很难保保证。而而MATTLABB/Siimullinkk/SttateeFloow不仅仅具备方方便快捷捷的上层层实时仿
31、仿真环境境,还集集成了高高效的嵌嵌入式代代码自动动生成工工 具,为为协议栈栈的开发发和维护护提供了了强大的的支持平平台。此此外,由由德国VVecttor公公司的CCANooe软件件和相关关硬件板板卡组成成的应用用开发平平台,可可用于汽汽车网络络 (CCAN,LLin等等)的上上层协议议开发和和系统测测试,该该平台同同时支持持基于KK线和CCAN总总线的KKWP220000诊断协协议,可可作为EECU和和诊断设设备的测测试标准准。图6是协议议源码开开发过程程示意图图。首先先在MAATLAAB/SSimuulinnk/SStatteFllow中中遵照协协议 标标准进行行KWPP20000协议议栈开
32、发发,在仿仿真调试试环境下下实现通通讯逻辑辑、定时时控制和和错误处处理,待待系统完完善后利利用SttateeFloow嵌入入式代码码生成工工具自动动生成 协议栈栈C代码码,并与与目标系系统的底底层驱动动进行集集成,然然后植入入目标系系统形成成应用程程序,最最后再利利用CAANoee作为标标准进行行系统集集成测试试。图6 KWWP20000协协议栈开开发及测测试流程程在MATLLAB/Simmuliink/StaateFFloww中进行行协议栈栈仿真开开发是协协议栈开开发过程程中的关关键 环环节,在在这一过过程中必必须严格格遵照协协议标准准来实现现通讯逻逻辑,往往往需要要经过多多次“设设计仿仿真
33、修修改”循循环才能能使系统统最终趋趋于完善善。MAATLAAB的图图形界面面提供 了方便便快捷的的仿真输输入/输输出接口口,可大大幅度加加快开发发进度。协议栈开发发完成后后可利用用CANNoe作作为标准准进行系系统集成成测试,CCANooe的KKWP220000协议测测试环境境如图77所示。图7 CAANoee的KWWP20000测测试环境境示意图图CANoee中的KKWP220000实际指指的是基基于CAAN总线线的KWWP20000, 即1557655协议。由由于CAANoee默认的的硬件板板卡是CCAN卡卡,因此此在建立立仿真程程序时,只只需将EECU的的网络模模块设置置为kwwp200
34、00.dlll即可进进行CAAN 总总线的KKWP220000服务测测试。kkwp220000.dlll中包包含1557655应用层层协议中中规定的的服务请请求、服服务指示示、服务务响应和和服务确确认接口口函数,用用户调用用这 些些函数即即可完成成Tessterr端和EECU端端的KWWP20000诊诊断服务务。此外外,该模模块中的的功能函函数还可可对ECCU的源源地址、目目标地址址、寻址址模式等等参数进进行动态态设 置置。需要要注意的的是,kkwp220000.dlll目前前只提供供了部分分KWPP20000服务务的接口口函数,如如果用户户需要进进行其它它的KWWP20000服服务测试试,必
35、须须根据 KWPP20000应用用层协议议构造服服务报文文数据,然然后调用用该模块块中的KKWP_DattaReeq()和和KWPP_GeetRxxDatta()函函数进行行报文的的发送和和接收。进行基于KK线的KKWP220000服务测测试时,需需要将KKLinneCPPL.ddll模模块加入入CANNoe仿仿真环境境,并使使用一个个代理节节点来实实现CAAN网络络和K线线之间的的报文转转发。此此时CAANoee使用计计算机的的串口,并并通过一一个串口口/K线线转换器器与实际际的ECCU相连连,如图图8所示示。图8 CAANoee中基于于K线的的KWPP20000测试试连接示示意图6 结束语
36、语KWPP20000是一一套非常常完善的的车载故故障诊断断协议标标准,协协议的分分层结 构使得得KWPP20000诊断断服务并并不依赖赖于某种种特定的的网络介介质,其其应用层层可以移移植到任任何一种种物理层层和数据据链路层层协议之之上。基基于CAAN总线线的KWWP20000顺顺 应了了目前车车载网络络发展的的大趋势势,将逐逐步取代代K线诊诊断协议议,成为为下一代代车载诊诊断协议议的主流流之一。MATLAAB/SSimuulinnk/SStattefllow为为协议栈栈开发提提供了方方便直观观的图形形用户接接口和功功能 强强大的仿仿真调试试环境及及代码生生成工具具,为嵌嵌入式开开发开辟辟了一条
37、条高效快快捷之路路。Veectoor公司司的CAANoee和相关关硬件板板卡是一一个功能能强大的的应用开开发平台台,可 针对基基于K线线和CAAN总线线的KWWP20000进进行ECCU和诊诊断设备备的上层层协议开开发、测测试及仿仿真。摘 要:结合国国外汽车车厂商广广泛采用用的车载载诊断协协议KWWP 220000,对LLIN总总线下的的ECUU在线编编程进行行研究和和方法设设计,并并对具体体的硬件件设计与与软件实实现进行行了分析析与阐述述。 关关键词:KWPP20000;EECU在在线编程程;LIIN总线线;MCC9S008AWW60 HYPERLINK 1. 引言言在汽车故障障诊断领领域,
38、针针对诊断断设备和和汽车EECU之之间的数数据交换换,各大大汽车公公司几乎乎都制订订了相关关的标准准和协议议。其中中,国外外 汽车车厂商,包包括大众众、通用用、奔驰驰、戴姆姆勒-克克莱斯勒勒、JEEEP、三三菱、道道奇等广广泛使用用的一种种车载诊诊断协议议标准是是KWPP20000(KKey Worrd PProttocool 220000)。该该协议实实现了较较为完整整的车载载诊断服服务,并并且满足足OBDDII诊诊断要求求。LIN总线线(Loocall Innterrconnnecctioon NNetwworkk)是一一种单线线车载网网络,采采用类似似于标准准串口的的通讯格格式,由由于其
39、协协议简单单,通信信可靠性性好,实实现成本本低,近近年来得得到了迅迅速的发发展。2基于KKWP220000的ECCU在线线编程研研究ECU的在在线编程程指ECCU处于于工作状状态时通通过网络络通信更更新其中中的应用用程序,从从而实现现改善控控制器性性能、提提高安全全性、改改善排放放、改善善燃油经经济性、提提高用户户满意度度等目的的,在设设计和试试制阶段段,该功功能的实实现为程程序的更更新提供供极大的的方便。与传统的一一对一的的在线编编程方式式不同,由由于KWWP20000在在网络上上传输,必必须考虑虑其它控控制器的的反应,必必须对目目标控制制器作出出正确的的识别,必必须保证证数据传传输的完完整
40、性等等等。基基于KWWP20000协协议ECCU在线线编程包包括以下下步骤:1) 切换换到扩展展诊断状状态:该该步骤用用于将控控制器切切换到一一个特别别的诊断断状态,使使得系统统可以响响应扩展展诊断命命令。2) 识别别ECUU:该步步骤用于于上位机机识别特特定ECCU及相相应软硬硬件和数数据的版版本信息息,上位位机由此此可决定定能否执执行FLLASHH在线编编程。3) 关闭闭网络上上所有控控制器的的故障码码识别和和存储功功能:该该步骤禁禁止控制制器在接接下来的的编程期期间检测测和记录录故障。4) 关闭闭常规信信息传递递:该步步骤禁止止所有控控制器的的常规信信息传送送,使网网络上只只有诊断断和网
41、络络管理消消息收发发,为在在线编程程让出足足够的总总线带宽宽。5) 启动动在线编编程模式式:将控控制器切切换到代代码保护护区运行行Boootlooadeer程序序,该模模式关闭闭了中断断,因此此具有较较快的响响应速度度。 HYPERLINK 6) 开启启安全限限制:允允许在线线编程过过程中的的安全功功能,开开启这些些安全功功能后使使得ECCU可以以执行特特定的过过程。7) 下载载软件锁锁:上位位机将关关键代码码下载到到ECUU,执行行这些代代码可完完成FLLASHH的擦除除和重写写。8) 擦除除FLAASH:ECUU执行上上一步骤骤收到的的关键代代码,擦擦除完成成后,EECU将将清除该该段关键
42、键代码。9) 下载载数据:该过程程下载新新的程序序到ECCU的FFLASSH。 HYPERLINK 10) 校校验数据据:在此此过程中中ECUU检查下下载的数数据,如如果判断断为正确确,则在在FLAASH中中写入识识别码和和代码校校验数据据。11) 复复位ECCU:EECU执执行复位位,恢复复到正常常工作状状态。12) 开开启常规规信息传传递:重重新开启启网络上上其它控控制器上上的常规规信息传传递。13) 开开启故障障码识别别和存储储功能:重新开开启网络络上其它它控制器器的故障障码识别别和存储储功能。3基于KKWP220000的ECCU在线线编程设设计与实实现3.1硬件件设计系统CPUU采用F
43、Freeescaale公公司的MMC9SS08AAW600,该芯芯片内部部集成了了标准串串口控制制器,LLIN总总线驱动动器采用用了PHHILIIPS公公司的TTJA110200,驱动动部分电电路如图图1,由由硬件部部分实现现了通信信协议的的物理层层和数据据链路层层。图1. LLIN总总线驱动动部分电电路图3.2软件件设计与与实现3.2.11 内存地地址分配配MC9S008AWW60的的存储空空间分配配如图22:图2. 存存储空间间分配示示意图以下代码实实现了上上述的芯芯片配置置。/*设代码码保护区区为 00 xfcc000 xffffff */constt voolattilee NVVPR
44、OOTSTTR _NVPPROTT0 xx00000fffbd = 0 xffa;/*关闭芯芯片后门门锁,打打开中断断向量表表重映射射,新的的中断向向量表地地址为00 xfbbc00 xffbfff */constt voolattilee NVVOPTTSTRR _NNVOPPT00 x00000fffbff = 0 xx3e; HYPERLINK 3.2.22 软件实实现ECU程序序的状态态切换流流程图如如图3:图3. 程程序状态态切换流流程图说明:1)根据上上位机的的KWPP20000指令令,程序序在以下下5种工工作状态态中切换换,如表表1:表1 程程序工作作状态表表2)通信中中用到以以
45、下KWWP20000命命令,如如表2:命令对应代码切换到扩展展诊断过过程命令令10 922查询目标EECU识识别码命命令查询ECUU IDD1a 877查询应用代代码IDD1a 9cc查询Boootlooadeer程序序ID1a 9ee查询数据区区ID1a 9dd禁止故障码码记录命命令85 022 fff 000 011 011禁止常规通通信数据据收发命命令28 022开启安全限限制命令令请求密码种种子27 055回复安全密密码27 066切换到编程程模式命命令10 855数据传送命命令请求下载数数据34 xxx数据传送36 xxx请求结束下下载37 xxx 数据校验31 e11 011开启常
46、规通通信数据据收发命命令29 022开启故障码码记录命命令85 022 fff 000 022复位命令11 011表2: 命命令说明明表3)由于芯芯片结构构的原因因,程序序在写fflassh时必必须跳到到RAMM中执行行,以下下代码定定义了用用于存储储关键代代码的RRAM空空间和指指向该空空间的函函数CrritiicallProocesss()。volattilee unnsiggnedd chhar criiticcalPProccesss1000; /* 定定义RAAM空间间用于存存储关键键代码 */#defiine CriiticcalPProccesss (voiid(*)(vvoidd)( crritiicallProocesss) /*定义函函数指向向RAMM*/在线编程过过程中程程序将接接收到的的目标代代码放入入RAMM中,接接收完成成后调用用CriiticcalPProccesss()来来实现FFLASSH擦除除和重写写。4)由于应应用代码码的起始始地址是是0 x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南京航空航天大学《美容外科学》2023-2024学年第一学期期末试卷
- 天津市静海区2024-2025学年高三生物试题(新课标)第二轮复习测试卷含解析
- 广东生态工程职业学院《大众文化和当代影视》2023-2024学年第二学期期末试卷
- 上海旅游高等专科学校《栏目包装设计》2023-2024学年第一学期期末试卷
- 广州美术学院《新疆专题外译》2023-2024学年第二学期期末试卷
- 江西省赣州市寻乌县2024-2025学年数学五年级第二学期期末质量检测模拟试题含答案
- 上海工商职业技术学院《机械领域前沿技术》2023-2024学年第二学期期末试卷
- 2024-2025学年四川省乐山市乐山第一中学校高二下学期3月月考数学试卷(含答案)
- 2025某物业服务公司合同管理规程
- 2025届江苏省连云港市高三11月期中调研考-化学试卷(含答案)
- 《节奏与旋律》课件
- 2024年05月新疆克拉玛依金龙国民村镇银行招考15名客户经理笔试历年参考题库附带答案详解
- 神经源性膀胱的护理
- 2024年中国全钢子午线轮胎市场调查研究报告
- 2024年抖音游戏推广合作服务合同范本3篇
- 全屋定制家居整装家装门店设计师与导购分工合作管理方案
- 电专业十八项反措内容宣贯
- 【MOOC】中国传统家具欣赏-北京林业大学 中国大学慕课MOOC答案
- 桥梁机电交通设备施工及测试方案
- 2024年10月自考00312政治学概论试题及答案含评分参考
- 2021改革开放以来新疆的发展课件
评论
0/150
提交评论