Startseite - Stichwörter - CAN

Vernetzung im Kfz
Um den ständig wachsenden Anforderungen an die Fahrzeuge gerecht zu werden, war ein erheblicher Datenaustausch im Kfz erforderlich. Hier stieß man schon vor Jahren an die Grenzen der bislang üblichen Verdrahtung.
  • Unübersichtlichkeit, 
  • hohe Kosten durch Variantenvielfalt und bei nachträglichen Produktänderungen, 
  • Vergleich Verbindingen normal-vernetztnicht zu vernachlässigendes Gewicht, 
  • komplizierte Diagnose und 
  • ein ganz wesentlicher Punkt - mit der Zahl an Leitungen/ Verbindungen und Baugruppen wachsende Ausfallrate. 

 

Während nach der herkömmlichen Variante jede Information ihren eigenen Leitungsstrang bekommt, nutzt man bei einem Bus-System eine gemeinsame Übertragungsstrecke für alle beteiligten Baugruppen. 

  • So kann jede Informationen von allen Steuergeräten genutzt werden (die Zahl z.B.der Sensoren vermindert sich).
  • Gleichzeitig erfolgt zwangsläufig eine ständige Kontrolle der Datenpakete auf Fehler. Die Berichtigung wird angestrebt und andere Steuergeräte gewarnt falls das erfolglos bleibt.
  • Wird eine Erweiterung des Systems (neue Baugruppen durch Kundenwünsche)  notwendig, ist das problemlos möglich.
  • Das trifft auch auf erforderliche Korrekturen/ neue Verknüpfungen... zu, da diese im Regelfall softwaremäßig erfolgen können.

In jedem Fall entsteht ein zuverlässigeres System, das durch den intensiven Datenaustausch eine unendliche Vielfalt an Möglichkeiten bietet. 
Systeme, die ursprünglich völlig getrennt voneinander arbeiteten, können sich jetzt gegenseitig unterstützen oder beeinflussen. 

Wir sprechen von Vernetzung oder dem Controller Area Network (CAN). Im Kfz handelt es sich um ein serielles System. Je nach Arbeitsgeschwindigkeit unterscheidet man weiter, dazu aber später mehr.

 

 

PrinzipTransceiver, Controller des CAN-Bus

Jede an den Bus angeschlossenen Einheit enthält einen Controller und einen Transceiver zur gezielten Weiterleitung der Daten.

CAN-Controller
...bereitet 
1. die Daten des Steuergerätes (auch Sensors) auf, damit sie der Transmitter senden kann.
2.
die Daten des Receiver auf um sie im Steuergerät verarbeiten zu können.

Transceiver
...hat eigentlich zwei Funktionen, deshalb das Kunstwort Trans-ceiver aus Transmitter der Sender und Receiver der Empfänger.
Seine Aufgabe ist die Anpassung der Controllerdaten an den Bus. Da dieser auch eine Übertragung per Lichtwellenleiter ermöglicht, muss der Transceiver z.B. el Signale in IR (und umgekehrt) umwandeln.

Datenbus
...ist der eigentliche Leitungsstrang.
Das sind entweder abgeschirmte Zweidrahtleitungen (kaum noch im Einsatz), zwei ungeschirmte, verdrillte Leitungen (Low- und Highleitung) und die Masse oder für hohe Datendurchsätze Lichtwellenleiter (LWL).
Zweiadrige Leitungen werden im Regelfall an den Enden mit Abschlusswiderständen (~120 Ohm) versehen. Sie verhindern, dass am offenen Ende der Leitung ankommende Impulse reflektiert werden und beim Rücklauf die Spannungen des aktuellen Nutzsignales verfälschen.

Konfiguration
Lineare oder Ringstrukturen sind gerade im Kfz sinnvoll, da gegenüber einer Sternstruktur keine Zentraleinheit vorhanden ist. Würde diese ausfallen könnten wir das Auto schieben (bei 130 wird das ungesund).

 

 

Zusammenwirken

Prinzip des CAN-BusNehmen  wir dazu an, das Steuergerät 2
 (SG 2) liefert die Motortemperatur.
Sein Controller wird den Wert aufbereiten und dem Transceiver zum Versand mitteilen.
Der legt es brav auf den Bus und alle freuen sich. Das heißt, dass sie nach dem Empfang die Daten geprüft haben ob sie diese  für sich nutzen können. Die Klimaanlage (SG 1) weiß jetzt, dass der Motor noch Reserven hat, das Kombiinstrument kann die Temperatur auf's Display malen - nur einer meckert hier -  SG 3.  "Wozu brauche ich das?" fragte SG 3 (ABS) nach der Überprüfung und legte den Kopf auf die Bank. Hier blockiert es einfach die Übernahme der Information in den Speicher und damit zur Weiterverarbeitung. Trotzdem schläft es nicht sondern hört weiter zu, ist also nur Empfänger.

Klingt ganz einfach, wenn da nicht der kleine Unterschied wäre.

 

Protokoll

Busvergabe
In unserem Beispiel ging es um eine träge Größe - die Temperatur. Die Motordrehzahl wird sich jedoch wesentlich schneller ändern. Sie ist u.a. für die Gemischzusammensetzung oder die Zündung wesentlich. Also hat man Prioritäten gesetzt.

Will unser SG 2 seine Information abgeben, muss der Transceiver vor dem Senden erst einmal feststellen, ob der Bus gerade frei ist oder genutzt wird. Da nicht gleichzeitig zwei Pakete übertragen werden können, ist SG 2 solange still bis der Bus frei ist.
Als er mit der Übertragung beginnt, möchte das andere SG die Drehzahl übertragen. 
Chaos!
Nein, es wurden ja Prioritäten gesetzt. Sie legen fest wer zuerst senden darf. In der Regel initiiert jeder Sender eine Übertragung, indem er einen "Data Frame" oder Datenrahmen abschickt.

Datenrahmen
Seine Länge kann bis zu 130 Bits betragen, ist aber nicht konstant. Die Zusammensetzung sei hier aufgelistet.
Data Frame

 

 

 

 

 

Start-of-Frame markiert den Beginn und dient zur Synchronisation der Stationen (Takt)
Arbitrations Field Besteht aus dem Identifier der Meldung und einem zusätzlichen Kontrollbit.
Während der Übertragung dieses Feldes prüft der Sender bei jedem Bit, ob er nochsendeberechtigt ist oder ob eine andere Station mit höherer Priorität sendet.
Das Kontrollbit entscheidet, ob es sich bei der Botschaft um einen "Data Frame" oder einen "Remote Frame" (s.unten) handelt.
Control Field enthält den Code für die Anzahl der Datenbytes im Data Field
Data Field des Pudels Kern, selbst wenn es nur ein EIN/AUS - Wunsch ist.
CRC Field enthält ein Rahmensicherungswort zur Erkennung von etwaigen Übertragungsstörungen.
ACK Field enthölt  ein Bestätigungssignal aller Empfänger, die die Botschaft fehlerfrei empfangen haben.
End-of Frame markiert das Ende der Übertragung
 

Arbitrierung
Wenn also Zwei gleichzeitig senden, dann entscheidet das Identifier-Field über die Berechtigung.
Damit wichtige Daten schnell abgesetzt werden können, haben die Steuergeräte mit hoher Priorität kurze Adressen. (Vergleichbar mit der 110 - hier ist das Gespräch schon möglich während der andere Teilnehmer seine 01901234567890 noch nicht einmal zu Ende gewählt hat.)
So sieht auch unser Sender ein "Besetzt" und versucht es später noch einmal.
Exakter gesehen überschreibt ein dominantes ein rezessives Bit dominant  rezessiv
Unser Steuergerät 2 (Temperatur) liefert hier drei dominante Impulse, das SG 1 (Drehzahl) dagegen fünf. SG 2 liefert zwar ein 1-Signal aber  SG 1 schließt es mit seinem 0-Signal einfach kurz. Auf dem Bus erkennt man so nur die Impulsfolge von SG 1.
SG 2 hat also verloren und wird zum Empfänger bis zur nächsten Pause. Die beginnt mit der 3-Bit langen  Intermissionsphase.

Jetzt wissen wir zwar wieso alle schön der Reihe nach "morsen" aber wie lassen sich Fehler erkennen?

Störungserkennung
Bei dem 15 Bit CRC (Cyclic Redundancy Check) vergleicht jeder Empfänger die empfangene CRC-Sequenz (Folge) mit der berechneten. Stellt ein Controller eine Abweichung fest, sendet es ein Fehlerflag (6 dominante Bits). Diese verletzen jede gültige Regel des Datenaufbaus und werden so von allen erkannt.
Da Sender und Empfänger das Ergebnis dieses Testes überwachen, gestattet das z.B. einen erneuten Abruf des Signals durch den Empfänger oder ein erneutes Senden durch das ausgebende Steuergerät ohne Anforderung.

CAN L und CAN HDamit sich äußere Störquellen nicht auswirken können, werden die beiden Leitungen (CAN High und CAN Low) verdrillt und stets mit dem gleichen Inhalt aber umgekehrter Polarität gespeist. (Es könnte also auch eine Leitung, ohne Informationsverlust, ausfallen.)

Auch wenn in den verschiedenen Systemen die Spannungswerte differieren, das Prinzip ist gleich. Wenn in der Abb. eine Leitung 3,5V führt, ist das Signal der anderen 1,5V. Der Abstand zwischen beiden Signalspannungen ist entscheidend.
Werden beide um den gleichen Betrag verfälscht, bleibt trotzdem der Abstand der Kurven gleich.CAN auf dem Scope Auf dem Scope sind zwar die einzelnen Impulse unwesentlich aber die Gegenläufigkeit und unterschiedlichen Paketlängen sind gut erkennbar.

 

Geht man davon aus, dass die Zahl der Steuergeräte enorm zugenommen hat, gibt es arges Gedränge im Bus. Die einfachste Lösung ist geschichtlich gewachsen. CAN gesamt (DB)

Während zunächst der Motor und Antriebs-Aggregate vernetzt wurden (bei DC der CAN C Bus), folgte der Komfortbereich erst  eigenständig und später der Multimediabereich.

Da sich die Übertragungs- geschwindigkeiten sehr stark unterscheiden, kamen hier z.B. für den D2B-Bus (Digital Data Bus) bzw. MOST-Bus (Media Oriented Systems Transport) Lichtwellenleiter mit ihrem wesentlich höheren Datendurchsatz zum Tragen. 
Die Abb. zeigt u.a. die Ringstruktur dieses D2B-Systems. Dort muss beim Entfernen von Geräten der Ring durch Einsatz eines passiver Verbindungssteckers wieder funktionsfähig gemacht werden.

Geschwindigkeiten:
der relativ schnelle CAN C  liegt bei 500KBit/s
der langsamere Innenraumbus CAN B arbeitet mit 83,3 kBit/s (beide twisted Pair Cu-Ltg), der D2B optical mit 5,65 MBit/s und MOST bis 150 MBit/s.

Um eine Verbindung der einzelnen Bus-Systeme zu ermöglichen, sind Gateways erforderlich. Sie passen die verschiedenen Übertragungsgeschwindigkeiten der Netze aneinander an.
Comand In dem Sinne gibt es also nicht ein Netz sondern richtiger eine Gesamtvernetzung des Fahrzeuges.
Die übergreifende Funktion das Zündstartschlosses oder auch Comand ist nicht zu übersehen.

 

Nicht ganz unproblematisch ist die Energieversorgung. Trotz Sleep-Modus müssen viele Steuergeräte auf ihren Einsatz warten, dazu benötigen sie Energie. Auch bei ausgeschalteter Zündung ist also keine "Ruhe auf dem Schiff".
Ganz nebenbei gesagt, die "Prüflampe" des Gesellen  ist auch ein wenig teurer geworden. 

Diese Thematik ist noch lange nicht abgeschlossen, da inzwischen auch Fahrzeuge der Mittelklasse vernetzt sind. Je breiter das Einsatzfeld wird umso schneller folgen neue Lösungen, die sich vor allen Dingen in finanzieller Hinsicht für den Hersteller lohnen.