Ablauf des Hochlauf

Hochlauf

Die Kommunikationstechnik des FlexRay-Systems wurde für eine sichere und schnellere Vernetzung von Steuerungselementen in Kraftfahrzeugen entwickelt. Ein Konsortium aus Automobilherstellern spezifizierte das Protokoll, welches eine deterministische und fehlertolerante Datenübertragung ermöglicht.

Für die Kommunikation wird das TDMA-Verfahren verwendet, für das eine globale Zeitbasis beim Buszugriff benötigt wird. Bevor die Kommunikation beginnen kann, muss diese Zeitbasis von allen Teilnehmern des Busses hergestellt werden. Wie diese Basis realisiert wird, beschreibt der folgende Beitrag.

Ablauf des Hochlaufs

Ein typischer Hochlauf, der fehlerfrei verläuft, kann aus einem Non-Coldstart-Knoten und zwei Coldstart-Knoten bestehen. Dieser wird im Zeitablauf der Kommunikationszyklen exemplarisch aufgezeigt, bevor genauer auf die einzelnen Phasen eingegangen wird.

  1. Vorbereitung der Startup-Phase: Zur Etablierung einer globalen Zeitbasis müssen sowohl Coldstart- als auch Non-Coldstart-Knoten in den Kommunikationsablauf integriert und synchron geschalten werden.
  2. Zyklus 1 – 4: Der Leading-Coldstart-Knoten sendet ein Collosion Avoidance Symbol (CAS) zu den anderen Teilnehmern im Bus und reserviert gleichzeitig vier Kommunikationszyklen, in denen Startup-Frames versendet werden können.
  3. Zyklus 5: Der Leading-Coldstart-Knoten beobachtet, ob sich weitere Knoten beteiligen und setzt den Vorgang nur bei einer Beteiligung fort. Liegt keine Beteiligung vor, wird der Hochlauf neu gestartet.
  4. Zyklus 6: Der Leading-Coldstart-Knoten überprüft, ob die beteiligten Knoten korrekt arbeiten.
  5. Synchroner Betrieb: Im siebten Zyklus sind die Zeiten der Knoten synchronisiert und der normale Betrieb kann aufgenommen werden.

Der exemplarisch dargestellte Zeitablauf kann durch Kollisionen unterbrochen werden und muss daher auch auf Fehler reagieren. Die Realisierung des Hochlaufs kann in der Praxis, je nach Anwendungsfall, sehr unterschiedlich aussehen. Um die Beschreibung des Prozesses zu vereinfachen, wird dieser hier jedoch in der Basis-Variante erläutert.

In der Startup-Phase des FlexRay-Systems werden verschiedene Typen von Knoten spezifiziert, die zusammen eine Synchronisierung der globalen Zeitbasis verfolgen. In den einzelnen Zyklen werden den verschiedenen Teilnehmern des Busses unterschiedliche Aufgaben zugeschrieben, welche in den folgenden Absätzen ausführlich erklärt werden.

Vorbereitung der Startup-Phase (Hochlauf)

Aus Gründen der Fehlertoleranz, muss von mehreren Teilnehmern eine globale Zeitbasis gebildet werden. Um eine Datenübertragung im FlexRay-System zu ermöglichen, muss diese Zeitbasis etabliert werden. Der Vorgang, in dem die Synchronisation erreicht wird, nennt sich Startup-Phase.

In der Startup-Phase wird zwischen Coldstart- und Non-Coldstart-Knoten unterschieden. Nur die Coldstart-Knoten können beim Entwurf einer gemeinsamen Zeitbasis festlegen. Auf der anderen Seite müssen sich die Non-Coldstart-Knoten später in das synchrone System einfügen.

Bei den Coldstart-Knoten wird eine weitere Unterteilung in Leading- und Following-Coldstart-Knoten vorgenommen. Während der der Startyp-Phase kann die Anwendung aus einem Following-Coldstart-Knoten einen Leading-Follow-Knoten machen, was dynamisch zur Laufzeit geschieht. Die umgekehrte Umwandlung der Knoten erfolgt automatisch durch das FlexRay-Protokoll.

Die Leading-Coldstart-Knoten überwachen den Datenverkehr auf dem Bus, für zwei aufeinander folgende Kommunikationszyklen. Dieser Vorgang ist bereits aus dem Wecken bekannt und zielt darauf ab, die Knoten in den bestehenden Datenverkehr zu integrieren, insofern gültige FlexRay-Frames erkannt wurden.

Kommunikation durch das Collosion Avoidance Symbol (CAS)

Wenn sich der Bus im Ruhezustand befindet, wird durch einen Leading-Coldstart-Knoten ein Collosion Avoidance Symbol (CAS) gesendet. Dieses Symbol erkennt die anderen Coldstart-Knoten und wandelt sie in Following-Coldstart-Knoten um. Zur gleichen Zeit reserviert das verwendete Symbol den Bus für den Leading-Coldstart-Knoten für vier Kommunikationszyklen, in denen Startup-Frames versendet werden können.Zwischen dem Collosion Avoidance Symbol und dem Beginn des nächsten Zyklus wird ein Abstand fixiert, da es zu möglichen Kollisionen kommen kann. Das hat zur Folge, dass jeweils der Frame mit der niedrigsten Frame-Nummer zuerst Zugriff auf den Bus erhält. Die anderen Knoten ziehen sich zunächst zurück und werden automatisch zu Following-Coldstart-Knoten.Der Zeitplan der Following-Coldstart-Knoten wird nun an die Leading-Coldstart-Knoten angepasst. Dies geschieht, indem erstere die Kommunikation des Leading-Coldstart-Knoten für vier aufeinander folgende Zyklen überwachen. Die Following-Coldstart-Knoten senden dann ihre Coldstart-Frames in die TDMA-Runde.

Überprüfung der Beteiligung von anderen Knoten

In der fünften Runde beobachtet der Leading-Coldstart-Knoten, ob eine Beteiligung von anderen Knoten besteht. Liegt keine Beteiligung vor, wird ein Zyklus ausgesetzt, bevor mit dem Ablauf von vorn begonnen wird, solange wie die Anzahl der definierten Coldstart-Versuche ausreicht.

In dem Fall, dass eine Beteiligung anderer Knoten vorliegt, überprüft der Leading-Coldstart-Knoten in einem sechsten Zyklus, ob die anderen Knoten korrekt funktionieren. Im nächsten, siebten, Zyklus nimmt der Leading-Coldstart-Knoten dann den normalen, synchronen Betrieb auf.

Integration der Following-Coldstart-Knoten

Für die Integration der Following-Coldstart-Knoten reichen vier Kommunikationszyklen und ein gültiger Startup-Frame aus. Er nimmt den synchronen Sendebetrieb auf, sobald er seine Frames für vier Zyklen senden kann und sein Schedule mit dem des Leading-Coldstart-Knoten übereinstimmt.

Etwas anders verhalten sich Non-Coldstart-Knoten, die innerhalb von vier Zyklen mindestens zwei Frames erkennen müssen. Erst dann sind diese in der Lage, ihre Uhren anzupassen. Nach der Anpassung kann auch der Non-Coldstart-Knoten mit der synchronen Übertragung von Daten auf den Bus beginnen. Damit auch im Falle des Ausfalls eines Knotens ein Hochlauf erfolgen kann, sollten in einem System mindestens drei Coldstart-Knoten festgelegt werden.