1 / 14
文档名称:

KWP诊断通讯协议完整版.docx

格式:docx   大小:133KB   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

KWP诊断通讯协议完整版.docx

上传人:long 2021/5/17 文件大小:133 KB

下载得到文件列表

KWP诊断通讯协议完整版.docx

文档介绍

文档介绍:HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】
KWP诊断通讯协议
基于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个字节
KWP2000(Keyword Protocol 2000)是欧洲汽车领域广泛使用的一种车载诊断协议标准,该协议实现了一套完整的车载诊断服务,并且满足E-OBD(European On Board Diagnose)标准。
KWP2000协议仅对其中三个子层进行了定义说明,即:应用层(第七层)、数据链路层(第二层)和物理层(第一层)。
物理层:这部分描述了基于IS09141用以实现诊断服务的物理层,用于配置硬件系统,指导接口电路的设计,同时将在IS09141-2中描述的物理层扩展成可以满足提供12V或24V电压的车辆的条款。
数据链路层:这部分定义了数据的传送格式,描述了诊断服务的通用要求,允许1个诊断仪控制在1个随车ECU(例如电子燃油喷射、自动变速箱及防抱死系统等)中的诊断功能。这些随车ECU嵌于车辆中,通过串行数据链路相连接。
应用层:这部分包含如下规范:服务标识符的字节编码及其十六进制数值;诊断服务请求与响应参数的字节编码;标准参数的十六进制数值。
根据IS014230的规定,KWP2000通信消息基本格式如图1所示。一条消息结构包括头部(header)、数据字节(data-byte)、校验和(checksum)等三部分。
图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的响应获取ECU的源地址、通讯波特率、支持的报文格式、定时参数等信息。ECU所支持的 报文和定时参数信息包含在ECU返回的“关键字(Key Word)”中(这也是协议命名的由来)。关键字由两个字节构成,如图2所示,关键字的低字节中各位的含义如表1所示。
图2 关键字格式
表1 关键字低字节中各位的含义
测试器(诊断设备)可以采用两种方式对ECU进行初始化,即5Baud初始化和快速初始化。对于这两种初始化的时序在数据链路层协议中均有明确规定。完成初始化过程后,测试器和ECU方可进行应用层的诊断服务和响应。
IS014230-3规定了应用层的服务规范,包括诊断管理功能组、数据传输功能组、诊断信息传输功能组、输人/输出控制功能组、远程启动ECU例程功能组、数据上载/下载功能组和扩展功能组。
KWP2000 最初是基于K线的诊断协议。由于K线物理层和数据链路层在网络管理和通讯速率上的局限性,使得K线无法满足日趋复杂的车载诊断网络的需求