下载后可任意编辑基于 K 线/CAN 总线的 KWP2000 协议分析及协议栈的开发测试1 前言在汽车故障诊断领域,针对诊断设备和汽车 ECU 之间的数据交换,各大汽车公司几乎都制订了相关的标准和协议
其中,欧洲汽车领域广泛使用的一种车载 诊断协议标准是KWP2000(Keyword Protocol 2000),该协议实现了一套完整的车载诊断服务,并且满足E-OBD(European On Board Diagnose)标准
KWP2000 最初是基于 K 线的诊断协议,由于K 线物理层和数据链路层在网络管理和通讯速率上的局限性,使得 K 线无法满足日趋复 杂的车载诊断网络的需求
而 CAN 网络(Controller Area Network)由于其非破坏性的网络仲裁机制、较高的通讯速率(可达 1M bps)和灵活可靠的通讯方式,在车载网络领域广受青睐,越来越多的汽车制造商把 CAN 总线应用于汽车控制、诊断和通讯
近年来欧洲汽车领域广泛采纳了基 于 CAN 总线的 KWP2000,即 ISO 15765 协议,而基于 K 线的 KWP2000 物理层和数据链路层协议将逐步被淘汰
在网络协议开发和测试应用方面,美国 MathWorks 公司和德国 Vector 公司提供了功能强大的开发和测试工具,可分别用于协议栈源码的开发和 ECU 测试
2 基于 K 线的 KWP2000 协议基于 K 线的 KWP2000 协议标准主要包括 ISO/WD 14230-1~14230-4,各部分协议与 OSI 模型的对应关系如表 1 所示
表 1 KWP2000 协议与 OIS 模型的对应关系ISO 14230-1 规定了 KWP2000 协议的物理层法律规范(K 线、L 线),它在 ISO 9141-2 的基础上把数据交换系统扩展到了 24V 电压系统
ISO 14230-2 规定了