-
Stand der Technik
-
Die Erfindung geht aus von einem Verfahren und einer Vorrichtung nach Gattung der unabhängigen Ansprüche. Gegenstand der vorliegenden Erfindung sind auch ein Computerprogramm und ein maschinenlesbares Speichermedium.
-
Rechnernetze bestehen aus Knoten, die über Datenleitungen verbunden sind. Die in Fahrzeugen, insbesondere in Kraftfahrzeugen eingesetzten Rechnernetze, sogenannte Bordnetze, verbinden Steuergeräte als Knoten. Dabei erfüllen die in einem Fahrzeug eingesetzten Steuergeräte unterschiedliche Funktionen zum Betrieb des Fahrzeugs und tauschen diesbezüglich über das Bordnetz Daten miteinander aus. Um möglichst schnell nach dem Start des Fahrzeugs oder dem Start des Bornetzes die volle Funktionsfähigkeit der einzelnen Steuergeräte in jeder Fahrsituation des Fahrzeugs zu gewährleisten, muss das Bordnetz besonders hohe Anforderungen bezüglich der Anlaufzeit erfüllen.
-
Offenbarung der Erfindung
-
Das Verfahren mit den Merkmalen des unabhängigen Anspruchs 1 hat den Vorteil, dass die Synchronisierung im Bordnetz deterministisch und schnell abläuft. Dadurch erreichen die einzelnen Steuergeräte rasch die volle Funktionsfähigkeit.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch 1 angegebenen Verfahrens möglich.
-
Ausführungsbeispiele sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert.
-
Es zeigen:
-
1 schematisch Teile eines Synchronisierungsprozess,
-
2 schematisch Teile eines Synchronisierungsprozess,
-
3 schematisch Teile eines Senders,
-
4 ein Flussdiagramm mit Schritten der Erfindung.
-
1 oder 2 zeigt schematisch Teile eines Synchronisierungsprozesses. Vorzugsweise läuft der Synchronisierungsprozess zwischen miteinander über eine Datenleitung verbunden Knoten ab. Die Knoten sind im Beispiel Teil eines Rechnernetzes, beispielsweise eines Bordnetzes eines Fahrzeugs, insbesondere eines Kraftfahrzeugs.
-
Im Beispiel läuft der Synchronisierungsprozess zwischen einer Bridge A und einer Bridge B ab. Diese sind über eine Datenverbindung 10, im Beispiel über eine Ethernet Audio Video Bridging (AVB) Verbindung, miteinander verbunden. Die Synchronisierung erfolgt im Beispiel nach dem generalized precision time protocol (gPTP) gemäß IEEE 802.1 AS. Andere Protokolle wie Ethernet Time-Sensitive Networking (TSN) können auch verwendet werden.
-
Die Bridge A ist im Beispiel näher zum Grand Master (GM) Knoten als die Bridge B. Die Wahl des GM Knoten kann, beispielsweise in einem statischen Bordnetz, fest vorgegeben sein. Alternativ oder zusätzlich kann der Grand Master mittels des Best Master Clock Algorithm (BMCA) bestimmt werden. Wie in 1 oder 2 dargestellt, werden Nachrichten zur Synchronisierung von der Bridge A, über eine Master Port MP an einen Slave Port SP der Bridge B übertragen, da Bridge A dem GM Knoten näher ist als Bridge B.
-
1 zeigt beispielhaft einen Signalfluss für eine Synchronisierung in einem Zweischrittverfahren.
-
Zur Synchronisierung sendet der GM Knoten eine erste Nachricht, "synch", und eine zweite Nachricht, "follow_up", an alle seine Ports, die mit Zeitbewussten Systemen verbunden sind. Zeitbewusste Systeme werden im Folgenden allgemein als Slave bezeichnet. Die Übertragungsfrequenz beträgt beispielsweise 8Hz. Die Zeit zu der die erste Nachricht, "synch", versendet wurde, wird vom GM Knoten in der zweiten Nachricht, "follow_up", versendet. Im Beispiel erreichen diese Nachrichten die Bridge A. Bridge A leitet diese Nachrichten über ihren Master Port MP an den Slave Port SP der Bridge B weiter.
-
Zunächst wird eine erste Nachricht, "synch", vom Master Port MP zum Slave Port SP gesendet. Anschließen wird eine zweite Nachricht, "follow_up", vom Master Port MP zum Slave Port SP gesendet.
-
Die Bridge B leitet diese Nachrichten an den Slave weiter. Der Slave sendet bei Empfang der ersten Nachricht, "synch", oder der zweiten Nachricht, "follow_up" eine dritte Nachricht, "Pdelay_Req" an den GM Knoten. Diese wird von der Bridge B über ihren Slave Port SP an den Master Port MP der Bridge A geleitet und von Bridge A weiter zum GM Knoten.
-
Der GM Knoten antwortet im Folgenden mit einer vierten Nachricht, "Pdelay_Resp" und einer fünften Nachricht, "Pdelay_Resp_Follow-up". Die Zeit zu der die vierten Nachricht, "Pdelay_Resp", versendet wurde, wird vom GM Knoten in der fünften Nachricht, "Pdelay_Resp_Follow-up", versendet. Diese werden wie oben für die ersten Nachricht, "synch", und die zweiten Nachricht, "follow_up" über die Bridge A und die Bridge B an den Slave gesendet.
-
Der Datenaustausch für die Synchronisierung ist beispielsweise abgeschlossen, wenn die dritte Nachricht, "Pdelay_Req" seitens des Slaves oder die fünfte Nachricht, "Pdelay_Resp_Follow-up" seitens des Masters gesendet wurde. Dies ist wie in 1 dargestellt nach Ablauf der Zeit ΔT1 seitens des Knoten A bzw. ΔT2 seitens des Knoten B seit Start der Synchronisierung der Fall.
-
2 zeigt beispielhaft einen Signalfluss für eine Synchronisierung in einem Einschrittverfahren.
-
Im Unterschied zum Zweischrittverfahren aus 1 entfallen die dort mit "follow-up", und "Pdelay_Resp_Follow-up" bezeichneten Nachrichten. Stattdessen ist der Sendezeitpunkt in der jeweiligen Nachricht "synch" und "Pdelay_Resp" selbst enthalten.
-
Die Bridge A und die Bridge B sind im Beispiel identisch aufgebaut. Das heißt, beide weisen einen oder mehrere Ports auf. Die Ports, unabhängig davon ob es sich um einen Master Port oder Slave Port handelt, stellen Sender für die Nachrichten dar.
-
3 zeigt schematisch Teile eines Senders 300. Beispielsweise umfasst die Bridge A oder die Bridge B einen derartigen Sender 300.
-
Der Sender 300 umfasst eine Auswahleinrichtung 301 und mindestens zwei Warteschlangen. Im Beispiel sind eine erste Warteschlange 302 und sieben zweite Warteschlangen 303 vorgesehen.
-
Vorteilhafterweise sind die Warteschlangen 302, 303 ausgebildet Daten, die vom Sender 300 zu versenden sind, zu speichern. Beispielsweise sind die Warteschlangen 302, 303 in einem Pufferspeicher ausgebildet.
-
Vorteilhafterweise ist die Auswahleinrichtung 301 ausgebildet die vom Sender 300 zu versendenden Daten auszuwählen. Beispielsweise werden die ausgewählten Daten zum Versenden vom Pufferspeicher in einen Ausgangspuffer geschrieben.
-
Im Beispiel ist der Sender 300 ausgebildet, Daten nach dem Ethernet AVB Standard zu versenden. Die Warteschlangen 302, 303 sind im Beispiel ausgebildet Ethernet Rahmen zu speichern.
-
Vorteilhafterweise ist der Sender 300 ausgebildet, Nachrichten zur Synchronisierung von anderen Nachrichten zu unterscheiden. Beispielsweise erkennt der Sender 300 die Nachrichten zur Synchronisierung an Ihrem Header nach IEEE 802.1 AS.
-
Vorteilhafterweise ist der Sender 300 ausgebildet, diese Nachrichten in der ersten Warteschlange 302 zu speichern.
-
Vorteilhafterweise ist der Sender 300 ausgebildet, andere Nachrichten in einer der zweiten Warteschlangen 303 zu speichern.
-
Vorteilhafterweise ist die Auswahleinrichtung 301 ausgebildet, Nachrichten zur Synchronisierung zu erkennen. Beispielsweise ist die Auswahleinrichtung 301 ausgebildet, Daten, die in der ersten Warteschlange 302 gespeichert sind, als Nachrichten zur Synchronisierung zu erkennen.
-
Vorzugsweise kann die Auswahleinrichtung 301 in einem ersten Betriebsmodus und einem zweiten Betriebsmodus betrieben werden.
-
Im ersten Betriebsmodus kann vorgesehen sein, Nachrichten zur Synchronisierung bevorzugt auszuwählen. Beispielsweise kann vorgesehen sein, eine Entscheidung darüber zu treffen, ob eine Übertragung anderer Nachrichten, als der Nachrichten zur Synchronisierung möglich ist, ohne die Dauer der Synchronisierung oder Anlaufzeit zu verlängern. Beispielsweise prüft die Auswahleinerichtung 301 dazu, ob die erste Warteschlange 302 leer ist oder nicht. Wenn die erste Warteschlange 302 leer ist liegt aktuell keine Nachricht zur Synchronisierung vor. In diesem Fall kann vorgesehen sein, eine andere Nachricht aus einer der zweiten Warteschlangen 303 zu senden.
-
Im zweiten Betriebsmodus kann vorgesehen sein, dass die Auswahleinrichtung 301 die zu versendenden Daten nach einem Ethernet Standardverfahren, beispielsweise dem Ethernet AVB Standard auswählt. In diesem Betriebsmodus kann vorgesehen sein, dass zum Speichern von Nachrichten keine Unterscheidung zwischen erster Warteschlange 302 und zweiter Warteschlange 303 gemacht wird.
-
Vorzugsweise wird zwischen den Betriebsmodi umgeschaltet. Beispielsweise wird die Auswerteeinrichtung 301 in einer Anlaufzeit, in der beispielsweise die Synchronisierung erfolgt, im ersten Betriebsmodus betrieben.
-
Vorzugsweise wird die Auswerteeinrichtung 301 nach erfolgter Synchronisierung im zweiten Betriebsmodus betrieben.
-
Die Umschaltung der Betriebsmodi erfolgt im Beispiel in dem in 4 dargestellten Verfahren abhängig vom Wert eines Bits isSynch. Die Auswerteeinrichtung 301 wird im Beispiel in den ersten Betriebsmodus geschaltet, wenn das Bit isSynch den Wert TRUE hat. Anderenfalls wird die Auswerteeinrichtung 301 in den zweiten Betriebsmodus geschaltet.
-
Das Bit isSynch wird beispielsweise auf TRUE gesetzt, wenn die Synchronisierung abgeschlossen ist. Bei Start des Synchronisierungsprozesses oder bei Verlust der Synchronisierung wird das Bit isSynch beispielsweise auf FALSE gesetzt.
-
Im Beispiel der 1 oder 2 ist die Zeit ΔT1 bzw. ΔT2 seit Start der Synchronisierung vergangen, wenn das Bit isSynch im jeweiligen Sender der Bridge B bzw. Bridge A auf TRUE gesetzt wird.
-
Das Verfahren zum Setzen des Bits isSynch wird im Folgenden anhand der 4 beschrieben.
-
Das Verfahren beginnt beispielsweise bei Beginn der Anlaufzeit. Die Anlaufzeit beginnt beispielsweise bei Aktivieren des Bordnetzes, in einem Fahrzeug beispielsweise beim Einschalten der Zündung.
-
Nach dem Start wird in einem Schritt 401 das Bit isSynch = FALSE gesetzt. Dadurch wird die Auswahleinrichtung 301 im ersten Betriebsmodus betrieben. Dies bedeutet, dass nur Nachrichten zur Synchronisierung ausgewählt werden. Alle anderen Nachrichten werden blockiert. Alternativ oder zusätzlich kann vorgesehen sein, die oben beschriebene Überprüfung durchzuführen, um die Nachrichten zur Synchronisierung zu bevorzugen, ohne alle anderen Nachrichten zu blockieren.
-
Anschließend wird in einem Schritt 402 geprüft, ob eine Nachricht über den Master Port MP gesendet werden soll. Falls einen Nachricht über den Master Port MP gesendet werden soll, wird ein Schritt 404 ausgeführt. Anderenfalls ein Schritt 403.
-
Im Schritt 403 wird geprüft, ob die zu sendende Nachricht über den Slave Port SP gesendet werden soll. Falls einen Nachricht über den Slave Port SP gesendet werden soll, wird ein Schritt 405 ausgeführt. Anderenfalls wird Schritt 402 ausgeführt.
-
Im Schritt 405 wird geprüft, ob es sich bei der zu sendende Nachricht um eine Nachricht "Pdelay_Req" handelt und/oder ob diese bereits gesendet wurde. Falls eine Nachricht "Pdelay_Req" bereits gesendet wurde, wird ein Schritt 409 ausgeführt. Anderenfalls wird ein Schritt 407 ausgeführt.
-
Im Schritt 407 wird das Bit isSynch auf den Wert FALSE gesetzt. Anschließend wird Schritt 402 ausgeführt.
-
Im Schritt 409 wird das Bit isSynch auf den Wert TRUE gesetzt. Anschließend wird Schritt 402 ausgeführt.
-
Im Schritt 404 wird geprüft, ob die Synchronisierung mittels Einschrittverfahren durchgeführt wird. Falls dies der Fall ist, wird ein Schritt 408 ausgeführt. Anderenfalls ein Schritt 406.
-
Im Schritt 406 wird geprüft, ob es sich bei der zu sendende Nachricht um eine Nachricht "Pdelay_Resp_Follow-up" handelt und/oder ob diese bereits gesendet wurde. Falls eine Nachricht "Pdelay_Resp_Follow-up" bereits gesendet wurde, wird ein Schritt 410 ausgeführt. Anderenfalls wird ein Schritt 412 ausgeführt.
-
Im Schritt 408 wird geprüft, ob es sich bei der zu sendende Nachricht um eine Nachricht "Pdelay_Resp" handelt und/oder ob diese bereits gesendet wurde. Falls eine Nachricht "Pdelay_Resp" bereits gesendet wurde, wird ein Schritt 410 ausgeführt. Anderenfalls wird ein Schritt 412 ausgeführt.
-
Im Schritt 410 wird das Bit isSynch auf den Wert TRUE gesetzt. Anschließend wird der Schritt 402 ausgeführt.
-
Im Schritt 412 wird das Bit isSynch auf den Wert FALSE gesetzt. Anschließend wird der Schritt 402 ausgeführt.
-
Das Verfahren endet beispielsweise mit Abschalten des Senders 300, der jeweiligen Bridge oder des Bordnetzes.
-
Der Sender 300, d.h. die Bridge A oder die Bridge B ist eingerichtet, das beschriebene Verfahren auszuführen. Das Verfahren ist beispielsweise als Computerprogramm implementiert. Dieses Computerprogramm kann auf einem maschinenlesbaren Speichermedium gespeichert sein.
-
Durch das beschriebene Verfahren und die Vorrichtung wird eine bevorzugte und Versendung der Nachrichten zur Synchronisierung umgesetzt. Wenn andere Nachrichten ganz blockiert werden, bis die Synchronisierung erfolgt ist, ist der Ablauf der Synchronisierung deterministisch. Ausgehend von der Netzwerk-Topologie ist damit eine deterministische Aussage über die Anlaufzeit des Netzwerkes möglich.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- IEEE 802.1 [0012]
- IEEE 802.1 [0028]