跳转到内容

KWP2000

维基百科,自由的百科全书

KWP2000是Keyword Protocol 2000的简称,是车上诊断系统(OBD)上的网络传输协议。此协定包括了OSI模型的应用层。此通讯协定已成为国际标准化组织的ISO 14230标准。KWP2000也包括了OSI模型的对话层,其中包括如何开始、维持及中止通讯对话。

常用的实体层

KWP2000中的一种实体层ISO 9141英语ISO 9141相同,ISO 9141在一条线(称为K-line)上有双向的串行通信,另外有一条选配的L-line,作唤醒功能使用。资料速度从1.2k 到10.4k 波特率,一个讯息的资料栏位可以到255字节[1]

若KWP2000实现时有实体的K-line,会需要特别的唤醒程序:“五波特唤醒”(5-baud wakeup)及快速初始化(fast-initialisation)。这两种唤醒方式都需要K-line信号的时序关键(timing critical)处理。

KWP2000也和控制器局域网络(CAN, ISO 11898)相容,最高速度可以到1 Mbit/s。CAN在现今的汽车中都有,不需要另外安装实体的缆线,因此成为替代K-line的方案,而且越来越受欢迎。

KWP2000应用CAN时,最常配合的是ISO 15765的传输层/网络层。KWP2000配合CAN使用也不需要特殊的唤醒机能。

KWP2000也可以用CAN只实现其服务层及对话层(没有标头的长度标示、使用来源地址及目的地址,不用检查码。),或是实现所有内容(标头及检查码都封装在CAN的页框内)。不过ISO 15765有其传输层/网络层,因此不需要用到OSI七层的内容。

ISO 14230

ISO 14230(道路车辆—诊断系统—Keyword Protocol 2000)的架构如下:

  • ISO 14230-1 实体层
  • ISO 14230-2 资料链接层
  • ISO 14230-3 应用层
  • ISO 14230-4 排放相关系统的要求

参考资料

  1. ^ Smith, Craig. The Car Hacker's Handbook: A Guide for the Penetration Tester. No Starch Press. 2016: 22 [10 May 2018]. ISBN 9781593277031 (英语).