K Line
Die K-Line ist die älteste europäische Diagnoseschnittstelle. Sie wurde bereits Ende der 80er Jahre standardisiert.
K-Line |
Deren Standard umfasste im Wesentlichen die elektrischen Eigenschaften, die Art der Bit-Übertragung und die Art der Kommunikationsaufnahme. Das Diagnoseprotokoll selbst war nicht spezifiziert. Es war zum damaligen Zeitpunkt herstellerspezifisch. Dies änderte sich dann allmählich. 1994 übernahm die europäische Union die amerikanische Abgasgesetzgebung in Form der Diagnoseschnittstelle. Als OBD-2 ist diese als europäische On-Board-Diagnose bekannt geworden. Und auf dieser Basis wurde dann auch die allgemeine Fahrzeugdiagnose in Form des KWP 2000 (Keyword-Protokoll 2000) spezifiziert und standardisiert.
K-Line – Standardisierung |
Physical Layer und Bus-Topologie
Die K-Line-Schnittstelle verwendet ein zeichenbasiertes Protokoll mit einem bidirektionalen Ein-Draht-Bus. Die physikalische Ebene sieht praktisch genauso aus, wie beim LIN-Bussystem. Es wird mit Batteriespannungspegeln gearbeitet. Optional gibt es eine zusätzliche unidirektionale Leitung, die so genannte L-Line.
Physical Layer und Bus-Topologie |
Das Kommunikationsprotokoll bei der Diagnose ist im Prinzip ein Master-Slave-Protokoll. Der Diagnosetester als Master sendet die Anfragen (Requests). Eines oder mehrere Steuergeräte antworten als Slaves mit einer entsprechenden Antwortbotschaft (Response). Bei OBD ist als Bitrate 10,4 kbit/s festgelegt.
Das K-Line-Protokoll ist einfach zu implementieren. Sowohl auf der Steuergeräte- als auch auf der Testerseite besteht es faktisch vollständig aus Software. Die einzige benötigte Hardwarekomponente ist ein UART, den heute jeder PC, jedes Steuergerät und jeder Mikrokontroller mitbringt.
Data Link Layer
Im Gegensatz zu CAN, bei dem ein Steuergerät jederzeit senden kann, muss bei der K-Line zunächst eine Verbindung aufgebaut werden. Erst dann kann der Datenaustausch stattfinden. Außerdem muss am Ende die Verbindung auch wieder abgebaut werden.
K-Line - Fast-Reizung nach ISO 14230 (Dauer ca. 100 ms) |
Für den Verbindungsaufbau sind zwei Verfahren im Einsatz: Zum einen das Neuere, die so genannte Fast-Reizung, die erst mit dem KWP 2000 Protokoll standardisiert wurde, siehe Abbildung oben. Hier sendet der Diagnosetester eine Botschaft an das Steuergerät und das Steuergerät antwortet mit einer Reihe von Bytes, die als Kernkomponente ein so genanntes Keyword enthalten. Mit diesem Keyword teilt das Steuergerät dem Diagnosetester Einzelheiten über das Protokoll mit, mit dem das Steuergerät zu kommunizieren wünscht. Dieses Verfahren funktioniert nur bei einer festen Baudrate, der vom Gesetzgeber für die OBD vorgeschriebenen Baudrate von 10,4 kbit/s.
{{{3}}} |
Bei Systemen, die eine andere Baudrate verwenden wollen und bei älteren Systemen wird die 5 Baudreizung verwendet, sieh Abbildung oben. Dies dauert mit über 2,6 Sekunden relativ lange. Hier kommunizieren Diagnosetester und Steuergerät zunächst nur mit 5 Baud. Hierbei tauschen sie mittels des Keyword Informationen über das Kommunikationsprotokoll und die Baudrate, des Steuergeräts aus. Anschließend kann die Baudrate dann auf eine schnellere, vom Steuergerät unterstützte Baudrate umgestellt werden.
K-Line – Botschaftsformat |
Der Datenaustausch funktioniert im Request-Response-Verfahren. Das heißt, der Diagnosetester schickt als Master einen Request an das Steuergerät. Das Steuergerät antwortet mit einer Response. Für beide wird dasselbe Botschaftsformat verwendet, sieh Abbildung. Das erste Byte (Formatbyte) enthält Informationen über das Format der folgenden Botschaft. Dann folgen zwei Byte mit Adressangaben und ein Byte mit einer Längenangabe für die folgenden Nutzdaten. Die beiden Adressangaben und die Längenangabe sind optional. Im Formatbyte wird mitgeteilt, wie Adress- und Längenangaben erfolgen, siehe Abbildung unten. Die Nutzdaten dürfen zwischen 1 und 255 Bytes umfassen. Daran schließt sich ein Byte Prüfsumme über alle Datenbytes an, um Fehler erkennen zu können.
K-Line Botschaftsformat - Formatbyte |
Die Fehlerüberwachung basiert auf einer Überwachung des Botschaftsformats, der Botschaftslänge und der Prüfsumme. Im Fehlerfall ignoriert ein Steuergerät einen empfangenen Request und sendet keine Antwort. Das erkennt der Diagnosetester über Timeouts und sendet seinen Request erneut. Die Timing-Parameter für die Botschaften sind in den Normen entsprechend spezifiziert, siehe Abbildung unten. Dies sind die Abstände zwischen den einzelnen Bytes eines Datenblocks, die Abstände zwischen Request und Response sowie der Mindestabstand von einer Response bis zum nächsten zulässigen Request.
K-Line – Fehlerbehandlung |
Für die OBD, die die gesetzgeberischen Anforderungen zu erfüllen hat, gibt es eine Reihe von Einschränkungen:
- Header besteht immer aus 3 Byte (Target-, Source Address, kein Längenbyte)
- Botschaften haben max. 7 Byte Nutzdaten
- Tester-Request Target-Address ist immer funktional
- ECU-Response Target-Address immer physikalisch
- Nur Default Timing-Parameter zulässig
- Nur 10,4 kbit/s zulässig
- Sonstiges:
- Übertragungszeit von 255 Bytes Daten bei 10,4 kbit/s von 250 ms bis 5,5s
- Protokollrealisierung fast nur in Software – hohe Interrupt-Belastung
- ISO 9141 war Grundlage vieler proprietärer Protokolle (KW 71, KW 81, KW 500 etc.)
Siehe auch
CAN - Controller Area Network
LIN - Local Interconnect Network