Keyword Protocol 2000, förkortat KWP2000, är ett kommunikationsprotokoll som används för diagnostiksystem ombord på fordon (OBD). Detta protokoll omfattar applikationsskiktet i OSI-modellen för datornätverk. Protokollet är standardiserat av Internationella standardiseringsorganisationen som ISO 14230. KWP2000 omfattar också sessionsskiktet i OSI-modellen när det gäller att starta, upprätthålla och avsluta en kommunikationssession.
Ett av de underliggande fysiska lagren som används för KWP2000 är identiskt med ISO 9141, med tvåvägs seriell kommunikation på en enda ledning som kallas K-linjen. Dessutom finns det en valfri L-linje för uppvakning. Datahastigheten ligger mellan 1,2 och 10,4 kilobaud, och ett meddelande kan innehålla upp till 255 byte i datafältet.[1]
När KWP2000 implementeras på ett K-linjebaserat fysiskt lager krävs särskilda uppvakningssekvenser: 5-baud uppvakning och snabbinitiering. Båda dessa uppvakningsmetoder kräver tidskritisk manipulation av K-linjesignalen.
KWP2000 är även kompatibelt med ISO 11898 (Controller Area Network) som stöder högre datahastigheter på upp till 1 Mbit/s. CAN blir alltmer populärt som alternativ till K-linjen eftersom CAN-bussen oftast finns i moderna fordon och därmed eliminerar behovet av att installera en extra fysisk kabel.
Att använda KWP2000 på CAN med ISO 15765 Transport/Nätverkslager är vanligast. Att använda KWP2000 på CAN kräver inte heller någon särskild uppvakningsfunktionalitet.
KWP2000 kan implementeras på CAN genom att endast använda tjänstelagret och sessionslagret (ingen header som specificerar längd, käll- och måladresser används och ingen kontrollsumma används); eller genom att använda alla lager (header och kontrollsumma inkapslas inom en CAN-ram). Dock är användning av alla lager överdrivet, eftersom ISO 15765 erbjuder egna transport/nätverkslager.
ISO 14230 Road vehicles – Diagnostic systems – Keyword Protocol 2000 är strukturerat på följande sätt: