Die Synchronisation lokaler Uhren in einem FlexRay Cluster basiert darauf, dass jedem FlexRay Knoten die Sende- und Empfangszeitpunkte aller statischen Botschaften von vornherein bekannt sind. Damit sind alle Knoten eines FlexRay Clusters in der Lage sowohl den Offset als auch die Steigung so zu korrigieren, dass schon nach wenigen Zyklen alle FlexRay Knoten jeden Kommunikationszyklus zum selben Zeitpunkt mit dem gleichen Takt beginnen.

In einem FlexRay Cluster fungieren mindestens 2 und maximal 15 FlexRay Knoten als Sync-Knoten bzw. Sync Node (Synchronisationsknoten), die pro Zyklus eine Sync-Botschaft (Synchronisationsbotschaft) in einem definierten statischen Slot übertragen. Dabei handelt es sich um keine zusätzlichen Botschaften, sondern um statische Botschaften, bei denen der Sync Frame Indicator gesetzt ist.

Alle FlexRay Knoten vergleichen die a priori bekannten Zeitpunkte mit den Zeitpunkten, zu denen die Sync-Botschaften real eintreffen. Sie erstellen dann eine sortierte Liste von Differenzen, aus denen sie mit dem Fault Tolerant Midpoint (FTM) Algorithmus ihren Offsetkorrekturwert errechnen.

Der FTM-Algorithmus sieht vor, dass die Extremwerte aus der Liste getilgt werden, damit stark abweichende lokale Uhren die Kommunikation im FlexRay Cluster nicht aus dem Tritt bringen. Bei bis zu sieben Sync-Knoten werden Minimum und Maximum gestrichen. Bei mehr als sieben Sync-Knoten fallen auch die zweitgrößten und zweitkleinsten Messwerte heraus.

Die verbleibenden Messwerte werden addiert und gemittelt - das Ergebnis stellt den Offsetkorrekturwert dar. Die Ermittlung des Steigungskorrekturwertes läuft identisch ab, nur mit dem Unterschied, dass die FlexRay Knoten die, den Sync-Botschaften zugrunde liegenden, Zykluslängen messen.

Sowohl die Offset- als auch die Steigungskorrektur erfolgt auf der Basis der lokalen Uhren, deren kleinste Einheit der Mikrotick darstellt. Einen Offset gleicht ein FlexRay Knoten durch das Hinzufügen oder Weglassen einer, dem Offset entsprechenden, Anzahl von Mikroticks in der NIT am Ende jedes ungeraden Zyklus aus. Dadurch verschiebt ein FlexRay Knoten den eigenen Start des nächsten Zyklus und passt sich so an die anderen FlexRay Knoten an.

Damit die Steigungskorrektur nicht wie eine Offsetkorrektur wirkt, verteilt ein FlexRay Knoten die dem Steigungskorrekturwert entsprechende Anzahl von Mikroticks gleichmäßig über den folgenden geraden und ungeraden Zyklus. So ist jeder FlexRay Knoten in der Lage, seinen Zyklus entweder zu verkürzen oder zu verlängern.



Zuletzt geändert: Mittwoch, 6. Dezember 2017, 14:37