KWP2000(Keyword Protocol 2000)是欧洲汽车领域广泛使用的一种车载诊断协议标准,该协议实现了一套完整的车载诊断服务。在此简单介绍帧结构。
工具/原料
可参考文件ISO14230-1, ISO14230-2, ISO14230-3
帧的整体结构
1、帧包含报头、数据、校验和三部分。完整的报头由模式字(Fmt)、目标地址(Tgt)、源地址(Src)和长度(Len)组成。其中目标地址(Tgt)、源地址(Src)在非标准模式中,可以省略。数据由SID和与该ID相关的数据组成。检验和为帧数据中除检验字节(checksum)外的其他字节的溢出累加和。
报头解析
1、模式字(Fmt)的低6位为数据长度信息,高2位为地址模式字节。为0x00时,目标地址(Tgt)、源地址(Src)省略。为0x8x时,带目标地址(Tgt)、源地址(Src)。
2、目标地址(Tgt)、源地址(Src)根据实际应用环境确定,一般是一个固定值。
3、长度(Len):为数据段长度,包含SID与该ID相关的数据的总长度。
数据段解析
1、SID定义是固定,数据内容可以不一样,下表为常用SID。
2、主机发出的SID为请求SID,从机返回SID为应答SID。肯定应答帧:应答SID=请求SID+0x40;否定应答帧:应答SID=请求SID;
3、否定应答帧,在SID后的数据内容有固定含义。
校验和
1、检验和为帧数据中除检验字节(checksum)外的其他字节的溢出累加和
含初始化的帧结构
1、初始化在此仅做简单介绍。KWP200 初始化有两种:5 Baud 初始化和快速初始化
2、Baud 初始化波形
3、快速初始化波形