-
Die vorliegende Erfindung betrifft die zeitliche Synchronisation zweier Steuergeräte. Insbesondere betrifft die Erfindung die Sicherung einer solchen Synchronisation.
-
An Bord eines Kraftfahrzeugs sind verschiedene Steuergeräte vorgesehen, die jeweils zugeordnete Aufgaben erfüllen. Dabei können mehrere Steuergeräte vernetzt arbeiten und einander Ergebnisse ihrer Verarbeitungen übermitteln. Ein erstes Steuergerät kann beispielsweise ein Umfeld des Kraftfahrzeugs mittels eines bildgebenden Sensors abtasten und Bilder des Umfelds bereitstellen. Ein zweites Steuergerät kann ein Objekt im Umfeld des Kraftfahrzeugs auf einem der Bilder erkennen. Ein drittes Steuergerät kann das Kraftfahrzeug in Abhängigkeit des erkannten Objekts steuern.
-
Für die Zusammenarbeit der Steuergeräte ist es wichtig, dass Zeitbasen der Steuergeräte miteinander synchronisiert sind, sodass die einzelnen Verarbeitungen aufeinander abgestimmt werden können. Zum Abgleich kann ein bekanntes Synchronisationsprotokoll verwendet werden, beispielsweise NTP. Sollte die Synchronisation von Zeitbasen der Steuergeräte nicht erfolgreich sein, so können Daten mit zeitlichem Bezug inkorrekt verarbeitet werden. In obigem Beispiel kann etwa eine verschobene Position des erkannten Objekts im Umfeld des Kraftfahrzeugs bestimmt werden und das Kraftfahrzeug kann bezüglich des verschobenen Objekts gesteuert werden, sodass eine Kollision mit dem echten Objekt nicht ausgeschlossen werden kann.
-
US 11 050 501 B2 betrifft ein Verfahren zum Synchronisieren einer Zeitbasis eines Mikrocontrollers mit einer entfernten Zeitbasis mittels Nachrichten über ein Netzwerk.
EP 3 085 027 A1 schlägt eine Vorgehensweise zur Synchronisierung einer Zeitbasis eines Kommunikationsknotens in einem paketvermittelnden Netzwerk vor.
-
In der
DE 10 2020 215 441 A1 ist ein Verfahren zur Synchronisation von Uhren von mindestens zwei Geräten in einem verteilten Netzwerk eines Fahrzeuges offenbart. In dem Verfahren wird eine unverschlüsselte Kommunikation zwischen den mindestens zwei Geräten aufgebaut, um eine zeitliche Differenz zwischen den Uhren der zwei Geräte zu bestimmen. Zwischen den mindestens zwei Geräten werden Nachrichten über die unverschlüsselte Kommunikation ausgetauscht. Mithilfe der Nachrichten wird eine zeitliche Differenz zwischen den Uhren der mindestens zwei Geräte ermittelt. Zwischen den mindestens zwei Geräten wird eine verschlüsselte Kommunikation aufgebaut, um den Austausch von Nachrichten zu authentifizieren. Die Nachrichten, die zum Ermitteln der zeitlichen Differenz verwendet wurden, werden authentifiziert. Die ermittelte zeitliche Differenz wird verwendet, wenn die Authentifizierung von ausgetauschten Nachrichten erfolgreich abgeschlossen wurde.
-
Die Norm IEEE Std 1588-2019 (ISBN 978-1-5044-6341-6; DOI: 10.1109/IEE-ESTD.2020.9120376) beschreibt einen Standard für ein Präzisionsuhr-Synchronisierungsprotokoll für netzwerkgebundene Mess- und Kontrollsysteme.
-
Für die Steuerung sicherheitsrelevanter Abläufe sind Normen vorgegeben, die Anforderungen an beteiligte Steuerkomponenten umfassen. Beispielsweise gibt ISO 26262 in mehreren ASIL-Stufen vor, welche Fehler für ein sicherheitsrelevantes Element an Bord eines Straßenfahrzeugs noch akzeptabel sind. Für eine Steuerung des Kraftfahrzeugs in Längs- und/oder Querrichtung kann die strengste ASIL Stufe D anzusetzen sein.
-
Bekannte Synchronisationsprotokolle tauschen zur Synchronisation Nachrichten aus, die nicht abgesichert sind. Vielmehr sind solche Protokolle allgemein nur darauf optimiert, eine Übertragungsdauer zwischen Steuergeräten möglichst genau zu bestimmen. Die Sicherheit einer zeitlichen Synchronisation zweier Steuergeräte kann auf der Basis eines solchen Protokolls nicht garantiert werden, sodass ein System mit mehreren zeitlich aufeinander synchronisierten Steuergeräte nicht zur Steuerung eines Fahrzeugs zugelassen sein können.
-
Eine Aufgabe der Erfindung besteht in der Angabe einer verbesserten Technik zur sicheren Synchronisation zweier Steuergeräte. Die Erfindung löst diese Aufgabe mittels der Gegenstände der unabhängigen Ansprüche. Unteransprüche geben bevorzugte Ausführungsformen wieder.
-
Nach einem ersten Aspekt umfasst ein Verfahren zum sicheren Synchronisieren eines ersten Zeitbasis eines ersten Steuergeräts mit einer zweiten Zeitbasis eines zweiten Steuergeräts, wobei die Steuergeräte mittels eines Netzwerks miteinander verbunden sind, Schritte des Abgleichens der zweiten Zeitbasis auf die erste Zeitbasis auf der Basis von Nachrichten, die im Rahmen eines Synchronisationsprotokolls zwischen den Steuergeräten ausgetauscht werden; des Übermittelns einer Sicherungsnachricht mit der aktuellen Zeit der ersten Zeitbasis vom ersten an das zweite Steuergerät; und des Bestimmens eines Synchronisationsfehlers im zweiten Steuergerät, falls eine aktuelle Zeit der zweiten Zeitbasis mehr als einen vorbestimmten Betrag von der empfangenen aktuellen Zeit der ersten Zeitbasis abweicht.
-
Es wurde erkannt, dass ein bestehendes Synchronisationsprotokoll praktisch keine zusätzlichen Bearbeitungszeiten für eine zu versendende oder eine empfangene Nachricht erlaubt. Ein mit einer Absicherung verbundener Verarbeitungsaufwand wäre so groß, dass eine mittels der Synchronisation zu erzielende Genauigkeit deutlich herabgesetzt würde. Es wird daher vorgeschlagen, eine bekannte Synchronisation durch die Übermittlung einer abgesicherten Sicherungsnachricht zu ergänzen, um etwa einen Übertragungsfehler, einen Fehler in einer Zeitbasis oder einen Angriff auf das Protokoll zu erkennen. So können die Zeitbasen der Steuergeräte miteinander genau synchronisiert werden und gleichzeitig kann eine Sicherheit der Synchronisation sichergestellt werden.
-
Die vorgestellte Technik kann eine Synchronisation von Zeitbasen in einem sicherheitsrelevanten System ermöglichen. Das System kann verbessert unter Verwendung mehrerer Steuergeräte statt auf der Basis eines leistungsstarken Steuergeräts aufgebaut sein. Die einzelnen Steuergeräte können verbessert an ihren jeweiligen Zweck angepasst sein und unabhängig voneinander skaliert werden. Außerdem kann so eine Redundanz gesteigert werden und das System kann eingeschränkt operationsfähig bleiben, falls eines der Steuergeräts ausfallen sollte.
-
Das Synchronisationsprotokoll kann durch einen Netzwerk-Adapter unterstützt werden, der eines der Steuergeräte an das Netzwerk anbindet. Der Netzwerk-Adapter kann auf eine Nachricht im Rahmen des Synchronisationsprotokoll mit weitaus geringerer Verzögerung reagieren kann als eine Verarbeitungseinrichtung des Steuergeräts. So kann das Synchronisationsprotokoll eine Nachricht umfassen, deren Empfang durch eines der Steuergeräte eine dortige Behandlung auf Hardware-Ebene auslöst. Beispielsweise kann eine solche Nachricht per Hardware erkannt und eine Ausnahme (Interrupt) ausgelöst werden, bei deren Behandlung - im Netzwerk-Adapter oder durch die Verarbeitungseinrichtung - eine Antwort auf die Nachricht reaktionsschnell bereitgestellt werden kann. In umgekehrter Richtung kann einer zu übermittelnden Nachricht erst im letzten Moment ein Zeitstempel der aktuellen lokalen Zeit beigefügt werden. Die Verarbeitungseinrichtung und der Netzwerk-Adapter können auf dieselbe Zeitbasis zugreifen.
-
In einer Ausführungsform umfasst das Synchronisationsprotokoll eine Implementation des Network Time Protocol NTP, das in RFC 958 beschrieben ist. In einer bevorzugten Ausführungsform umfasst das Synchronisationsprotokoll eine Implementation des Precision Time Protocol PTP, das in der IEEE 1588 beschrieben und in IEC 61588 übernommen ist. PTP ist in zahlreichen Varianten implementiert, insbesondere auch als gPTP (802.1AS) für den Automobil-Bereich. PTP kann bei Hardware-Unterstützung eine Synchronisation mit einer Genauigkeit im Bereich von Nanosekunden und bei Software-Ausführung immer noch mit einer Genauigkeit im Bereich weniger Mikrosekunden erreichen.
-
Die Sicherungsnachricht hingegen kann durch Software erstellt und abgesichert werden. Insbesondere kann die Sicherungsnachricht durch die Verarbeitungseinrichtung eines der Steuergeräte bereitgestellt und erst danach zur Übermittlung an einen Netzwerk-Adapter weitergegeben werden.
-
Die Sicherungsnachricht wird bevorzugt bei der Übermittlung zwischen dem ersten und dem zweiten Steuergerät abgesichert. Dabei erfolgt weiter bevorzugt eine Ende-Ende-Absicherung (end-to-end, E2E) zwischen den Steuergeräten, sodass eine Datensicherheit über alle übermittelnden Elemente sichergestellt sein kann. Eine solche Absicherung ist beispielsweise in ISO 26262 beschrieben. Die abgesicherte Sicherungsnachricht kann eine geringere Genauigkeit, dafür aber eine höhere Sicherheit für eine zeitliche Synchronisation erlauben. Zur Absicherung sind verschiedene Varianten denkbar, die auch miteinander kombiniert werden können.
-
In einer ersten Variante wird die Sicherungsnachricht mittels einer Prüfsumme abgesichert. In Abhängigkeit einer zu erwartenden Anzahl von Fehlern in der Sicherungsnachricht kann die Bestimmung der Prüfsumme passend gewählt werden. Die Prüfsumme kann beispielsweise eine zyklische Redundanzprüfung (cyclic redundancy check, CRC) umfassen. Dabei kann die Prüfsumme senderseitig über einen vorbestimmten Teil der Sicherungsnachricht berechnet und der Sicherungsnachricht beigefügt werden. Der Empfänger kann die empfangene Prüfsumme mit einer eigenen Berechnung bezüglich der empfangenen Sicherungsnachricht vergleichen und bei einer Abweichung bestimmen, dass ein Übertragungsfehler vorliegt.
-
In einer zweiten Variante wird die Sicherungsnachricht mittels eines kryptografischen Verfahrens abgesichert. Beispielsweise kann eine kryptografische Hashfunktion zur Bestimmung einer Prüfsumme verwendet werden oder die Sicherungsnachricht kann verschlüsselt oder mit einem Zertifikat versehen werden, um einen unversehrten Empfang der Sicherungsnachricht und/oder die Authentizität des Senders feststellen zu können. Für die Durchführung kryptografischer Operationen kann eine Unterstützungseinrichtung, insbesondere ein kryptografischer Prozessor, ein Grafikprozessor oder ein Videoprozessor, verwendet werden.
-
In einer dritten Variante wird die Sicherungsnachricht mittels eines bestätigenden Verfahrens übermittelt. Während Nachrichten des Synchronisationsprotokolls üblicherweise unbestätigt beispielsweise per UDP übermittelt werden, kann für die Übermittlung der Sicherungsnachricht ein Protokoll wie TCP verwendet werden. So kann der Sender einerseits sicherstellen, dass eine versandte Nachricht empfangen wurde, andererseits kann der Empfänger sicherstellen, dass sich eine empfangene Nachricht auf eine eigene Anfrage bezieht oder erwarteter Teil einer erwarteten Sequenz von empfangenen Nachrichten ist.
-
Sollte seitens des zweites Steuergeräts bestimmt werden, dass eine empfangene Sicherungsnachricht beschädigt, nicht authentisch oder nicht erwartet ist, so kann ein Synchronisationsfehler oder ein anderer vorbestimmter Fehler bestimmt werden. Ein Fehler kann auch erst bestimmt werden, wenn eine vorbestimmte Anzahl Sicherungsnachrichten innerhalb einer vorbestimmten Zeitspanne als fehlerhaft bestimmt wurden oder wenn innerhalb einer vorbestimmten Zeitspanne weniger als eine vorbestimmte Anzahl korrekter Sicherungsnachrichten eingetroffen sind.
-
Eine als fehlerhaft befundene empfangene Sicherungsnachricht kann verworfen und nicht der Synchronisation der Zeitbasis zu Grunde gelegt werden. Ein auf den Fehler hinweisendes Signal kann bereitgestellt werden, sodass beispielsweise eine Prüfung der Kommunikationsverbindung veranlasst oder eine Verarbeitung eines Steuergeräts auf eine möglicherweise nicht vertrauenswürdige zeitliche Synchronisation abgestimmt werden kann.
-
Das erste Steuergerät kann Sicherungsnachrichten mit der aktuellen Zeit der ersten Zeitbasis periodisch übermitteln. Beispielsweise können Sicherungsnachrichten alle ca. 1 s oder alle ca. 5 s oder 10 s versandt werden. Das erste Steuergerät kann Sicherungsnachrichten auch ereignisgesteuert auf der Basis einer eigenen Prüfung übermitteln, etwa wenn Zweifel an der bestehenden zeitlichen Synchronisation der Zeitbasen der Steuergeräte bestehen. In einer weiteren Ausführungsform kann das zweite Steuergerät eine Anforderung für eine Sicherungsnachricht an das erste Steuergerät übermitteln. Das erste Steuergerät kann die Sicherungsnachricht in Antwort auf die Anforderung an das zweite Steuergerät übermitteln.
-
Bevorzugt wird eine Abweichung der aktuellen Zeit der zweiten Zeitbasis von der aktuellen Zeit der ersten Zeitbasis bestimmt. Die Abweichung kann vorteilhaft im Rahmen des Synchronisationsprotokolls bestimmt werden, sodass von der Optimierung auf eine genaue Bestimmung der Abweichung profitiert werden kann. Sollte die Abweichung nicht zugänglich sein, beispielsweise weil eine das Synchronisationsprotokoll implementierende Softwarekomponente den Wert nicht bereitstellt, so kann die Abweichung auch dediziert bestimmt werden. Dabei kann im Wesentlichen die Vorgehensweise des Synchronisationsprotokolls nachvollzogen werden.
-
In einer weiteren Ausführungsform des Verfahrens kann seitens des zweiten Steuergeräts eine Sicherungsnachricht mit der aktuellen Zeit der ersten Zeitbasis vom ersten Steuergerät angefordert werden, falls die bestimmte Abweichung einen vorbestimmten Schwellenwert übersteigt. Dabei kann der Schwellenwert in Abhängigkeit eines durchschnittlichen Gangfehlers der zweiten Zeitbasis bestimmt sein. Hat die zweite Zeitbasis beispielsweise eine durchschnittliche Abweichung von weniger als ca. 20 - 30 ppm, so kann der Schwellenwert zu ca. 40 ppm oder ca. 50 ppm gewählt werden.
-
Das Synchronisationsprotokoll kann sicherstellen, dass die zweite Zeitbasis allmählich mit der ersten Zeitbasis synchronisiert wird. Sollte eine Anpassung erforderlich sein, deren Betrag den Schwellenwert übersteigt, kann dies ein Hinweis auf einen Fehler sein, beispielsweise einen Defekt der ersten oder zweiten Zeitbasis, einen Übertragungsfehler, einen Angriff auf eine übermittelte Nachricht oder einen Verarbeitungsfehler. In diesem Fall kann auf der Basis einer Sicherungsnachricht geprüft werden, ob das Vorliegen eines solchen Fehlers wahrscheinlich ist oder es sich eher um eine tolerierbare statistische Variation handelt.
-
Durch die Anforderung der Sicherungsnachricht nur dann, wenn der Verdacht eines Synchronisationsfehlers vorliegt, können weniger Daten zwischen den Steuervorrichtungen ausgetauscht werden. Verarbeitungseinrichtungen der Steuervorrichtungen können durch die Verarbeitung von Sicherungsnachrichten weniger stark belastet werden.
-
Nach einem weiteren Aspekt der vorliegenden Erfindung umfasst ein System ein erstes Steuergerät mit einer ersten Zeitbasis; und ein zweites Steuergerät mit einer zweiten Zeitbasis; wobei die Steuergeräte mittels eines Netzwerks miteinander verbunden sind. Die Steuergeräte sind dazu eingerichtet, Nachrichten im Rahmen eines Synchronisationsprotokolls auszutauschen und die zweite Zeitbasis auf die erste Zeitbasis abzugleichen. Das erste Steuergerät ist außerdem dazu eingerichtet, eine Sicherungsnachricht mit der aktuellen Zeit der ersten Zeitbasis an das zweite Steuergerät zu übermitteln; und das zweite Steuergerät ist dazu eingerichtet, einen Synchronisationsfehler zu bestimmen, falls eine aktuelle Zeit der zweiten Zeitbasis mehr als einen vorbestimmten Betrag von der empfangenen aktuellen Zeit der ersten Zeitbasis abweicht. Der vorbestimmte Betrag kann in Abhängigkeit eines durchschnittlichen Gangfehlers der zweiten Zeitbasis bestimmt sein.
-
Eines der Steuergeräte kann eine elektronische Verarbeitungseinrichtung umfassen, die dazu eingerichtet ist, einen Teil eines hierin beschriebenen Verfahrens auszuführen. Die Verarbeitungseinrichtung kann einen programmierbaren Mikrocomputer, einen Mikrocontroller oder einen integrierten Schaltkreis umfassen und das Verfahren kann in Form eines Computerprogrammprodukts mit Programmcodemitteln vorliegen. Das Computerprogrammprodukt kann auch auf einem computerlesbaren Datenträger abgespeichert sein. Merkmale oder Vorteile des Verfahrens können auf die Vorrichtung übertragen werden oder umgekehrt.
-
In einer weiteren Ausführungsform sind mehrere zweite Steuergeräte mit dem ersten Steuergerät verbunden. Dabei können mehrere Verfahren jeweils zur sicheren Synchronisation eines der zweiten Steuergeräte mit dem ersten Steuergerät ausgeführt werden. In einer Variante kann das Synchronisationsprotokoll auch zur Synchronisation mehrerer zweiter Zeitbasen auf die ersten Zeitbasis eingerichtet sein. Sind mehrere zweite Steuergeräte mittels eines Busses mit dem ersten Steuergerät verbunden, können beispielsweise Multicast- oder Unicast-Nachrichten für die Übermittlung bestimmter Nachrichten verwendet werden. In Abhängigkeit des verwendeten Synchronisationsprotokolls kann auch eine mehrstufige Synchronisation über mehrere Steuergeräte durchgeführt werden.
-
Das erste Steuergerät kann im Rahmen des Synchronisationsprotokolls unter mehreren Steuergeräten als dasjenige mit der am besten geeigneten Zeitbasis bestimmt werden. Optional kann das erste Steuergerät mit einer externen Zeitbasis synchronisiert werden, der beispielsweise einen Empfänger für Signale eines satellitengestützten Navigationssystems (GNSS) oder für Zeitsignale eines Zeitzeichensenders wie DCF77 umfassen. Ein solches Signal kann temporär nicht empfangen werden, beispielsweise wenn das System an Bord eines Fahrzeugs angebracht ist, das sich in einem Tunnel oder einer Tiefgarage befindet.
-
Die Steuergeräte im System sind bevorzugt dazu eingerichtet, die Daten in Echtzeit miteinander auszutauschen und zu verarbeiten. Durch eine hierin beschriebene Technik kann sichergestellt sein, dass eine Abweichung von Zeitbasen beteiligter Steuergeräte einen vorbestimmten Schwellenwert nicht übersteigt. Eine Echtzeit-Verarbeitung auf einem verteilten oder kooperativen System kann so verbessert erfolgen. Ausgetauschte Daten können insbesondere von einem Datenstrom umfasst sein, der auf eine Zeit bezogen sein kann. In einer Ausführungsform umfassen die Daten einen Audio- oder Videodatenstrom.
-
In einer weiter bevorzugten Ausführungsform ist die Verarbeitung der Daten sicherheitsrelevant. Beispielsweise kann ein physisches System in Abhängigkeit der Daten gesteuert werden. Mit dem physischen System kann eine potentielle Gefahr für einen Sach- oder Personenschaden im Fall an einer falschen Steuerung verbunden sein. Das physische System kann ein Kraftfahrzeug umfassen und das System kann dazu eingerichtet sein, das Kraftfahrzeug zu steuern. Dazu kann das System vom Kraftfahrzeug umfasst oder zumindest an Bord des Kraftfahrzeugs angebracht sein.
-
Die Erfindung wird nun mit Bezug auf die beigefügten Figuren genauer beschrieben, in denen:
- 1 ein System; und
- 2 ein Ablaufdiagramm eines Verfahrens
darstellt.
-
1 zeigt ein System 100 an Bord eines Kraftfahrzeugs 105. Das System 100 umfasst ein erstes Steuergerät 110 mit einer ersten Verarbeitungseinrichtung 115, einer ersten Zeitbasis 120 und einer optionalen ersten Schnittstelle 125, die rein exemplarisch mit einem Sensor 135 verbunden ist. Ferner umfasst das System 100 ein zweites Steuergerät 140 mit einer zweiten Verarbeitungseinrichtung 145, einer zweiten Zeitbasis 150 und einer optionalen zweiten Schnittstelle 160, die rein exemplarisch mit einem Aktor 165 verbunden ist.
-
Die Netzwerk-Adapter 125, 155 sind mit einem Netzwerk 170 verbunden, der vorliegend als Datenbus ausgeführt ist, beispielsweise nach einem Ethernet-Standard (vgl. IEEE 802.3). Optional sind noch eines oder mehrere weitere zweite Steuergeräte 140 vorgesehen, die mit demselben Netzwerk 170 oder auf eine andere Weise mit dem ersten Steuergerät 110 verbunden sein können.
-
Die Verarbeitungseinrichtungen 115, 145 sind bevorzugt jeweils dazu eingerichtet, auf vorbestimmten Daten eine zugeordnete Verarbeitung durchzuführen. Es ist zu beachten, dass es für die hierin vorgestellte Technik nicht erforderlich ist, dass das erste Steuergerät 110 eine solche Verarbeitung durchführt. Die Technik kann aber leichter erklärt werden, wenn von einer gemeinschaftlichen Datenverarbeitung zwischen den Steuergeräten 110, 140 ausgegangen wird, da die Synchronisation üblicherweise zwischen Steuergeräten 110, 140 erforderlich ist, die auf zeitbezogenen Daten arbeiten oder ihre Verarbeitungen aufeinander abstimmen. Die beschriebene Datenverarbeitung durch das erste Steuergerät 110 kann in einer anderen Ausführungsform durch ein weiteres zweites Steuergerät 140 erfolgen, das ebenfalls zeitlich mit dem ersten Steuergerät 110 synchronisiert ist.
-
Im dargestellten Beispiel kann das erste Steuergerät 110 ein Umfeld des Kraftfahrzeugs 105 mittels des Sensors 135 abtasten. Der Sensor 135 kann etwa einen Radarsensor, einen LiDAR-Sensor einen Ultraschallsensor oder eine Kamera umfassen. Auf der Basis von Signalen des Sensors 135 kann die erste Verarbeitungseinrichtung 115 Abtastdaten bereitstellen, zum Beispiel in Form eines Bildes oder eines Videodatenstroms. Die Abtastdaten können über das Netzwerk 170 an das zweite Steuergerät 140 bereitgestellt werden, in welchem die zweite Verarbeitungseinrichtung 145 beispielsweise ein abgebildetes Objekt erkennen und weiter optional in Abhängigkeit des Objekts eine Steuerung des Kraftfahrzeugs 105 durchführen kann. Dazu kann über die zweite Schnittstelle 160 in eine Längssteuerung und/oder eine Quersteuerung des Kraftfahrzeugs 105 eingegriffen werden.
-
Ein Netzwerk-Adapter 125, 155 kann einen integrierten Schaltkreis oder eine spezielle Ausführungseinrichtung umfassen, die einen eigenen Prozessor umfassen kann, wobei auch von einem Netzwerk-Prozessor 125, 155 gesprochen werden kann. Ein Netzwerk-Prozessor 125, 155 hat eine vorbestimmte Fähigkeit, auf ein vorbestimmtes Ereignis zu reagieren. Beispielsweise kann er ihm bereitgestellte Daten auf dem Netzwerk 170 bereitstellen oder er kann an ihn gerichtete Daten auf dem Netzwerk 170 erkennen. Solche Daten können eine vorbestimmte Reaktion des Netzwerk-Prozessors 125, 155 auslösen; beispielsweise kann er automatisch eine angeforderte Bestätigung auf eine Nachricht versenden. Die zugeordnete Verarbeitungseinrichtung 115, 145 kann somit von dieser Aufgabe entlastet werden. Insbesondere wenn der Netzwerk-Adapter 125, 155 einen Netzwerk-Prozessor umfasst, können bestimmte Protokolle zwischen den Steuergeräten 110, 140 von der Hardware-Unterstützung profitieren.
-
In einer anderen Ausführungsform kann der Netzwerk-Adapter 125, 155 ohne eigene Intelligenz ausgeführt und insbesondere nicht in der Lage sein, eine eingetroffene Nachricht automatisch zu beantworten, sondern leitet alle empfangenen Daten an die zugeordnete Verarbeitungseinrichtung 115, 145 weiter und nimmt alle zu sendenden Daten von der zugeordneten Verarbeitungseinrichtung 115, 145 entgegen. In diesem Fall kann ein Protokoll zwischen den Steuergeräten 110, 140 in Software realisiert werden, die zumindest teilweise auf der jeweiligen Verarbeitungseinrichtung 115, 145 abläuft.
-
Eine Zeitbasis 120, 150 ist üblicherweise durch eine Echtzeit-Uhr oder durch einen Zähler und einen Taktgenerator gebildet. Zur Bereitstellung eines Uhren- oder Zähltakts wird üblicherweise ein Oszillator auf Basis eines Schwingquarzes verwendet. Eine Genauigkeit der Zeitbasis 120, 150 ist beschränkt und liegt üblicherweise bei ca. 20 - 50 ppm. Allgemein ist bevorzugt, dass die erste Zeitbasis 120 des ersten Steuergeräts 110 so genau wie möglich ist, wobei die Genauigkeit weiter bevorzugt nicht geringer als die der zweiten Zeitbasis 150 ist. Die erste Zeitbasis 120 kann zusätzlich mit einer externen Zeitbasis abgeglichen werden, die beispielsweise durch einen Empfänger für Signale eines GNSS oder eines Zeitzeichensenders gebildet sein kann.
-
Die Steuergeräte 110, 140 können ein vorbestimmtes Synchronisationsprotokoll wie PTP verwenden, um die zweiten Zeitbasis 150 an die erste Zeitbasis 120 anzugleichen. Dazu können entsprechende Nachrichten zwischen den Steuergeräten 110, 140 ausgetauscht werden. In einer Ausführungsform wird dabei zunächst das erste Steuergerät 110, auf dessen Zeitbasis 120 die Zeitbasis 150 eines oder mehrerer zweiter Steuergeräte synchronisiert wird, als dasjenige Steuergerät 110, 140 bestimmt, dessen Zeitbasis 120 die höchste Genauigkeit bzw. die geringste Schwankung aufweist. Anschließend können Übertragungsdauern zwischen den Steuergeräten 110, 140 und darauf basierend Abweichungen der lokalen Zeiten ihrer Zeitbasen 120, 140 bestimmt werden. Dann kann eine Ganggeschwindigkeit der zweite Zeitbasis 150 passend verändert werden. Das Synchronisationsprotokoll kann permanent oder periodisch zwischen den Steuergeräten 110, 140 ausgeführt werden.
-
Es wird vorgeschlagen, zu vorbestimmten Anlässen zusätzlich eine Sicherungsnachricht vom ersten Steuergerät 110 an das zweite Steuergerät 140 zu übermitteln, die eine aktuelle Zeit der ersten Zeitbasis 120 umfasst. Dabei ist die Sicherungsnachricht abgesichert, sodass das zweite Steuergerät 140 beispielsweise erkennen kann, ob die Sicherungsnachricht korrekt übermittelt wurde und vom ersten Steuergerät 140 stammt. Zur Absicherung können auch mehrere Sicherungsmaßnahmen miteinander kombiniert werden. Die übermittelte Sicherungsnachricht kann ein weniger genaues Abgleichen der zweiten Zeitbasis 150 auf die erste Zeitbasis 120 ermöglichen, dafür aber den Vorteil der Absicherung bieten. Das zweite Steuergerät 140 kann dann seine Zeitbasis 150 auf der zusätzlichen Basis der Sicherungsnachricht bzw. der umfassten Zeit abgleichen.
-
2 zeigt ein Ablaufdiagramm eines Verfahrens 200 zum Synchronisieren einer zweiten Zeitbasis 150 eines zweiten Steuergeräts 140 an eine erste Zeitbasis 120 eines ersten Steuergeräts 110. Links dargestellte Schritte werden bevorzugt seitens des ersten Steuergeräts 110 und rechts dargestellte Schritte bevorzugt seitens des zweiten Steuergeräts 140 ausgeführt.
-
In einem Schritt 205 kann seitens des ersten Steuergeräts 110 eine aktuelle Zeit auf der Basis der ersten Zeitbasis 120 bestimmt werden. In einem Schritt 210 kann auf der Basis der bestimmten Zeit eine Nachricht an das zweite Steuergerät 140 übermittelt werden. Umgekehrt kann seitens des zweiten Steuergeräts 140 in einem Schritt 215 eine aktuelle Zeit auf der Basis der zweiten Zeitbasis 150 bestimmt werden und in einem Schritt 220 kann eine Nachricht auf der Basis der bestimmten Zeit bestimmt und an das erste Steuergerät 110 übermittelt werden. Eine empfangene Nachricht kann so schnell wie möglich beantwortet werden, wobei der Antwort eine lokale Zeit der zugeordneten Zeitbasis 120, 150 beigefügt werden kann. Die ausgetauschten Nachrichten haben den Zweck, eine Verzögerung zu bestimmen, die für die Übermittlung einer Nachricht in der einen bzw. in der anderen Richtung anzusetzen ist. Eine in einer Nachricht empfangene Zeit des anderen Steuergeräts 110, 140 kann so um eine bestimmte Übermittlungszeit korrigiert und mit einer lokalen Zeit verglichen werden. So kann insbesondere seitens des zweiten Steuergeräts 140 in einem Schritt 225 bestimmt werden, um welchen Betrag die Zeit der zweiten Zeitbasis 150 von der Zeit der ersten Zeitbasis 120 des ersten Steuergeräts 110 abweicht. Die zweite Zeitbasis 150 kann dann die zweite Zeitbasis 150 an die erste Zeitbasis 120 angleichen. Dazu kann eine Ganggeschwindigkeit der zweiten Zeitbasis 150 angepasst werden, um die Abweichung allmählich zu minimieren.
-
Die Schritte 205 bis 225 können von einem Synchronisationsprotokoll wie PTP oder bevorzugt gPTP umfasst sein, das zwischen den Steuergeräten 110, 140 ausgeführt werden kann. Ein anderes Synchronisationsprotokoll kann ebenfalls verwendet werden. Optional kann der Schritt 225 auch außerhalb des Synchronisationsprotokolls ausgeführt werden. Es ist zu beachten, dass das Synchronisationsprotokoll bevorzugt fortlaufend oder periodisch weiter ausgeführt wird, während im folgenden beschriebene Schritte des Verfahrens 200 ausgeführt werden.
-
In einem Schritt 230 kann seitens des zweiten Steuergeräts 140 bestimmt werden, ob die Abweichung größer als ein vorbestimmter Schwellenwert ist. Der Schwellenwert kann auf der Basis einer Genauigkeit der zweiten Zeitbasis 150 bestimmt sein und umfasst bevorzugt einen gerade noch plausiblen Wert. Dazu kann eine vorbestimmte Zeit vorausgesetzt werden, über die keine Synchronisation mit dem ersten Steuergerät 110 stattgefunden hat. Der Schwellenwert kann einen aufgrund der Genauigkeit bestimmten maximalen Fehler in dieser Zeit umfassen oder um ein vorbestimmtes Maß größer als dieser gewählt sein. Liegt die Abweichung unter dem Schwellenwert, so muss keine weitere Aktion erfolgen. Optional kann beispielsweise für einen Start des Systems 100 auch eine sehr große Abweichung akzeptiert werden. In einem solchen Fall kann die Zeit der zweiten Zeitbasis 150 sprunghaft an die Zeit der ersten Zeitbasis 120 angepasst werden.
-
Andernfalls, wenn die Abweichung als zu groß bestimmt wurde, kann in einem Schritt 235 eine Sicherungsnachricht vom ersten Steuergerät 110 angefordert werden. Das erste Steuergerät 240 kann die angeforderte Sicherungsnachricht in einem Schritt 240 bereitstellen und an das zweite Steuergerät 140 übermitteln. Dabei umfasst die Sicherungsnachricht einen Hinweis auf eine absolute Zeit der ersten Zeitbasis 120 möglichst nahe am Zeitpunkt des Aussendens der Sicherungsnachricht.
-
Außerdem ist die Sicherungsnachricht abgesichert, weiter bevorzugt mittels einer Ende-Ende Sicherung. Die Sicherung kann eine oder mehrere Maßnahmen umfassen, die es dem Empfänger, also dem zweiten Steuergerät 140 erlauben, eine Korrektheit und/oder eine Authentizität der empfangenen Sicherungsnachricht zu bestimmen. Zur Absicherung kann ein vorbestimmter Dialog zwischen den Steuergeräten 110, 140 erfolgen, beispielsweise um die Übermittlung anzukündigen oder auf die Sicherungsnachricht bezogene Informationen auszutauschen. Ein Inhalt der Sicherungsnachricht kann mittels einer Prüfsumme abgesichert werden, mittels offener oder kryptografischer Methoden. Eine empfangene Sicherungsnachricht kann vom zweiten Steuergerät 140 an das erste Steuergerät 110 quittiert werden, wobei die Quittung ebenfalls abgesichert sein kann. Das erste Steuergerät 110 kann diese Nachricht erneut quittieren und das zweite Steuergerät 140 kann die empfangene Sicherungsnachricht erst nach dem Empfang dieser Quittung akzeptieren.
-
In einem Schritt 245 kann das zweite Steuergerät 140 bestimmen, ob die Sicherungsnachricht authentisch ist und/oder korrekt übermittelt wurde. Ist dies der Fall, so kann in einem Schritt 250 die übermittelte Zeit extrahiert und mit der lokalen Zeit verglichen werden. Dann kann bestimmt werden, ob eine bei diesem Vergleich bestimmte Differenz nahe genug an der im Schritt 225 bestimmten Abweichung liegt. Ist das nicht der Fall, so kann in einem Schritt 255 ein Synchronisationsfehler bestimmt werden. Ein Synchronisationsfehler oder ein anderer vorbestimmter Fehler kann auch bestimmt werden, falls im Schritt 245 bestimmt wird, dass die Sicherungsnachricht nicht authentisch ist oder nicht korrekt übermittelt wurde.
-
Liegt ein Synchronisationsfehler vor, so kann das zweite Steuergerät 140 seine Verarbeitung von Daten entsprechend daran anpassen. Beispielsweise kann es verarbeitete Daten kennzeichnen, verarbeitete Daten mit einer veränderten Häufigkeit bereitstellen oder die Verarbeitung oder Bereitstellung von Daten einstellen. Außerdem kann es das erste Steuergerät 110 oder ein anderes zweites Steuergerät 140 von der zweifelhaften Synchronisation unterrichten, sodass auch dieses ggf. seine Verarbeitung anpassen kann.
-
In einer weiteren Ausführungsform stellt das erste Steuergerät 110 Sicherungsnachrichten nicht nur auf Anforderung, sondern beispielsweise zeit- oder ereignisgesteuert zur Verfügung.
-
Bezugszeichen
-
- 100
- System
- 105
- Kraftfahrzeug
- 110
- erstes Steuergerät
- 115
- erste Verarbeitungseinrichtung
- 120
- erste Zeitbasis
- 125
- erster Netzwerk-Adapter
- 130
- erste Schnittstelle
- 135
- Sensor
- 140
- zweites Steuergerät
- 145
- zweite Verarbeitungseinrichtung
- 150
- zweite Zeitbasis
- 155
- zweiter Netzwerk-Adapter
- 160
- zweite Schnittstelle
- 165
- Aktor
- 170
- Netzwerk
- 200
- Verfahren
- 205
- aktuelle Zeit bestimmen
- 210
- Nachricht übermitteln
- 215
- aktuelle Zeit bestimmen
- 220
- Nachricht übermitteln
- 225
- Abweichung bestimmen
- 230
- Abweichung > Schwellenwert?
- 235
- Sicherungsnachricht anfordern
- 240
- Sicherungsnachricht übermitteln
- 245
- Sicherungsnachricht korrekt?
- 250
- Abweichung OK?
- 255
- Synchronisationsfehler bestimmen