Nachrichtenformat, physikalische Schicht

Mit Hilfe des FlexRay-Systems ist eine schnellere und sicherere Datenübertragung in den Bussystemen des Automobilbereichs möglich. Die erste serielle Anwendung erfolgte 2006, nachdem das Protokoll von einem Konsortium aus Automobilherstellern gemeinschaftlich entwickelt wurde. Die Gründe für die Entwicklungen liegen vor allem in den steigenden Anforderungen an Kommunikationstechnologien in Fahrzeugen, die alle untereinander kommunizieren müssen.

FlexRay ist ein relatives junges Bussystem, das eine große Anzahl an Anwendungen ermöglicht und als Erweiterung zum CAN in Kraftfahrzeugen eingesetzt werden kann. Während Protokolle wie CAN und LIN ereignisgesteuert arbeiten, erfolgt die Kommunikation bei FlexRay nach einem zeitgesteuerten Ansatz. Dabei bietet das Protokoll feste Zeitschlitze für die Übertragungen von Nachrichten an, wodurch eine Arbitrierung vermieden wird.

Die aktuelle Version des FlexRay-Protokolls wird derzeit in eine ISO Norm überführt, die unter anderem auch die verschiedenen Schichten und das Nachrichtenformat enthält. Auf diese beiden Bestandteile des FlexRay-Systems, geht dieser Beitrag ausführlich ein.

Nachrichtenformat im FlexRay-Protokoll

Die vollständige Botschaft wird auch als FlexRay-Frame bezeichnet und ist in drei verschiedene Segmente unterteilt. Um einen ersten Überblick über die einzelnen Segmente zu geben, werden diese kurz dargestellt, bevor im Verlaufe des Beitrags noch näher darauf eingegangen wird.

  • Header-Segment: 
    Im ersten Segment ist der Identifier (IC) und der Header CRC enthalten, der durch das Verfahren der zyklischen Blocksicherung abgesichert wird.
  • Payload-Segment: 
    Im zweiten Segment der Botschaft befinden sich die eigentlichen Daten, die bis zu 254 Byte lang sein können.
  • Trailer-Segment: 
    Im dritten und letzten Segment wird eine Datensicherung der Nutzdaten vorgenommen. Dies geschieht ebenfalls durch die zyklische Blocksicherung.

Der Nachrichtenaustausch zwischen den Knoten wird durch eine Botschaft realisiert, die in einen Frame verpackt ist. Dieser Frame enthält neben den Nutzdaten noch zusätzliche Sicherungs- und Steuerungsinformationen, um die sichere Datenübertragung zu gewährleisten. Jede Botschaft beginnt mit dem Header, welcher vom Payload gefolgt und schließlich durch den Trailer abgeschlossen wird.Das Header-Segment besteht aus insgesamt vier Teilen: Frame ID, Payload Length, Header CRC und Cycle Count. Am Anfang des Headers stehen fünf Steuerbits, die besondere Botschaften enthalten können.

Das erste Bit ist immer auf Null gesetzt und spielt daher keine weitere Rolle bei der Übertragung.Das Payload Indicator Bit (2) zeigt im statischen Segment an, ob die ersten zwölf Bits weitere Zusatzinformationen enthalten. Im dynamischen Segment weisen die ersten beiden Bits auf eine Message ID hin. Dadurch kann ein Empfänger bestimmte Nachrichten verwerfen und andere zulassen.Durch den Null Frame Indicator-Bit (3) kann der Sender signalisieren, dass die Botschaft keine Nutzdaten enthält. Anders als im dynamischen Segment, muss jede Nachricht im statischen Segment eine feste Länge haben, um dem nächsten Steuergerät im dynamischen Segment das Recht zu erteilen, eine weitere Nachricht zu senden.Bei den letzten beiden Bits handelt es sich um das Sync Frame Indicator Bit (4) und das Startup Frame Indicator Bit (5). Diese sind für die Synchronisation aller Teilnehmer zuständig und initialisieren zudem das Netzwerk.Die Frame ID im Header besteht aus 11 Bits und identifiziert die Botschaft eindeutig. Die darauf folgenden 7 Bits werden durch die Payload Length besetzt, welche die Anzahl der Datenworte im Payload-Segment anzeigt.

Die letzten beiden Teile des Headers bestehen aus dem Header CRC und dem Cycle Count. Ersteres ist für die Sicherung verantwortlich. Der Cycle Count zählt die Zyklusnummer.Nach dem Header folgt das Payload-Segment, welches eine festgeschrieben Länge von 255 Bytes enthält. Darin sind die Nutzdaten, also der eigentliche Teil der Botschaft, enthalten. Im letzten Segment der Nachricht findet sich das Trailer-Segment, welches für die Datensicherung verantwortlich ist. Die Sicherung wird auf der Basis des zyklischen Blockverfahrens durchgefüh

Physikalische Schicht des FlexRay-Systems

Der Einsatz des FlexRay-Protokolls ist zwar grundsätzlich über optische und elektrische Übertragungsmedien möglich, wird jedoch in der Spezifikation für die physische Schicht, lediglich für die elektrische Übertragung beschrieben. Ähnlich wie bei der Datenübertragung beim High-Speed-CAN, erfolgt die Kommunikation zwischen zwei Knoten über eine Zweidrahtleitung, auf der eine differenzielle Spannungsschnittstelle anliegt.

Die Übertragung des elektrischen Signals basiert dabei auf drei verschiedenen Zuständen. Anders als beim CAN-Protokoll sind die Datenpegel Null und Eins im FlexRay-Protokoll gleichberechtigt. Beide Datenpegel setzen sich jedoch gegen den Idle-Zustand durch. Um den Idle-Zustand herum, sind die Spannungslagen symmetrisch bei 2,5 V angeordnet.

Innerhalb der physikalischen Schicht wird eine schnelle Fehlererkennung- und übertragung durch den Bus Guardian ermöglicht. Der zusätzliche Sicherungsmechanismus im FlexRay-System schützt einen Kanal vor Kommunikationsstörungen, die nicht in den Zeitplan der Datenübertragung gehören.

Die skalierbare Fehlertoleranz wird im FlexRay-System außerdem dadurch geboten, dass die Kommunikation auf zwei Kanälen stattfinden kann. Sicherheitskritische Anwendungen können beide Kanäle für die Datenübertragung nutzen, wobei es auch möglich ist, nur einen einzigen Kanal zu nutzen, wenn keine Redundanz nötig ist bzw. um bei der Verwendung von zwei Kanälen die Bandbreite der Übertragung nicht redundanter Daten zu erhöhen.