Local Interconnect Network
Das Local Interconnect Network (LIN), auch LIN-Bus genannt, ist ein serielles Kommunikationssystem für die Vernetzung von Sensoren und Aktoren, ein Feldbus. Typische Anwendungsbeispiele sind die Vernetzung innerhalb der Tür oder des Sitzes eines Kraftfahrzeugs.
Als Industriestandard wurde die LIN-Spezifikation bis 2010 vom LIN-Konsortium entwickelt. Sie umfasst die physikalische Schicht, das Bus-Protokoll, die Schnittstelle zur Applikation sowie ein einheitliches Format zur Beschreibung eines gesamten LIN. Der erreichte Stand 2.2A der Spezifikation wurde der ISO übertragen und als ISO-Norm 17987-1,
CAN in Automation fungiert im Auftrag des Technical Management Board of ISO (TMB) seit 2017 als Registrierungsstelle für die LIN Supplier ID gemäß ISO 17987 Normenreihe.
LIN-Topologie
Ein LIN setzt sich aus einem Master und einem oder mehreren Slaves zusammen. Üblicherweise wird die Zahl der Slaves auf 16 begrenzt. Der Master ist typischerweise ein Mikrocontroller, der als Bridge das LIN an einen CAN-Bus anbindet. Auf dem LIN bestimmt der Master die (meist fest konfigurierte) zeitliche Reihenfolge aller Nachrichten, indem er ihren Anfang aussendet, den sogenannten
. Dieser enthält eine Kennung, die eine Zeile in der Konfigurationstabelle adressiert. In der Tabelle ist festgelegt, welcher Teilnehmer den bis zu acht Byte umfassenden Datenteil der Nachricht senden soll, um was für Daten es sich handelt und welcher oder welche Teilnehmer die Nachricht lesen sollen. Jeder Slave muss nur den für ihn relevanten Teil der Tabelle speichern. Eine dynamische Änderung der Konfiguration im Betrieb (
) ist nicht vorgesehen. Entwurfswerkzeuge für die Konfigurationstabelle stellen sicher, dass im Betrieb keine Kollisionen auftreten.
Die LIN-Spezifikation
Die Spezifikation sieht zwei Netzknotenzustände vor: Sleep-Mode und Normal-Mode. Der Übergang zwischen den beiden Modi wird einerseits mit einem expliziten Kommando vom Master und andererseits über ein Wake-Up-Signal-Frame durch den Master oder einen der Slaves initiiert.
Die Diagnose wird bei LIN mit Hilfe von Kommando-Botschaften durchgeführt. Um einen Slave diagnostizieren zu können, überträgt der Master ein bestimmtes Kommando. Die Datenübertragung innerhalb einer Diagnose zwischen Master und Slave basiert auf dem durch die ISO 15765-2 definierten Transportprotokoll.
LIN arbeitet mit einer Signalleitung, die die Netzknoten Wired-AND-verknüpft, realisiert durch Open-Collector-Ausgänge und Pull-Up-Widerstände an der Bordnetzspannung. Der hohe Pegel (logisch 1) stellt den rezessiven Zustand sowie den Ruhezustand dar und ca. 0 V (logisch 0) den dominanten Zustand. Die Flankensteilheit ist auf etwa 2 V/μs begrenzt zugunsten akzeptabler Störausstrahlung. Entsprechend ist die Baudrate auf maximal 20 kBd begrenzt, üblich sind 2400, 9600 und 19.200 Baud. Die Bus-Transceiver werden über einen – im LIN-Kontext meist SCI (Serial Communication Interface) genannte – UART angesteuert.
Fehlerbehandlung
In Kapitel 6 der Spezifikation ist die Fehlerbehandlung vorgeschrieben:
- Jeder Sender muss bitweise zurücklesen, was er sendet, und im Fehlerfall die Sendung abbrechen. Wenn der Master erkennt, dass er nicht senden kann, muss er seiner Anwendungsschicht einen Physical-Bus-Errormelden.
- Eine Prüfsumme sichert die Daten gegen Übertragungsfehler.
- Das Header-Byte kodiert mit sechs Bit die maximal 64 Botschaften und enthält zwei Paritätsbit, sodass alle Einzel- und viele Doppel-Bitfehler im Header erkannt werden.
- Für ausbleibende Antworten muss beim Master ein No-Response-Errordetektiert werden.
- Slaves müssen darauf achten, dass die Flanken im Synchronisierungsfeld innerhalb der definierten Toleranz liegen.
Als fehlerhaft erkannte Botschaften werden verworfen. Fehlerereignisse werden lokal registriert. Eine Fehlersignalisierung ist nicht Teil des Protokolls, sondern muss bei Bedarf in der Anwendungsschicht definiert werden.
Literatur
- Werner Zimmermann, Ralf Schmidgall: Bussysteme in der Fahrzeugtechnik – Protokolle, Standards und Softwarearchitektur. 5. Auflage, Springer Vieweg, Wiesbaden 2014, ISBN 978-3-658-02418-5.
- Andreas Grzemba, Hans-Christian von der Wense: LIN-Bus, Systeme, Protokolle, Tests von LIN-Systemen, Tools, Hardware, Applikationen. Franzis, Poing 2005, ISBN 3-7723-4009-1.
Weblinks
- LIN-Konsortium: LIN Specification Package Revision 2.2A. Dezember 2010.
- LIN Supplier ID Registrierungsstelle für die LIN Supplier ID, genormt in der ISO 17987 Normenreihe
- E-Learning-Lernmodul LIN auf der Vector-Website