KWP2000
KWP2000是Keyword Protocol 2000的简称,是车上诊断系统(OBD)上的网络传输协议。此协定包括了OSI模型的应用层。此通讯协定已成为国际标准化组织的ISO 14230标准。KWP2000也包括了OSI模型的对话层,其中包括如何开始、维持及中止通讯对话。
常用的实体层
编辑KWP2000中的一种实体层和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 排放相关系统的要求
参考资料
编辑- ^ Smith, Craig. The Car Hacker's Handbook: A Guide for the Penetration Tester. No Starch Press. 2016: 22 [10 May 2018]. ISBN 9781593277031 (英语).