Datenaustausch mit LIN3

Was ist LIN

LIN (Local Interconnect Network) ist ein serielles Bussystem und gehört zu der Kategorie der Feldbusse. Es wurde speziell für die Automobilindustrie entwickelt und ist für das Vernetzen der Komfortkomponenten in einem Fahrzeug zuständig. LIN entstand aus der Problematik, das herkömmliche Bussysteme für das Vernetzen von Geräten in einem Fahrzeug zu teuer waren und eine Lösung gefunden werden musste, die kosteneffizienter war, aber trotzdem genau so zuverlässig.  Daraus wurde dann das Local Interconnect Network entwickelt und wird heute international in der Automobilindustrie verwendet und hat sich dort etabliert.

Prinzip

Das Kommunikationsprinzip von LIN basiert auf dem Master-Slave-Prinzip. Bei diesem Prinzip gibt es einen Master (Bestehend aus einem Master Task und einem Slave-Task Master) und die Slave-Tasks. Dieses Netzwerk aus Master und Slaves wird in einem LIN-Netzwerk als Cluster bezeichnet.

Master

Der Master besitzt die Eigenschaften eines Gateways und dient als Schnittstelle zwischen einem CAN-Bus und den Slave-Tasks. Er konvertiert Daten zwischen den CAN-Bus und den Slave-Tasks in seinem Cluster und kontrolliert dessen Datenverkehr und die Übertragungsrate der Daten. Wird eine Nachricht auf dem LIN-Bus übermittelt, so fügt der Master am Beginn der Nachricht eine Sequenz hinzu, diese Sequenz wird an alle Teilnehmer des LIN-Bus gesendet und ausgewertet.

Eine weitere Aufgabe des Masters ist das Koordinieren der Nachrichten, die über den LIN-Bus gesendet werden. Er legt den Zeitpunkt und die Abstände fest, in denen Nachrichten über den Bus übertragen werden können. Zusätzlich werden auch die Diagnosefunktionen über den Master bereitgestellt.

Slaves

Die Slaves des LIN-Bus sind in den meisten Fällen Aktoren oder Sensoren, die Daten an den Master oder andere Steuergeräte senden oder auch austauschen. Der LIN-Bus ermöglicht es auch, ganze Steuergeräte als Slave im Cluster zu verwenden, um andere Sensoren oder Aktoren anzusteuern. Das anbinden eines Steuergerätes als Slave wird oft verwendet um die Belastung auf den LIN-Bus zu minimieren und den Datenverkehr möglichst gering zu halten. In anderen Fällen können Steuergeräte auch als Slave genutzt werden, wenn sonst beispielsweise die zulässige Anzahl der Teilnehmer in einem LIN-Bus Clusters überschritten werde würde, da die zulässige Gesamtzahl von Slaves auf maximal 16 Teilnehmer beschränkt ist.

LIN-Knoten

Der LIN-Knoten ist ähnlich wie Knoten anderer Bussysteme aufgebaut und lässt sich daher gut mit deren Struktur vergleichen. Ein Knoten besteht bei einem LIN-Bus aus drei Blöcken, dem Mikro-Controller, dem LIN-Controller und dem LIN-Transreceiver. Der Transreceiver übernimmt hierbei die Aufgabe der Umwandlung von logischen Signalen in physikalische Signale. Der Controller sorgt dafür, dass das LIN-Protokoll umgesetzt wird. Dieser Aufbau ist je nach Bedarf in verschiedenen Integrationsstufen erhältlich. 

Physikale Schicht

Bei dem LIN-Bus wird auf der physikalischen Schicht sehr schnell deutlich, dass dieses Bussystem aus der Problematik entwickelt wurde, ein möglichst günstiges Bussystem zu entwickeln. Anders als bei anderen Bussystem, bei denen häufig eine differenzielle Signalübertragung stattfindet, wird bei dem LIN-Bus eine Eindrahtleitung verwendet. Auf den ersten Blick wirkt das System dadurch störanfällig, doch um trotzdem eine minimale Störanfälligkeit zu gewährleisten, wurde für den High-Pegel die Versorgungsspannung genutzt und für den Low Pegel die Masse verwendet. Durch diese Merkmale beschränkt sich die Länge des LIN-Busses allerdings auf vierzig Meter.

Transportschicht

Die Transportschicht ermöglicht es, die Slaves zu verwalten. Dazu gehören Aufgaben wie die Diagnose der Slaves sowie deren Konfiguration.
Zusätzlich ermöglicht die Transportschicht auch das Übertragen von größeren Datenmengen als die festgelegte Größe von acht Byte.

Fehlererkennung

Bei einem LIN-Bus wird zwischen sechs verschiedenen Arten von Fehlern unterschieden.

  • Identifier Parity Fehler
  • Slave Not Respond 
    Hat der Buspegel einen dauerhaften Low Pegel oder High Pegel, kommt es zu einem Physical Bus Fehler. In den meisten Fällen ist ein Kurzschluss im System die Ursache.

Bit-Fehler

Nur der Sender einer Nachricht ist in der Lage, diesen Fehler zu erkennen, da er die gesendete Nachricht beim Empfangen überprüfen kann. Entspricht die empfangene Nachricht nicht mit der gesendeten Nachricht überein liefert der Sender einen Bit-Fehler zurück.

Checksummen Fehler

Hierbei wird die in der empfangenen Nachricht enthaltene Checksumme mit der selbst erstellten Checksumme verglichen. Liegt dabei eine Unstimmigkeit vor, liegt ein Checksummenfehler vor.

Inconsistent Synch Field

Ein Inconsistent Synch Field Fehler tritt in dem Moment auf, wenn ein Slave nicht mehr in der Lage ist, sich an den vom Master gegebenen Mastertakt zu synchronisieren. Dieser Fehler entsteht in den meisten Fällen dann, wenn die vorgegebene Toleranz der Flanken des Sync Fields vom Slave nicht eingehalten wird.

Fehlerbehandlung

Alle Error-Bits und deren Werte werden gesammelt. Anschließend werden die Informationen an die Anwendung weitergegeben und ausgewertet. Wenn alle Informationen ausgewertet sind, reagiert die Anwendung auf die Fehler.