- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
精品资料/word可编辑
精品资料/word可编辑
PAGE / NUMPAGES
精品资料/word可编辑
HYPERLINK
KWP20XX协议分析及基于CANoe的开发测试
摘 要:本文介绍了欧洲汽车领域广泛采用的车载诊断协议KWP20XX,针对KWP20XX诊断服务在K线(ISO 14230)和CAN总线(ISO 15765)上的两种实现方式,对协议的核心内容和发展历史进行了较为深入的剖析和对比。本文还介绍了采用Matlab/Simulink/StateFlow进行协议开发的一般流程,以及该协议在Vector公司的CANoe软硬件平台上的应用实现和开过程。关键词:KWP20XX,K线,CAN总线,开发,CANoe
1 前言
在汽车故障诊断领域,针对诊断设备和汽车ECU之间的数据交换,各大汽车公司几乎都制订了相关的标准和协议。其中,欧洲汽车领域广泛使用的一种车载诊断协议标准是KWP20XX(Keyword Protocol 20XX),该协议实现了一套完整的车载诊断服务,并且满足E-OBD(European On Board Diagnose)标准。KWP20XX最初是基于K线的诊断协议,由于K线物理层和数据链路层在网络管理和通讯速率上的局限性,使得K线无法满足日趋复杂的车载诊断网络的需求。而CAN网络(Controller Area Network)由于其非破坏性的网络仲裁机制、较高的通讯速率(可达1M bps)和灵活可靠的通讯方式,在车载网络领域广受青睐,越来越多的汽车制造商把CAN总线应用于汽车控制、诊断和通讯。近年来欧洲汽车领域广泛采用了基于CAN总线的KWP20XX,即ISO 15765协议,而基于K线的KWP20XX物理层和数据链路层协议将逐步被淘汰。
在网络协议开发和测试应用方面,美国MathWorks公司和德国Vector公司提供了功能强大的开发和测试工具,可分别用于协议栈源码的开发和ECU测试。
2 基于K线的KWP20XX协议
基于K线的KWP20XX协议标准主要包括ISO/WD 14230-1~14230-4,各部分协议与OSI模型的对应关系如表1所示。
表1 KWP20XX协议与OIS模型的对应关系
OSI模型
基于K线的KWP20XX
基于CAN总线的KWP20XX
应用层
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规定了KWP20XX协议的物理层规范(K线、L线),它在ISO 9141-2的基础上把数据交换系统扩展到了24V电压系统。ISO 14230-2规定了KWP20XX的数据链路层协议,包括报文结构、初始化过程、通讯连接管理、定时参数和错误处理等内容。K线的报文包括报文头、数据域和校验和三部分,其中报文头包含格式字节、目标地址(可选)、源地址(可选)和附加长度信息(可选),如表2所示。
表2 基于K线的KWP20XX报文结构[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
不支持在报文头中包含目标地址/源地址
支持在报文头中包含目标地址/源地址
T
原创力文档


文档评论(0)