Sicherer Datenaustausch mit CAN - Teil 3

CAN (Controller Area Network) steht für ein Bussysten, welches einen schnellen Datenaustausch zwischen elektronischen Steuergeräten ermöglicht. Es ist sehr leistungsstark und ermöglicht Kabelbäume in Fahrzeugen, sowie ihr Gewicht zu reduzieren. Nicht zuletzt leistet es einen entscheidenden Beitrag zur Sicherheit in elektronischen Systemen.

CAN Historie

1983 wurde dieses System von der Robert Bosch GmbH entwickelt. Zunächst sollte dies der KFZ-Technologie dienen. Im Laufe der Zeit entwickelte sich daraus neben dem Einsatz in Personen- und Nutzfahrzeugen, auch ein Einsatz in Schiffen, Bahnen, Flugzeugen und im Maschinenbau.

Seit 1993 unterliegt die CAN-Technik der ISO-Norm 11898.

Vorteile von CAN

  • Datenaustausch auf einer einheitlichen Plattform (Protokoll) 
  • Steuergeräteübergreifende Systeme lassen sich wirtschaftlich realisieren
  • Systemerweiterungen lassen sich einfacher lösen
  • Systemübergreifende Diagnose über mehrere Steuergeräte ist zeitgleich möglich

Anforderungskriterien

  • Hohe Sicherheit: Übertragungsstörungen müssen mit hoher Sicherheit erkannt werden
  • Hohe Verfügbarkeit: Beim Ausfall eines Steuergerätes muss der Rest Verfügbar bleiben
  • Hohe Datendichte: Alle Steuergeräte haben zum gleichen Zeitpunkt denselben Informationsstand
  • Hohe Datenübertragungsrate: Datenaustausch muss sehr schnell erfolgen

7-Schicht Modell

  1. Data Link Layer: zerlegt Daten in Pakete oder Datenrahmen, die über Interface übertragen werden sollen.
  2. Physical Layer: Wie der Name schon erahnen lässt, geht es hier um das Physische Signal. Es wird die reine Hardware sowie deren Übertragung inkl. aller notwendigen Parameter (elektronische, optische, mechanische) beschrieben.
  3. Network Layer: beschreibt die Funktionalität der Übertragung von Nachrichten. Dazu gibt es eine spezielle Schicht, die Nachrichten aus dem Data Link Layer empfängt und diese an die richtige Adresse weitersendet.
  4. Transport Layer: beschreibt verschiedene Dienste im Netzwerk
  5. Session Layer: regelt die Einrichtung und Verwaltung einer Verbindung von zwei Computern.
  6. Presentation Layer: Dateiformate werden bestimmt und definiert. 
  7. Application Layer: beschreibt die eigentlichen Daten im Netzwerk und stellt die direkte Verbindung zum Anwender her.

Arten der Datenübertragung

Es bestehen zwei Arten der Datenübertragung:

  • Data Frame Übertragung (beim senden einer Nachricht)
  • Remote Frame (zum Abfragen einer Nachricht)

Da es bei Automobilen nicht auf die Abfrage einer Nachricht ankommt, kommt Remote Frame nur selten zum Einsatz. Grundsätzlich sind jedoch beide Frames gleich aufgebaut. Grundvoraussetzung beider ist ein Gleichlauf zwischen Sender und Empfänger.

Die Übertragungsrate wird unterschieden zwischen einem Highspeed Bus, max. 1 Mbit/s, und einem Lowspeed Bus, 125 kbit/s.

Funktion

Der CAN-Bus ist ein eigenständiges System der Fahrzeugelektronik und dient als Datenleitung zum Informationsaustausch angeschlossener Steuergeräte. Der Identifier (ID) bestimmt die Identität der Nachrichten. Somit stehen alle CAN-Nachrichten allen CAN-Knoten zum Empfang zur Verfügung. Ein Filter selektiert die für ihn relevanten CAN-Nachrichten. Dadurch lassen sich bis zu 2048 CAN-Nachrichten differenzieren.

Vorteile:

  • Kosteneinsparung
  • Einfache Realisierung und Synchronisation
  • Hohe Flexibilität

Damit die Echtzeit-Datenübertragung nicht verhindert wird bedient sich das CAN-Netzwerk dem CSMA/CA (Carrier Sense Multiple Access / Collision Resolution)-Buszugriffsverfahren.

CSMA/CA Zugriffsverfahren

Zunächst wird vom sendewilligen CAN-Knoten der CAN-Bus abgehört, ist dieser frei, so darf er sofort mit der Übertragung beginnen. Ansonsten muss er solange warten, bis der CAN-Bus frei ist.

Wollen mehrere Steuergeräte gleichzeitig CAN-Nachrichten versenden, kommt die Arbitrierung zum Einsatz. Alle sendewilligen CAN-Knoten legen die ID dar. Die Priorität der CAN-Nachrichten staffelt sich nach dem Wert der ID, je niedriger die ID umso schneller wird ein Buszugriff möglich.

Fehlererkennungsmechanismen

Damit verfälschte CAN-Nachrichten nicht unerkannt bleiben, bedient sich das CAN-Protokoll den Fehlererkennungsmechanismen. Die Wahrscheinlichkeit nicht erkannter Fehler liegt bei ca. 4 Fehlern pro Fahrzeug-Lebensdauer.

Mechanismen auf der Empfängerseite:

  • Nachrichtenfilterung (bis zu 5 Fehler innerhalb einer Nachricht ermittelbar)
  • Form Check (Überprüft das Format)
  • Stuff Check (Überprüft die Bit-Stuffing Regel)

Wird ein Fehler erkannt, so wird die Nachrichtenübertragung sofort abgebrochen, indem eine Error-Flag (sechs dominante Bits) auf den CAN-Bus aufgelegt wird. Dadurch wird die Bit-Stuffing Regel verletzt wodurch jeder CAN-Knoten, netzwerkweit, die fehlerhafte Nachricht erkennen kann.

Abgebrochene CAN-Nachrichten werden durch denselben Sender wiederholt, sobald der CAN-Bus wieder frei ist. Jedoch ist aufgrund des CSMA/CA-Buszugriffverfahrens nicht gewährleistet das die Wiederholung sofort vollzogen wird. Dies hängt von der Nachrichtenpriorität und der Buslast ab.

Dies gilt auch für defekte CAN-Knoten, die in der Lage sind die gesamte CAN-Kommunikation zum Erliegen zu bringen. Damit dies verhindert wird, bedient sich der CAN-Knoten einer Netzknotenüberwachung, die den defekten Knoten abschalten kann.

ACK-Slot

Im CAN-Netzwerk wird jede Nachrichtenübertragung im ACK-Slot (Acknowledge-Slot) signiert. Um zu bestätigen, dass eine Nachricht Korrekt übertragen wurde, genügt eine positive Signatur. Dadurch werden negativ quittierte CAN-Knoten überschrieben. Liegt keine positive Signatur vor, so wird der ACK-Slot nicht überschrieben und sendet einen ACK-Fehler, der die Nachrichtenübertragung abbricht.

CAN-Auslastung

In den letzten Jahren stieß CAN zunehmend an seine Grenzen. So wie es vor einigen Jahren die meist gefragte Bustechnik im Automobil war, so schwer ist es mit der voranschreitenden Elektronifizierung schritt zu halten. Aufgrund dessen konnten sich gerade im Automobil zwei andere Busse durchsetzen. LIN und FlexRay.