DE102015213845A1 - Verfahren und Vorrichtung zur Validierung eines Zeitstempels einer Datenübertragung - Google Patents

Verfahren und Vorrichtung zur Validierung eines Zeitstempels einer Datenübertragung Download PDF

Info

Publication number
DE102015213845A1
DE102015213845A1 DE102015213845.3A DE102015213845A DE102015213845A1 DE 102015213845 A1 DE102015213845 A1 DE 102015213845A1 DE 102015213845 A DE102015213845 A DE 102015213845A DE 102015213845 A1 DE102015213845 A1 DE 102015213845A1
Authority
DE
Germany
Prior art keywords
data packet
data
time
time stamp
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102015213845.3A
Other languages
English (en)
Inventor
Helge Zinner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102015213845.3A priority Critical patent/DE102015213845A1/de
Priority to US15/213,797 priority patent/US10154058B2/en
Priority to JP2016143438A priority patent/JP6881906B2/ja
Publication of DE102015213845A1 publication Critical patent/DE102015213845A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Abstract

Verfahren zur Validierung eines Zeitstempels umfassend: – Empfangen eines ersten Datenpakets (120A–D) umfassend erste Nutzdaten, von einem ersten Sender (102A–D), – Empfangen eines zweiten Datenpakets (121A–D) umfassend einen ersten, den ersten Nutzdaten zugeordneten Zeitstempel, – Vergleichen des ersten Zeitstempels mit einem vorgegebenen zweiten, den ersten Nutzdaten zugeordneten, Zeitstempel, zur Bestimmung eines ersten, den ersten Nutzdaten zugeordneten, validierten Zeitstempels, – Empfangen eines dritten Datenpakets (120A–D) umfassend zweite Nutzdaten, von einem, vom ersten Sender (102A–D) verschiedenen, zweiten Sender (102A–D), – Empfangen eines vierten Datenpakets (121A–D) umfassend einen dritten, den zweiten Nutzdaten zugeordneten Zeitstempel, – Vergleichen des dritten Zeitstempels mit einem vorgegebenen vierten, den zweiten Nutzdaten zugeordneten, Zeitstempel, zur Bestimmung eines zweiten, den zweiten Nutzdaten zugeordneten, validierten Zeitstempels, – Vergleich des ersten validierten Zeitstempels mit dem zweiten validierten Zeitstempel.

Description

  • 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.
  • Die in Fahrzeugen, insbesondere in Kraftfahrzeugen eingesetzten Steuergeräte werden über ein Rechnernetz, sogenanntes Bordnetz, untereinander und mit Sensoren zur Erfassung von Zuständen des Fahrzeugs oder von Teilen davon verbunden. Dabei erfüllen die in einem Fahrzeug eingesetzten Steuergeräte unterschiedliche Funktionen zum Betrieb des Fahrzeugs und empfangen diesbezüglich über das Bordnetz Daten, die von Sensoren gesendet werden. Viele Anwendungen benötigen dabei möglichst deterministische Kenntnisse über die Zuverlässigkeit der Sensordaten. Um eine möglichst zuverlässige Funktion des Fahrzeugs zu gewährleisten, muss das Bordnetz daher besonders hohe Anforderungen bezüglich der Pünktlichkeit der auf dem Bordnetz übertragenen Daten erfüllen.
  • Offenbarung der Erfindung
  • Das Verfahren mit den Merkmalen des unabhängigen Anspruchs 1 hat den Vorteil, dass die Pünktlichkeit und Integrität der Datenübertragung von Nutzdaten von verschiedenen Sendern durch Validierung mittels Zeitstempeln erkennbar wird. Dadurch können beispielsweise durch einen Angriff auf das Bordnetz bewusst gefälschte, durch fehlende oder fehlerhafte Synchronisation des Bordnetzes ungültige oder durch sonstige Störungen unpünktliche oder veraltete Nutzdaten erkannt und entsprechend behandelt werden.
  • 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.
  • Weiter unabhängige Ansprüche betreffen ein Verfahren zum Senden eines validierbaren Zeitstempels für eine Datenübertragung sowie eine Vorrichtung und ein Computerprogramm die dieselben Vorteile ermöglichen.
  • Ausführungsbeispiele sind in den Zeichnungen dargestellt und in der nachfolgenden Beschreibung näher erläutert.
  • Es zeigen:
  • 1 schematisch einen Teil eines Bordnetzes eines Fahrzeugs,
  • 2 schematisch einen Signalfluss von Datenpaketen,
  • 3 schematisch ein Flussdiagramm,
  • 4 schematisch ein Flussdiagramm,
  • 5 schematisch einen Signalfluss von Datenpaketen,
  • 6 schematisch ein Flussdiagramm.
  • 1 zeigt schematisch einen Teil eines Bordnetzes 100 eines Fahrzeugs insbesondere eines Kraftfahrzeugs. Das Bordnetz umfasst ein Steuergerät 101, mehrere Sensoren 102A, 102B, 102C, 102D und einen Switch 103. Die Sensoren 102A, 102B und 102C sind im Beispiel über einen Datenbus 104A, 104B bzw. 104C direkt mit dem Steuergerät 101 verbunden. Ein Sensor 102D ist im Beispiel über einen Datenbus 104D, den Switch 103 und einen Datenbus 105 mit dem Steuergerät 101 verbunden. Im Beispiel wird ein Ethernet-Datenbus beispielsweise nach einem der Standards Ethernet AVB, Ethernet TSN, 1000 Mbit/s Ethernet, 100 Mbit/s Ethernet oder 10 Mbit/s Ethernet verwendet. Beispielsweise werden die Daten über verdrillte Zweidrahtleitungen, insbesondere aus Kupfer, vorzugsweise mittels der physikalische Übertragungstechnologie 100BASE-T1 übertragen.
  • Das Steuergerät 101, die Sensoren 102A, 102B, 102C, 102D und der Switch 103 umfassen jeweils einen Taktgeber 106, 107, 108, 109, 110, 111. Die Sensoren 102A, 102B, 102C, 102D umfassen einen Sender 112, 113, 114, 115. Das Steuergerät 101 umfasst einen oder mehrere Empfänger 116. Der Switch 103 umfasst eine erste Schnittstelle 117 und eine zweite Schnittstelle 118. Die Sender können auch zusätzlich als Empfänger ausgebildet sein. Die Empfänger können zusätzlich auch als Sender ausgebildet sein. Die Sender und Empfänger sowie die Schnittstellen sind ausgebildet Datenpakete gemäß der verwendeten Übertragungstechnologie auf dem Datenbus zu senden bzw. zu empfangen.
  • Die jeweiligen Sensoren 102A, 102B, 102C, 102D senden beispielsweise über die jeweiligen Sender 112, 113, 114, 115 Datenpakete 120A, 120B, 120C, 120D. Die Datenpakete 120A, 120B, 120C, 120D werden im Beispiel mit jeweils mindestens einem dem jeweiligen Datenpaket 120A, 120B, 120C, 120D zugeordneten Zeitstempel 121A, 121B, 121C, 121D in einem Datenrahmen, insbesondere Ethernet Datenrahmen, gesendet. Die Zeitstempel können auch in separaten Datenrahmen gesendet werden.
  • Zur Erzeugung der Zeitstempel und der Synchronisation der Taktgeber 106, 107, 108, 109, 110 wird beispielsweise das Precision Time Protocol verwendet. Ausgehend von entsprechenden Triggersignalen der Taktgeber 106, 107, 108, 109, 110, 111 werden Zeitstempel nach einem Synchronisierungsstandard beispielsweise IEEE802.1AS, IEEE802.1ASbt oder IEEE1588 erzeugt. Die Zeitstempel werden zwischen den jeweiligen sendenden und empfangenden Geräten beispielsweise mittels dieser Protokolle ausgetauscht.
  • 2 zeigt schematisch einen Teil eines Signalflusses von Datenpaketen.
  • Wie in 2 dargestellt, werden zwischen einem ersten Zeitpunkt t1 und einem zweiten Zeitpunkt t2 die Datenpakete 120A, 120B, 120C, 120D in den Sensoren 102A, 102B, 102C, 102D erzeugt. Die Erzeugung der Datenpakete kann dabei zu unterschiedlichen Zeitpunkten innerhalb eines zwischen dem ersten Zeitpunkt t1 und dem zweiten Zeitpunkt t2 liegenden Zeitintervalls erfolgen. Dabei kann vorgesehen sein, einen Zeitstempel 121B, 121C, bereits zum Zeitpunkt der Erzeugung der Datenpakete zu erzeugen. In diesem Fall kann vorgesehen sein, einen Datenrahmen umfassend sowohl den Zeitstempel 121B, 121C als auch Nutzdaten 125B, 125C zur gemeinsamen Versendung zu erzeugen. Alternativ kann vorgesehen sein, die Nutzdaten 125B, 125D erst zum Zeitpunkt der Versendung mit dem Zeitstempel 121A, 1210 zu versehen. In jedem Fall charakterisiert dabei der Zeitstempel 121A, 121B, 1210, 1210 einen Sendezeitpunkt des jeweiligen Datenpakets 120A, 120B, 120C, 120D.
  • In 2 dargestellte Datenrahmen umfassen dabei sowohl ein Datenpaket umfassend den Zeitstempel als auch ein Datenpaket umfassend die Nutzdaten in einem gemeinsamen Datenrahmen. Alternativ dazu kann vorgesehen sein, den Zeitstempel zusammen mit einer Identifikation des zugehörigen Nutzdatenpakets in einem separaten Datenrahmen zu versenden. Das Versenden der Datenrahmen erfolgt dabei im Beispiel zu unterschiedlichen Zeitpunkten, die nach dem zweiten Zeitpunkt t2 liegen. Es kann alternativ zu einem gemeinsamen zweiten Zeitpunkt t2 und einem gemeinsamen ersten Zeitpunkt t1 auch vorgesehen sein, für einen oder mehrere Sensoren 102A, 102B, 102C 102D verschiedene erste Zeitpunkte t1 und/oder verschiedene zweite Zeitpunkte t2 vorzusehen.
  • Der Versand eines Datenrahmens bzw. Datenpakets 120D erfolgt im Beispiel über den Switch 103. Der Switch 103 erzeugt dabei beim Empfang des Datenrahmens bzw. Datenpakets 120D, insbesondere an der ersten Schnittstelle 117, vorzugsweise mittels Taktes des Taktgebers 108, einen weiteren Zeitstempel 126D, der dem Datenpaket 120D im Beispiel hinzugefügt wird. Der Switch 103 leitet das so erzeugte Datenpaket 120D, insbesondere über die zweite Schnittstelle 118 weiter. Alternativ kann vorgesehen sein, den Zeitstempel zusammen mit einer das Datenpaket 120D identifizierenden Identifikation in einem separaten Datenrahmen zu senden.
  • Zwischen einem dritten Zeitpunkt t3 und einem vierten Zeitpunkt t4 werden die Datenrahmen bzw. Datenpakete 120A, 120B, 120C, 120D vom Empfänger 116 des Steuergeräts 101 empfangen. Dabei ist vorgesehen, beim Empfang einen dritten Zeitstempel 127A, 127B, 127C, 127D zu erzeugen. Dieser wird im Beispiel dem Datenrahmen bzw. dem Datenpaket 120A, 120B, 120C, 120D hinzugefügt. Alternativ kann vorgesehen sein, den Zeitstempel 127A, 127B, 127C 127D zugeordnet zum jeweiligen Datenrahmen bzw. Datenpaket 120A, 120B, 120C, 120D oder den jeweiligen Nutzdaten 125A, 125B, 125C, 125D im Steuergerät 101 abzuspeichern.
  • Zudem kann vorgesehen sein, den Datenrahmen bzw. das Datenpaket 120A, 120B, 120C, 120D zu analysieren und den oder die darin enthaltenen Zeitstempel 121A, 121B, 121C, 121D, 126D zu erfassen und zugeordnet zu den genannten Datenrahmen bzw. Datenpaketen 120A, 120B, 120C, 120D oder den jeweiligen Nutzdaten 125A, 125B, 125C, 125D abzuspeichern.
  • In komplexeren Netzwerken können dabei mehrere Switches oder Steuergeräte hintereinander geschaltet miteinander verbunden sein. In diesem Fall können mehrere Zeitstempel von mehreren Steuergeräten oder Switches, die das jeweilige Datenpaket weiterleiten, verwendet werden. Im Falle dass die Zeitstempel in separaten Nachrichten gesendet werden, ist der Empfänger 116 bzw. das Steuergerät 101 ausgebildet, die jeweiligen Zeitstempel zugeordnet zu den jeweiligen Datenpaketen bzw. Nutzdaten abzuspeichern. Dazu wird beispielsweise die Identifikation der Nutzdaten bzw. des jeweiligen Datenpakets verwendet.
  • Es kann zudem vorgesehen sein, Pakete vor dem Versand zu assemblieren und nach dem Versand zu disassemblieren.
  • Zudem kann vorgesehen sein, die jeweiligen Zeitstempel abhängig vom Gerät, das den Zeitstempel erzeugt hat zu klassifizieren. Beispielsweise ist vorgesehen, Zeitstempel, die von einem Sensor erzeugt wurden und weitere zusätzlich eingeführte Zeitstempel, die beispielsweise von einem Switch erzeugt wurden, zu unterscheiden. Dazu können die Zeitstempel beispielsweise eine eindeutige Identifikation der Geräteklasse bzw. des Geräts selbst umfassen.
  • Ein Verfahren zur Validierung von Zeitstempeln wird im Folgenden anhand des Flussdiagramms in 3 erläutert.
  • Im Beispiel werden als Nutzdaten unterschiedliche Sensordaten beispielsweise Radar-, Lidar- oder Kamerasignale für eine Sensorfusionseinheit, die im Steuergerät 101 vorgesehen ist, übertragen. In diesem Fall ist besonders darauf zu achten, dass die Nutzdaten, die zur Datenfusion verwendet werden auch zeitlich zueinander passen. Aufgabe der Fusionseinheit, die beispielsweise als Anwendung in dem Steuergerät 101 vorgesehen ist, ist es die Daten der Sensoren zu fusionieren und dabei die zeitliche Relation der unterschiedlichen von den Sensoren gelieferten Nutzdaten zueinander zu berücksichtigen. Problematisch ist dabei, dass beispielsweise durch unterschiedliche Wege im Bordnetz, unterschiedliche Verarbeitungszeiten der Switches oder der Sensoren selbst oder aufgrund der Last auf dem zur Übertragung verwendeten Datenbus die Nutzdaten unterschiedlicher Sensoren nicht mehr zu vorhersehbaren Zeitpunkten beim Steuergerät 101 zur Datenfusion eintreffen. Dadurch bekommt eine Sensorfusionseinheit die für die Fusion zusammengehörigen Daten einzelner Sensoren zu unterschiedlichen Zeiten. Insbesondere bei der Verwendung von Ethernet auf dem Datenbus treten solche Unterschiede auf, da Ethernet kein deterministisches Verhalten bezüglich des Sendens von Datenpaketen oder Datenrahmen aufweist.
  • Das Verfahren beginnt beispielsweise beim Empfang von Nutzdaten in einem Datenrahmen bzw. Datenpaket, insbesondere einem Ethernet Datenrahmen.
  • Das Verfahren wird am Beispiel von ersten Nutzdaten eines ersten Sensors 102A und zweiten Nutzdaten eines zweiten Sensors 102D beschrieben. Auf andere Nutzdaten ist das Beispiel ebenso anwendbar.
  • Im Beispiel wird ein Datenrahmen empfangen, der ein erstes Datenpaket 125A, umfassend die erste Nutzdaten und ein zweites Datenpaket 121A umfassend einen ersten Zeitstempel beinhaltet. Der erste Zeitstempel charakterisiert dabei einen ersten Sendezeitpunkt des ersten Datenpakets 125A. Alternativ kann der erste Zeitstempel auch den Zeitpunkt der Erzeugung der ersten Nutzdaten 125A charakterisieren. Das erste Datenpaket 120A und das zweite Datenpaket 121A können auch in getrennten Datenrahmen empfangen werden. In jedem Fall ist der jeweilige Zeitstempel den jeweiligen Nutzdaten bzw. Datenpaketen beispielsweise über eine den Nutzdaten bzw. den Datenpaketen und den jeweiligen Zeitstempeln zugeordnete eindeutige Identifikation zuordenbar.
  • Nach dem Start wird ein Schritt 301 ausgeführt.
  • Im Schritt 301 wird ein zweiter Zeitstempel vorgegeben. Der zweite Zeitstempel charakterisiert dabei im Beispiel einen ersten Empfangszeitpunkt des ersten Datenpakets 120A vom ersten Sensor 102A. Im Beispiel charakterisiert der erste Empfangszeitpunkt den Zeitpunkt des Empfangs beim Steuergerät 101. Beispielsweise wird dazu beim Empfang des ersten Datenpakets 120A, bzw. des Datenrahmens abhängig vom Takt des Taktgebers 111 ein Hardwarestempel am Empfänger 116 des Steuergeräts 101 erzeugt und als zweiter Zeitstempel vorgegeben.
  • Anschließend wird ein Schritt 302 ausgeführt.
  • Im Schritt 302 wird geprüft, ob ein drittes Datenpaket 120D umfassend zweite Nutzdaten 125D und ein viertes Datenpaket 1210 umfassend einen dritten Zeitstempel, der einen zweiten Sendezeitpunkt des dritten Datenpakets 120D oder einen Entstehungszeitpunkt der zweiten Nutzdaten 125D charakterisiert empfangen wurde. Der Schritt 302 ist optional und entfällt beispielsweise wenn die entsprechende Datenpakete bereits empfangen wurden.
  • Im Schritt 302 wird zudem ein vierter Zeitstempel vorgegeben. Der vierte Zeitstempel charakterisiert dabei im Beispiel einen zweiten Empfangszeitpunkt des dritten Datenpakets 120D das vom zweiten Sensor 102D gesendet wurde. Im Beispiel charakterisiert der zweite Empfangszeitpunkt den Zeitpunkt des Empfangs beim Steuergerät 101. Beispielsweise wird dazu beim Empfang des dritten Datenpakets 120D, bzw. des Datenrahmens abhängig vom Takt des Taktgebers 111 ein Hardwarestempel am Empfänger 116 des Steuergeräts 101 erzeugt und als vierter Zeitstempel vorgegeben.
  • Wenn das dritte Datenpaket 120D und das vierte Datenpaket 1210 empfangen wurden, wird ein Schritt 303 ausgeführt. Wenn der optionale Schritt 302 nicht ausgeführt wird, wird der Schritt 303 nach dem Schritt 301 ausgeführt.
  • Falls im optionalen Schritt 302 kein drittes und kein viertes Datenpaket empfangen wurde, kann vorgesehen sein, den optionalen Schritt 302 bis zum Empfang eines dritten und vierten Datenpakets zu wiederholen. In diesem Fall kann vorgesehen sein, das Verfahren mit einer Fehlermeldung zu beenden, wenn für eine vorgegebene Zeit kein drittes Datenpaket oder kein viertes Datenpaket empfangen wird. Genauso kann vorgesehen sein, anstelle auf den Empfang eines dritten oder vierten Datenpakets zu warten, ein bereits empfangenes drittes und/oder viertes Datenpaket aus einem Zwischenspeicher zu verwenden.
  • Im Schritt 303 wird der erste Zeitstempel mit dem vorgegebenen zweiten Zeitstempel verglichen. Im Beispiel bedeutet dies, dass der erste Empfangszeitpunkt des ersten Datenpakets 120A mit dem ersten Sendezeitpunkt des ersten Datenpakets 120A bzw. dem Zeitpunkt der Erzeugung der ersten Nutzdaten 125A verglichen wird. Falls der Unterschied zwischen den beiden Zeitstempeln kleiner als ein vorgegebener Wert ist, wird ein Schritt 304 aufgeführt. Andernfalls wird ein Schritt 305 ausgeführt.
  • Im Schritt 303 wird dazu beispielsweise überprüft, ob der erste Zeitstempel früher als der zweite Zeitstempel erzeugt wurde. Wurde der erste Zeitstempel vor dem zweiten Zeitstempel erzeugt deutet dies darauf hin, dass die jeweiligen Nutzdaten vor ihrem Empfangszeitpunkt am Steuergerät 101 im Sensor erzeugt bzw. vom Sensor versendet wurden.
  • Der Unterschied zwischen den beiden Zeitstempeln bzw. der vorgegebene Wert wird beispielsweise beim Systemdesign des Bordnetzes, abhängig von der Position des Sensors zum Steuergerät bzw. der dazwischenliegenden Switche und der eingesetzten Datenbusse gemessen oder bestimmt. Der vorgegebene Wert wird beispielsweise im Steuergerät 101 gespeichert.
  • Beispielsweise wird der vorgegebene Wert bei der Bandendeprogrammierung oder beim ersten Start des Steuergeräts 101 gemessen und abgespeichert.
  • Entsprechend kann vorgesehen sein, einen weiteren Vergleich mit einem maximalen Wert durchzuführen, um zu überprüfen ob der Unterschied zwischen den Zeitstempeln den maximalen Wert überschreitet. Der maximale Wert wird beispielsweise, wie bereits für den vorgegebenen Wert beschrieben, beim Systemdesign gemessen oder bestimmt oder bei der Bandendeprogrammierung oder dem ersten Start des Steuergeräts 101 ermittelt und im Steuergerät 101 abgespeichert.
  • Der vorgegebene Wert liegt beispielsweise im Bereich 0–100 ms, vorzugsweise 5–100 ms, 0–10 ms oder beträgt 0.
  • Der maximale Wert liegt beispielsweise im Bereich 1–100 ms, vorzugsweise 5–100 ms, 2–10 ms oder beträgt 100 ms.
  • Liegt in diesem Fall die Differenz zwischen den Zeitstempeln außerhalb des zulässigen Bereichs wird der Schritt 305 ausgeführt, Anderenfalls wird der Schritt 304 ausgeführt.
  • Im Schritt 305 liegt die Differenz zwischen den Zeitstempeln außerhalb des zulässigen Bereichs. Beispielsweise ist der Unterschied zwischen den Zeitstempeln kleiner als der vorgegebene Wert, beispielsweise < 0 und deutet darauf hin, dass einer der Zeitstempel bewusst gefälscht sein könnte, ungültig sein könnte, da noch keine Synchronisation vorliegt oder beispielsweise durch Bitdreher fehlerhaft sein könnte.
  • Der Unterschied kann auch größer als der maximale Wert, beispielsweise größer als 10 ms, 100 ms bzw. 5 ms sein. Dies bedeutet, dass die Sensordaten möglicherweise bereits zu alt sind, um für die Datenfusion verwendet werden zu können.
  • In jedem Fall kann vorgesehen sein, einen entsprechenden Fehler im Steuergerät 101 zu speichern bzw. die zugehörigen Nutzdaten zu verwerfen. Nach dem Schritt 305 wird der Schritt 301 ausgeführt.
  • Zudem kann vorgesehen sein, das Verfahren im Schritt 305 zu beenden, wenn die Abweichung der Zeitstempel größer als ein weiterer Schwellwert ist oder wenn zu häufig Abweichungen der Zeitstempel auftreten.
  • Im Schritt 304 wird der dritte Zeitstempel mit dem vierten Zeitstempel verglichen. Dies erfolgt im Beispiel wie im Schritt 303 für den ersten Zeitstempel und den zweiten Zeitstempel beschrieben. Dazu wird ebenfalls ein, insbesondere im Steuergerät 101 abgespeicherter, vorgegebener Wert bzw. ein maximaler Wert verwendet. Diese können dieselben Werte sein, oder wie in Schritt 303 beschrieben als unterschiedliche Werte bestimmt werden.
  • Falls der Unterschied zwischen dem dritten Zeitstempel und dem vierten Zeitstempel kleiner als der vorgegebene Wert ist, oder die Differenz zwischen den Zeitstempeln innerhalb des zulässigen Bereichs liegt, wird ein Schritt 306 aufgeführt. Andernfalls wird der Schritt 305 ausgeführt.
  • Im Schritt 306 wird der erste Zeitstempel als erster validierter Zeitstempel mit dem dritten Zeitstempel als zweiter validierter Zeitstempel verglichen.
  • Durch den Vergleich des ersten Zeitstempels, der den ersten Sendezeitpunkt des ersten Datenpakets 120A, das die ersten Nutzdaten 125A umfasst, charakterisiert mit dem dritten Zeitstempel der einen zweiten Sendezeitpunkt des dritten Datenpakets 120D charakterisiert, das die zweiten Nutzdaten 125D umfasst wird festgestellt, ob die zur Datenfusion zu verwendenden Nutzdaten die erforderliche zeitliche Übereinstimmung aufweisen.
  • Beispielsweise wird dazu ein Schwellwert für den Unterschied zwischen den Zeitstempeln vorgegeben. Der Schwellwert ist beispielsweise ein Zeitwert im Bereich von Millisekunden, bspw. 100 ms, 5 ms oder 1 ms. Beispielsweise wird der Schwellwert im Steuergerät 101 gespeichert und im Schritt 306 aus dem Speicher ausgelesen.
  • Beispielsweise besteht die erforderliche zeitliche Übereinstimmung der Nutzdaten, wenn ihre validierten Zeitstempel übereinstimmen oder der Betrag der Differenz der in den Zeitstempeln angegebenen Zeitpunkte kleiner als der Schwellwert ist.
  • Falls die erforderliche zeitliche Übereinstimmung besteht, wird ein Schritt 307 ausgeführt. Andernfalls wird Schritt 305 ausgeführt.
  • Im Schritt 307 werden die ersten Nutzdaten 125A und die zweiten Nutzdaten 125D zur Datenfusion verwendet.
  • Das bedeutet, dass zumindest die Nutzdaten abhängig vom Ergebnis des Vergleichs der validierten Zeitstempel verwendet werden. Dadurch kann beispielsweise anhand der Empfangszeitpunkte der jeweiligen Nutzdaten zuverlässiger festgestellt werden, ob die Nutzdaten bereits zu alt zur Verwendung in der Datenfusion sind.
  • Nach Schritt 307 wird der Schritt 301 ausgeführt.
  • Ein Zeitstempel gibt beispielsweise Zeitpunkte im Format Stunde, Minute, Millisekunde, Mikrosekunde an.
  • Sofern mehrere Zeitstempel beispielsweise eines Switches und eines Sensors denselben Nutzdaten zugeordnet sind, kann vorgesehen sein, die zusätzlich empfangenen Zeitstempel klassifiziert nach dem Gerät, das sie erzeugt hat ebenfalls im jeweiligen Vergleich zu verwenden. Dadurch können die jeweiligen Zeitstempel auf derselben Ebene, d. h. die Zeitstempel jeweils benachbarter, sendender oder empfangener Geräte gesondert von den Zeitstempeln über mehrere weitere Switches oder Steuergeräte verbundener Geräte verglichen werden. Dadurch kann ein Fehlansprechen der Erkennung von zu großen bzw. zu kleinen Zeitunterschieden vermieden werden.
  • Falls bestimmten Nutzdaten mehrere Zeitstempel zugeordnet sind, kann zudem vorgesehen sein einen so erkannten fehlerhaften Zeitstempel, der einen Sendezeitpunkt charakterisiert, durch einen korrekten Zeitstempel der den Empfangszeitpunkt der jeweiligen Nutzdaten charakterisiert zu ersetzen. Somit können ursprüngliche Zeitstempel von Sensoren empfangsseitig korrigiert werden. In diesem Fall kann die Robustheit der Datenfusion gewährleistet werden, selbst wenn beispielsweise durch Bitfehler fehlerhafte Zeitstempel von den Sensoren übertragen werden.
  • Wie beschrieben sind die Sensoren 102A, 102B, 102C, 102D zusätzlich zur Versendung der Datenpakete mit den Nutzdaten ausgebildet, die Datenpakete, die den Sendezeitpunkt der Nutzdaten charakterisieren, zu versenden.
  • Besonders vorteilhaft ist es dabei, ein erstes Datenpaket umfassend erste Nutzdaten einer Anwendung zu senden, ein zweites Datenpaket umfassend eine Identifikation des ersten Datenpakets und einen ersten Zeitstempel, der einen ersten Sendezeitpunkt des ersten Datenpakets charakterisiert, zu senden, und in der Anwendung ein Interrupt zum Senden des ersten Datenpakets zu erzeugen.
  • Dies bedeutet, dass der erste Zeitstempel einen Zeitpunkt unmittelbar vor dem ersten Sendezeitpunkt des ersten Datenpakets charakterisiert.
  • Vorteilhafterweise ist dadurch eine Verzögerung der Sendezeit der Sensornachricht erkennbar. Zudem ist es dadurch möglich zu bestimmen, wie lange die Sensordaten im Sender verweilt haben, bevor sie versendet wurden. Dadurch wird den Sensornachrichten eine zusätzliche Zeitgenauigkeit mitgegeben. Unpünktliche Zeitstempel bzw. Nutzdaten können somit erkannt und verworfen werden. Vereinzelte Fehler in der Zeitsynchronisation gefährden somit nicht mehr die gesamte Kommunikation. Das System kann somit im Hinblick auf die Sensordatenintegrität fail-operational arbeiten.
  • Zudem ist es möglich, mittels der Kenntnis über die Gültigkeit der Zeitstempel originale Sensordatenursprungszeitpunkte zu berechnen. Dazu können die Empfangszeitpunkte beim Steuergerät 101 durch Kenntnisse über die Latenz im Netzwerk auf Sendezeitpunkte oder Zeitpunkte der Erzeugung der Nutzdaten zurückgerechnet werden. Beispielsweise wird ein validierter Zeitstempel dadurch erzeugt, dass ein unpünktlicher Zeitstempel der einen Sendezeitpunkt oder einen Zeitpunkt der Erzeugung der Nutzdaten angibt durch Subtraktion der bekannten Latenzzeit von dem Zeitstempel der den Empfangszeitpunkt beim Steuergerät 101 angibt erzeugt.
  • Vorteilhafterweise ist vorgesehen, dass die Anwendung wichtige, d. h. kritische Nachrichten, identifiziert und für diese Nachrichten ein Interrupt auslöst, durch den sofort ein Zeitstempel vor der Versendung der Nachricht versendet wird.
  • Kritische Nachrichten werden beispielsweise anhand des Protokolltyps erkannt. Kritische Nachrichten sind beispielsweise Nachrichten, die mit dem UDP-Protokoll oder einem der Protokolle 1722 oder 1733 übertragen werden. Unkritisch dagegen sind beispielsweise Daten, die mittels TCP-Protokoll übertragen werden. Allgemein sind beispielsweise alle Daten unkritisch, die mit Protokollen übertragen werden, die bei Übertragungsfehlern das erneute Anfordern der fallengelassenen Pakete vorsehen. Datenpakete, die Daten von echtzeitkritischen Anwendungen übertragen werden beispielsweise als kritische Nachrichten erkannt.
  • Die Prüfung, ob eine kritische Nachricht vorliegt, erfolgt beispielsweise durch Klassifizierung von Nachrichten als kritisch oder unkritisch in einer Datenbank oder Tabelle. Dies kann auf Anwendungsebene oder im Transceiver erfolgen.
  • Dazu sind die Sensoren 102A, 102B, 102C, 102D beispielsweise ausgebildet, die Datenbank zur Klassifizierung in einem nicht flüchtigen Speicher oder die Tabelle in einem Hardwarebaustein zu speichern.
  • Ebenso ist beispielsweise vorgesehen, die Anwendung zur Erzeugung des Interrupts abhängig von der Klassifizierung in nicht flüchtigem Speicher abzuspeichern. Im Betrieb des jeweiligen Sensors 102A, 102B, 102C, 102D sind die Ausführung der Anwendung, die Klassifizierung und das Erzeugen des Interrupts zur Versendung des Zeitstempels vor der Versendung der Nutzdaten vorgesehen.
  • Die Erkennung der kritischen Nachrichten bzw. die Klassifizierung kann vorteilhafterweise zwischen verschiedenartigen kritischen Nachrichten unterscheiden. Entsprechend können somit verschiedene Aktionen zum Versenden der Zeitstempel oder eine Beeinflussung von Versendeparametern, zum Beispiel der Anzahl der Zeitstempel oder der Häufigkeit des Versendens, ausgelöst werden.
  • Im zweiten Datenpaket wird beispielsweise die Identifikation des ersten Datenpakets zusammen mit einem Zeitstempel übermittelt. Dadurch wird eine Zuordnung der Zeitsynchronisationsnachricht zu den vom Sensor aufgenommen Nutzdaten hergestellt. Das zweite Datenpaket kann auch im selben Datenrahmen mit dem ersten Datenpaket versendet werden.
  • Ein Verfahren zum Senden der ersten und zweiten Datenpakete wird im Folgenden anhand des Flussdiagramms aus 4 beschrieben.
  • Das Verfahren beginnt beispielsweise, wenn eine Anwendung Nutzdaten in einer Nachricht zum Versenden durch einen Kommunikationstransceiver bereitstellt.
  • In einem Schritt 401 wird nach dem Start geprüft, ob die Nutzdaten in einer kritischen Nachricht versendet werden sollen. Dazu wird beispielsweise in der Datenbank oder Tabelle geprüft, ob die von der Anwendung bereitgestellte Nachricht einen der als kritisch definierten Protokolltypen zum Versand vorsieht. Falls eine kritische Nachricht vorliegt, wird ein Schritt 402 ausgeführt. Anderenfalls wird ein Schritt 403 ausgeführt.
  • Im Schritt 403 liegt ein unkritisches Datenpaket zur Versendung bereit. Entsprechend wird das erste Datenpaket gemäß dem für seine Versendung vorgesehenen unkritischen Protokoll, beispielsweise TOP, erzeugt und versendet. Danach wird der Schritt 401 für das nächste zu sendende erste Datenpaket wiederholt.
  • Im Schritt 402 wird das erste Datenpaket ermittelt. Zudem kann vorgesehen sein, eine Identifikation des ersten Datenpakets zu erzeugen. Anschließend wird ein Schritt 404 ausgeführt.
  • Im Schritt 404 wird die kritische Nachricht weiter klassifiziert. Beispielsweise wird das erste Datenpaket anhand der Wichtigkeit des zu seiner Versendung zu verwendenden Protokolltyps klassifiziert. Dazu ist beispielsweise vorgesehen, in der Datenbank für einen zur Versendung kritischer Nachrichten verwendeten Protokolltyp zusätzlich diesem Protokolltyp zugeordnete Parameter abzuspeichern. Diese werden im Schritt 404 aus der Datenbank ausgelesen, um abhängig vom Protokolltyp ein Parameterset zu bestimmen. Beispielsweise ist vorgesehen für einen ersten Protokolltyp eine Synchronisation durch das Versenden von Zeitstempel vor und nach dem ersten Datenpaket vorzusehen. Beispielsweise ist vorgesehen für einen zweiten Protokolltyp nur eine Synchronisation durch das Versenden eines Zeitstempels vor dem Versenden des ersten Datenpakets vorzusehen.
  • Der Parameter wird beispielsweise im nicht flüchtigen Speicher des jeweiligen Sensors 102A, 102B, 102C, 102D gespeichert und ist über die Identifikation des ersten Datenpakets dort auffindbar.
  • Anschließend wird ein Schritt 405 ausgeführt.
  • Im Schritt 405 wird das Interrupt zum Versenden des zweiten Datenpakets vor dem Versenden des ersten Datenpakets ausgelöst. Bei Erhalt des Interrupts wird ein Zeitstempel, beispielsweise ein Hardwarezeitstempel eines Komm unikationstransceivers, beispielsweise eines Ethernettransceivers, erzeugt.
  • Anschließend wird ein Schritt 406 ausgeführt.
  • Im Schritt 406 werden die Parameter aus dem nicht flüchtigen Speicher gelesen und ausgewertet, die dem ersten Datenpaket zugeordnet sind. Beispielsweise wird festgestellt, dass die Synchronisation vor dem Senden des ersten Datenpakets umfassende Nutzdaten und nach dem Senden des ersten Datenpakets erfolgen soll. In diesem Fall wird das Senden des zweiten Datenpakets umfassend die Identifikation des ersten Datenpakets und den ersten Zeitstempel ausgelöst. Zudem wird nach dem Versenden des zweiten Datenpakets das Senden des ersten Datenpakets ausgelöst.
  • Zusätzlich ist in diesem Fall vorgesehen, abhängig von den Parametern einen weiteren Zeitstempel beim Versenden des ersten Datenpakets, beispielsweise ein weiterer Hardwarezeitstempel, zu erzeugen. Dieser wird in einem weiteren Datenpaket umfassend den weiteren Zeitstempel versendet, nachdem das erste Datenpaket versendet wurde.
  • Sofern das Parameterset nur das Senden des zweiten Datenpakets vor dem Senden des ersten Datenpakets festlegt, unterbleibt beispielsweise die Erzeugung des weiteren Zeitstempels und dessen Versendung.
  • Anschließend wird der Schritt 401 für ein weiteres erstes Datenpaket wiederholt.
  • 5 zeigt schematisch die durch das beschriebene Verfahren gesendeten Nachrichten. Dabei ist schematisch ein Konzept zur Absicherung von Sensordaten für einen ersten Sensor 102A, einen zweiten Sensor 102B und einen dritten Sensor 102C auf ihrem jeweiligen Übertragungsweg zum Steuergerät 101 dargestellt.
  • Das erste Datenpaket 120A1 des ersten Sensors 102A erreicht das Steuergerät 101 mit einer zeitlichen Verzögerung tV1 zum ersten Zeitstempel 121A1, der in dem zweiten Datenpaket 121A1 versendet wurde. Die Nutzdaten im ersten Datenpaket 120A1 sind beispielsweise Sensordaten, die periodisch vom ersten Sensor 102A erfasst und gesendet werden. Entsprechend umfasst ein weiteres erstes Datenpaket 120A2 Nutzdaten aus dem nächsten periodischen Zyklus der Sensordatenerfassung. Diese werden, wie in 5 dargestellt, im weiteren ersten Datenpaket 120A2 versendet. Das weitere zweite Datenpaket 121A2, umfassend den weiteren ersten Zeitstempel 121A2 wird vor dem weiteren ersten Datenpaket 120A2 versendet. Dabei ist der zeitliche Abstand zwischen der Versendung des weiteren ersten Datenpakets 120A2 und des weiteren zweiten Datenpakets 121A2 der zeitliche Abstand tV3. Im vorliegenden Beispiel sind der zeitliche Abstand tV1 und der zeitliche Abstand tV3 abhängig von der Verweildauer der jeweiligen Datenpakete im Sender 112. Die Zeitunterschiede können dabei auch beispielsweise abhängig von der Last auf dem Datenbus 104A oder von der Auslastung des Senders 112 variieren. Dann lässt sich anhand eines Vergleichs der jeweiligen Zeitunterschiede mit einem vorgegebenen Wert eines Zeitunterschieds bzw. anhand des Vergleichs der Zeitunterschiede untereinander ermitteln, ob es bei der Versendung der ersten Datenpakete mit den Nutzdaten zu Verzögerungen im Sender 112, auf dem Datenbus 104A oder im Empfänger 116 des Steuergeräts 101 kam.
  • Ein Verfahren zum Erkennen einer Verzögerung der Sensornachricht wird im Folgenden anhand des in 6 dargestellten Flussdiagramms beschrieben.
  • Ein erstes Datenpaket 120A1 und ein zweites Datenpaket 121A1 werden wie in 5 dargestellt versendet. Beim Eintreffen des ersten Datenpakets 120A1 am Steuergerät 101 wird ein erster Zeitstempel der den Empfangszeitpunkt des ersten Datenpakets 120A1 angibt erzeugt. Das zweite Datenpaket 121A1 enthält die Identifikation des ersten Datenpakets 120A1. Das zweite Datenpaket 121A1 enthält einen zweiten Zeitstempel, der einen Zeitpunkt unmittelbar vor dem Sendezeitpunkt des ersten Datenpakets 120A1 am ersten Sensor 102A oder einen Erzeugungszeitpunkt der in dem ersten Datenpaket 120A1 versendeten Nutzdaten angibt.
  • Das Verfahren beginnt beispielsweise beim Eintreffen des zweiten Datenpakets 121A1. Beispielsweise wird das Verfahren als Teil des Schritts 305 des Verfahrens nach 3 verwendet.
  • Nach dem Start wird in einem Schritt 601 der zweite Zeitstempel ermittelt. Im Beispiel wird der zweite Zeitstempel im zweiten Datenpaket 121A1 empfangen und aus diesem extrahiert. Anschließend wird ein Schritt 602 ausgeführt.
  • Im Schritt 602 wird die Identifikation des ersten Datenpakets 120A1, aus dem empfangenen zweiten Datenpaket 121A1 extrahiert. Anschließend wird ein Schritt 603 ausgeführt.
  • Im Schritt 603 wird geprüft, ob das erste Datenpaket 120A1, d. h. das Datenpaket mit der Identifikation des ersten Datenpakets 120A1, eingetroffen ist. Falls dieses Datenpaket eingetroffen ist, wird ein Schritt 604 ausgeführt.
  • Falls in einem vorgebbaren Zeitintervall beispielsweise 10 ms oder 100 ms kein erstes Datenpaket 120A1 eintrifft, oder das erstes Datenpaket 120A1 nach diesem Zeitraum eintrifft, wird ein Schritt 613 ausgeführt.
  • Im Schritt 613 wird das zweite Datenpaket 121A1 und der zugehörige Zeitstempel verworfen. Sofern ein erstes Datenpaket 120A1 bereits eintraf wird dieses ebenfalls verworfen. Anschließend wird der Schritt 601 ausgeführt.
  • Im Schritt 604 wird die zeitliche Differenz zwischen dem ersten Zeitstempel und dem zweiten ermittelt. Im Beispiel wird beim Empfang des ersten Datenpakets 120A1 im Empfänger ein Hardwarezeitstempel erzeugt. Dieser wird mit dem zweiten Zeitstempel zur Ermittlung der zeitlichen Differenz zwischen den Zeitstempeln verglichen. Beispielsweise wird somit der Zeitunterschied tV1 zwischen dem zweiten Datenpaket 121A1 und dem ersten Datenpaket 120A1 ermittelt.
  • Anschließend wird ein Schritt 605 ausgeführt.
  • Im Schritt 605 wird überprüft, ob die Zeitdifferenz, beispielsweise der Zeitunterschied tV1, in einem vorgebbaren Bereich bzw. unterhalb einer vorgegebenen Schwelle liegt. Beispielsweise wird überprüft, ob der Unterschied tV1 < 10 ms oder tV1 < 100 ms ist. Falls die Zeitdifferenz im vordefinierten Bereich oder unterhalb der vorgegebenen Schwelle liegt, wird ein Schritt 606 ausgeführt. Andernfalls wird ein optionaler Schritt 607 ausgeführt. Anstelle des optionalen Schritts 607 kann auch vorgesehen sein, die empfangenen Nutzdaten zu verwerfen und den Schritt 601 auszuführen.
  • Im Schritt 606 wird der erste Zeitstempel oder der zweite Zeitstempel 121A1 zur Berechnung des originalen Aufnahmezeitpunkts anhand des zweiten Zeitstempels 121A1 verwendet. In diesem Fall charakterisiert der zweite Zeitstempel 121A1 den ersten Sendezeitpunkt des ersten Datenpakets 120A1. Abhängig von Kenntnissen über die Latenz der Datenübertragung oder Verarbeitungsdauer der Daten im Sensor kann somit der Aufnahmezeitpunkt durch Subtraktion der Latenz und Verarbeitungsdauer von dem im zweiten Zeitstempel 121A1 oder ersten Zeitstempel angegebenen Zeitpunkt berechnet werden.
  • Nach dieser Korrektur sind die Zeitstempel validiert. Die so validierten Zeitstempel können in einem Prozess der parallel abläuft in einer Anwendung zur Datenfusion der Nutzdaten wie zuvor beschrieben zusammen mit anderen validierten Zeitstempeln, die ebenfalls erfolgreich validiert wurden, verarbeitet werden. Falls das Verfahren als Teil des Schritts 305 ausgeführt wird, wird mit den korrigierten Werten zu dem Vergleich aus Schritten 303, 304 oder 306 verzweigt, der zuvor zur Ausführung von Schritt 305 führte.
  • Anschließend wird der Schritt 601 für weitere eintreffende Datenpakete wiederholt.
  • Im Schritt 607 liegt eine Abweichung der Zeitdifferenzen außerhalb des vordefinierten Bereichs vor. In diesem Falle wird geprüft, ob für den verwendeten Protokolltyp das Senden von Zeitstempeln nach dem Senden der Nutzdaten vorgesehen ist. Dazu wird beispielsweise dieselbe Datenbank zur Klassifizierung der empfangenen Nachrichten verwendet, die für die Klassifizierung der zu sendenden Nachrichten beschrieben wurde. Falls das Senden von Zeitstempeln nach der Sendung der Nutzdaten vorgesehen ist, wird ein Schritt 608 ausgeführt. Andernfalls wird ein Schritt 609 ausgeführt.
  • Im Schritt 609 wird das erste Datenpaket 120B1 verworfen. Anschließend wird der Schritt 601 für weitere Datenpakete ausgeführt.
  • Im Schritt 608 wird geprüft, ob ein nachfolgend gesendeter Zeitstempel mit der Identifikation des ersten Datenpakets eintrifft.
  • Beispielsweise ist der zweite Sensor 102B wie in 5 dargestellt ausgebildet, nach dem Senden des ersten Datenpakets 120B1 einen weiteren Zeitstempel 400B1 zu versenden. Der weitere Zeitstempel 400B1 beinhaltet dabei beispielsweise einen beim Senden des ersten Datenpakets 120B1 im zweiten Sensor 102B erzeugten Hardwarezeitstempel, der den Versendezeitpunkt des zweiten Datenpakets 120B1 angibt. Der zweite Sensor 102B sendet dabei die Sensordaten beispielsweise zyklisch. Dies ist in 5 durch ein weiteres erstes Datenpaket 120B2 sowie einen weiteren ersten Zeitstempel 121B2 der in einem weiteren zweiten Paket 121B2 versendet wird und einen weiteren nachfolgenden Zeitstempel 400B2 dargestellt. Dabei ist der Abstand zwischen dem ersten Datenpaket 120B1 und dem zweiten Datenpaket 121B2 die Zeitdifferenz tV2. Wie in 5 dargestellt, ist der entsprechende Abstand zwischen dem weiteren ersten Datenpaket 120B2 und dem weiteren zweiten Datenpaket 121B2 der Zeitunterschied tV4. Dieser ist im Beispiel kürzer als der Zeitunterschied tV2. Dadurch wird anhand des Verfahrens im Schritt 605 eine Abweichung des Zeitunterschieds tV2 festgestellt, die außerhalb des vordefinierten Bereichs bzw. oberhalb der vorgegebenen Schwelle liegt. Entsprechend wird in diesem Falle im Schritt 607 festgestellt, dass die Versendung eines nachfolgenden Datenpakets für diesen Protokolltyp vorgesehen ist. Dadurch wird im Schritt 608 der nachfolgende Zeitstempel 400B1 empfangen. Sofern der Empfang eines nachfolgenden Zeitstempels nicht innerhalb eines weiteren vorgegebenen Zeitintervalls erfolgt, wird ein Schritt 610 ausgeführt. Andernfalls wird ein Schritt 611 ausgeführt.
  • Im Schritt 610 wird das erste Datenpaket 120B1 verworfen. Anschließend wird der Schritt 601 für weitere empfangene Datenpakete ausgeführt.
  • Im Schritt 611 wird geprüft, ob die Differenz zwischen dem ersten Zeitstempel 121B1 und dem zweiten Zeitstempel 400B1 einen vorgebbaren Wert überschreitet. Wenn die Differenz einen vorgebbaren Schwellwert beispielsweise 10 ms oder 100 ms überschreitet, wird der Schritt 610 ausgeführt. Anderenfalls wird ein Schritt 612 ausgeführt.
  • Im Schritt 612 wird der weitere Zeitstempel 400B1, beispielsweise ein Hardwarezeitstempel, beim Versenden des ersten Datenpakets 120B1 als dessen Sendezeitpunkt oder als Aufnahmezeitpunkt der Nutzdaten im ersten Datenpaket 120B1 verwendet. Dazu wird der Zeitpunkt zusammen mit der Identifikation des ersten Datenpakets beispielsweise im flüchtigen Speicher zur Weitergabe an die Anwendung zur Datenfusion gespeichert. Anschließend wird der Schritt 601 für weitere Datenpakete ausgeführt.
  • Durch diese Prüfung der Sensornachrichten und der dazugehörigen Zeitstempel können einzelne Zeitfehler in der Sensornachricht eliminiert werden und ein fail-operational umgesetzt werden. Das bedeutet, dass selbst wenn Zeitstempelfehler in der Sensornachricht vorliegen, diese mit den nachfolgenden Nachrichten verifiziert werden können. Das bedeutet, dass bei großer Zeitdifferenz zu den nachfolgenden Zeitstempeln eine Nachricht dennoch gültig ist, da einer der Zeitstempel falsch ist.
  • Besonders vorteilhaft ist es daher, wie am Beispiel des dritten Sensors 202C in 5 dargestellt, weitere Zeitstempel 401C1 bzw. 401C2 vorzusehen, die vor dem Senden des ersten Datenpakets 120C1 bzw. 120C2 versendet werden. Genauso ist es besonders vorteilhaft mehrere weitere Zeitstempel 402C1, 403C2 bzw. 402C2, 403C2 vorzusehen, die nach dem Senden des jeweiligen ersten Datenpakets 120C1 bzw. 120C2 gesendet werden.
  • Durch die Verwendung mehrerer dieser vorgelagerten und nachgelagerten Zeitstempel wie oben für die vorgelagerten bzw. nachgelagerten Zeitstempel beschrieben, wird die Zuverlässigkeit des Verfahrens weiter erhöht. Entsprechend ist das anhand von 6 beschriebene Verfahren zur Prüfung der Sensordaten dahingehend modifiziert, dass die jeweiligen Zeitstempel empfangen und ebenfalls zur Überprüfung herangezogen werden. Beispielsweise kann somit nicht nur eine Inkonsistenz zwischen den einzelnen Zeitstempeln festgestellt werden, sondern auch ob der vor dem ersten Datenpaket 120C1 oder der nach dem ersten Datenpakt 120C1 gesendete Zeitstempel fehlerhaft ist.
  • Die jeweiligen Verfahren sind beispielsweise als Computerprogramme implementiert und auf einem Computer lesbaren Medium abgespeichert. Die Steuergeräte bzw. -sensoren sind dabei Vorrichtungen, die ausgebildet sind, die jeweiligen Verfahren auszuführen. Insbesondere sind das Steuergerät und die Sensoren ausgebildet, die jeweiligen Schritte des Verfahrens oder die maschinenlesbaren Anweisungen des Computerprogramms zu interpretieren und auszuführen, um die Zeitstempel und die Nutzdaten in den entsprechenden Datenpaketen zu senden bzw. zu empfangen und auszuwerten.
  • Dazu weisen sowohl das Steuergerät 101 als auch die Sensoren 102A, 102B, 102C, 102D beispielsweise Mikroprozessoren auf, die mit dem Taktgeber 106, 107, 108, 109, 110, 111 und den Sendern bzw. Empfängern 112, 113, 114, 115, 116 zusammenwirken, um die maschinenlesbaren Anweisungen des Computerprogramms zu interpretieren und auszuführen und so die Verfahren auszuführen.
  • 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
    • IEEE802.1AS [0017]
    • IEEE802.1ASbt [0017]
    • IEEE1588 [0017]

Claims (16)

  1. Verfahren zur Validierung eines Zeitstempels einer Datenübertragung, gekennzeichnet durch die Schritte – Empfangen eines ersten Datenpakets (120A–D) umfassend erste Nutzdaten, von einem ersten Sender (102A–D), – Empfangen eines zweiten Datenpakets (121A–D) umfassend einen ersten, den ersten Nutzdaten zugeordneten Zeitstempel, – Vergleichen des ersten Zeitstempels mit einem vorgegebenen zweiten, den ersten Nutzdaten zugeordneten, Zeitstempel, zur Bestimmung eines ersten, den ersten Nutzdaten zugeordneten, validierten Zeitstempels, – Empfangen eines dritten Datenpakets (120A–D) umfassend zweite Nutzdaten, von einem, vom ersten Sender (102A–D) verschiedenen, zweiten Sender (102A–D), – Empfangen eines vierten Datenpakets (121A–D) umfassend einen dritten, den zweiten Nutzdaten zugeordneten Zeitstempel, – Vergleichen des dritten Zeitstempels mit einem vorgegebenen vierten, den zweiten Nutzdaten zugeordneten, Zeitstempel, zur Bestimmung eines zweiten, den zweiten Nutzdaten zugeordneten, validierten Zeitstempels, – Vergleich des ersten validierten Zeitstempels mit dem zweiten validierten Zeitstempel.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Daten mittels eines Ethernetprotokolls, insbesondere Ethernet AVB, Ethernet TSN, 1000 Mbit/s Ethernet, 100 Mbit/s Ethernet oder 10 Mbit/s Ethernet, vorzugsweise über mindestens eine verdrillte Zweidrahtleitung, insbesondere aus Kupfer, übertragen werden.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass mindestens einer der Zeitstempel einen Empfangszeitpunkt des zugeordneten Datenpakets (120A–D), oder einen Sendezeitpunkt des zugeordneten Datenpakets (120A–D), oder einen Zeitpunkt unmittelbar vor dem Senden des zugeordneten Datenpakets (120A–D) oder einen Erzeugungszeitpunkt der im jeweiligen zugeordneten Datenpaket (120A–D) enthaltenen Nutzdaten charakterisiert.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass ein Zeitstempel, der einen Empfangszeitpunkt des dem Zeitstempel zugeordneten Datenpakets (120A–D) charakterisiert, mit einem Zeitstempel verglichen wird, der einen Sendezeitpunkt desselben Datenpakets, einen Zeitpunkt unmittelbar vor dem Senden desselben Datenpakets oder einen Erzeugungszeitpunkt der in demselben Datenpaket enthaltenen Nutzdaten charakterisiert und der demselben Datenpaket (120A–D) zugeordnet ist.
  5. Verfahren nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass ein Zeitstempel, der einen Sendezeitpunkt des dem Zeitstempel zugeordneten Datenpakets (120A–D) charakterisiert, mit einem Zeitstempel verglichen wird, der einen Sendezeitpunkt desselben Datenpakets, einen Zeitpunkt unmittelbar vor dem Senden desselben Datenpakets oder einen Erzeugungszeitpunkt der Nutzdaten in demselben Datenpaket charakterisiert und der demselben Datenpaket (120A–D) zugeordnet ist.
  6. Verfahren nach einem der Ansprüche 3 bis 5, dadurch gekennzeichnet, dass ein Zeitstempel, der einen Zeitpunkt unmittelbar vor dem Senden des dem Zeitstempel zugeordneten Datenpakets (120A–D) charakterisiert, mit einem Zeitstempel verglichen wird, der einen Sendezeitpunkt oder Empfangszeitpunkt desselben Datenpakets charakterisiert und der demselben Datenpaket (120A–D) zugeordnet ist.
  7. Verfahren nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, dass ein Zeitstempel, der einen Sendezeitpunkt eines Datenpakets, einen Zeitpunkt unmittelbar vor dem Senden eines Datenpakets oder einen Empfangszeitpunkt eines Datenpakets charakterisiert, mit einem Zeitstempel verglichen wird, der einen Erzeugungszeitpunkt der Nutzdaten charakterisiert, die in demselben Datenpaket enthalten sind und der demselben Datenpaket (120A–D) zugeordnet ist.
  8. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass zumindest die ersten Nutzdaten und/oder die zweiten Nutzdaten abhängig vom Ergebnis des Vergleichs der validierten Zeitstempel verarbeitet werden, insbesondere durch Datenfusion.
  9. Verfahren nach einem der vorherigen Ansprüche, dadurch gekennzeichnet, dass das erste Datenpaket (120A–D) und das zweite Datenpaket (121A–D) in einem Datenrahmen empfangen werden, der beide Datenpakete umfasst, oder das dritte Datenpaket (120A–D) und das vierte Datenpaket (121A–D) in einem Datenrahmen empfangen werden, der beide Datenpakete umfasst.
  10. Verfahren zum Senden eines validierbaren Zeitstempels für eine Datenübertragung, insbesondere nach, gekennzeichnet durch die Schritte – Bereitstellen von Nutzdaten durch eine Anwendung, – Übermitteln eines Interrupts bezüglich der bereitgestellten Nutzdaten von der Anwendung zu einem Kommunikationstransceiver (112, 113, 114, 115), – Bei Erhalt des Interrupts: Erzeugen eines ersten Datenpakets (120A–D) an dem Kommunikationstransceiver (112, 113, 114, 115), wobei das erste Datenpaket die von der Anwendung bereitgestellten Nutzdaten umfasst, Erzeugen eines zweiten Datenpakets (121A–D) an dem Kommunikationstransceiver (112, 113, 114, 115), wobei das zweite Datenpaket eine Identifikation des ersten Datenpakets (120A–D) und einen Zeitstempel umfasst, der den Nutzdaten zugeordnet ist, Senden des zweiten Datenpakets (121A–D) vor dem Senden des ersten Datenpakets durch den Kommunikationstransceiver (112, 113, 114, 115).
  11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Daten mittels eines Ethernetprotokolls, insbesondere 10 Mbit/s Ethernet oder 100 Mbit/s Ethernet, vorzugsweise über mindestens eine verdrillte Zweidrahtleitung, insbesondere aus Kupfer, übertragen werden.
  12. Verfahren nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass der Zeitstempel am Kommunikationstransceiver (112, 113, 114, 115) zu einem Zeitpunkt unmittelbar vor dem Senden des ersten Datenpakets (120A–D) erzeugt wird.
  13. Verfahren nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass der Zeitstempel einen Erzeugungszeitpunkt der Nutzdaten charakterisiert, der insbesondere zuvor von der Anwendung an den Kommunikationstransceiver (112, 113, 114, 115) übergeben wurde.
  14. Vorrichtung, die eingerichtet ist, eines der Verfahren der Ansprüche 1 bis 13 auszuführen.
  15. Computerprogramm, welches eingerichtet ist, eines der Verfahren der Ansprüche 1 bis 13 auszuführen.
  16. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 15 gespeichert ist.
DE102015213845.3A 2015-07-22 2015-07-22 Verfahren und Vorrichtung zur Validierung eines Zeitstempels einer Datenübertragung Pending DE102015213845A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102015213845.3A DE102015213845A1 (de) 2015-07-22 2015-07-22 Verfahren und Vorrichtung zur Validierung eines Zeitstempels einer Datenübertragung
US15/213,797 US10154058B2 (en) 2015-07-22 2016-07-19 Method and device for validating a timestamp of a data transmission
JP2016143438A JP6881906B2 (ja) 2015-07-22 2016-07-21 データ伝送のタイムスタンプの妥当性を確認するための方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102015213845.3A DE102015213845A1 (de) 2015-07-22 2015-07-22 Verfahren und Vorrichtung zur Validierung eines Zeitstempels einer Datenübertragung

Publications (1)

Publication Number Publication Date
DE102015213845A1 true DE102015213845A1 (de) 2017-01-26

Family

ID=57739063

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015213845.3A Pending DE102015213845A1 (de) 2015-07-22 2015-07-22 Verfahren und Vorrichtung zur Validierung eines Zeitstempels einer Datenübertragung

Country Status (3)

Country Link
US (1) US10154058B2 (de)
JP (1) JP6881906B2 (de)
DE (1) DE102015213845A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3432097A1 (de) * 2017-07-20 2019-01-23 Siemens Aktiengesellschaft Summenstreams für istzustände und steuersignale eines verteilten steuerungssystems
WO2019081463A1 (de) * 2017-10-26 2019-05-02 Continental Automotive Gmbh Verfahren zum erkennen eines fehlerhaften zeitstempels einer ethernet-nachricht und steuereinheit für ein kraftfahrzeug

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10861608B2 (en) * 2016-03-16 2020-12-08 Kiomars Anvari Internet of things (IoT) with novel time of day acquisition
JP6408513B2 (ja) * 2016-05-31 2018-10-17 日本電信電話株式会社 センサ中継装置およびタイムスタンプ補正方法
US11196733B2 (en) 2018-02-08 2021-12-07 Dell Products L.P. System and method for group of groups single sign-on demarcation based on first user login
US10855463B2 (en) 2018-02-08 2020-12-01 Dell Products L.P. System and method for providing quality of service during transport key rotation at a distributed management controller group
US10594671B2 (en) * 2018-02-08 2020-03-17 Dell Products L.P. System and method for preventing well behaving clients from causing account lockouts in a group
US10650023B2 (en) * 2018-07-24 2020-05-12 Booz Allen Hamilton, Inc. Process for establishing trust between multiple autonomous systems for the purposes of command and control
DE102018213898B4 (de) * 2018-08-17 2020-03-19 Continental Automotive Gmbh Überwachung einer Netzwerkverbindung auf Abhören
US10819727B2 (en) * 2018-10-15 2020-10-27 Schweitzer Engineering Laboratories, Inc. Detecting and deterring network attacks
EP3657758B1 (de) * 2018-11-20 2021-05-26 Siemens Aktiengesellschaft Verfahren zur funktional sicheren verbindungsidentifizierung
EP3895440A1 (de) * 2018-12-14 2021-10-20 Diehl Metering Systems GmbH Verfahren zum sammeln von daten in einem netzwerk, sensor, verbrauchszähler, temporärer empfänger und netzwerk
EP4142189B1 (de) * 2020-09-23 2024-03-27 Bayerische Motoren Werke Aktiengesellschaft Bestimmung der richtigkeit eines tatsächlich empfangenen zeitstempels
FR3119688B1 (fr) * 2021-02-08 2024-01-19 Psa Automobiles Sa Procédé et dispositif de validation de synchronisation temporelle entre calculateurs embarqués de véhicule
EP4324123A1 (de) * 2021-04-16 2024-02-21 Bayerische Motoren Werke Aktiengesellschaft Validierung von zeitsynchronisation
US20230140712A1 (en) * 2021-11-04 2023-05-04 Capital One Services, Llc Systems and methods for generating and using virtual card numbers

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5878028A (en) * 1996-06-06 1999-03-02 Advanced Micro Devices, Inc. Data structure to support multiple transmit packets for high performance
JP2003054370A (ja) * 2001-08-08 2003-02-26 System Advance:Kk 車両盗難防止方法及び車両盗難防止装置
DE102004055975B4 (de) * 2004-11-19 2007-05-03 Bosch Rexroth Ag Synchronisationsverfahren und Steuerungssystem für die zeitliche Synchronisation von Nebeneinheiten, sowie zeitsynchronisierbare Nebeneinheit
US7868812B2 (en) * 2005-08-12 2011-01-11 Patriot Technologies, Llp Surveillance and warning system
JP2007267054A (ja) * 2006-03-29 2007-10-11 Ntt Electornics Corp 通信システム及びコントローラ
JP2008003779A (ja) * 2006-06-21 2008-01-10 Hitachi Ltd 予防安全自動車の計測データ処理装置
US9065673B2 (en) * 2007-12-17 2015-06-23 Broadcom Corporation Method and system for a centralized vehicular electronics system utilizing ethernet with audio video bridging
JP2008099342A (ja) * 2008-01-11 2008-04-24 Sharp Corp 通信制御装置、通信端末、通信制御システム、通信制御方法、通信方法、コンピュータを通信制御装置として機能させるためのプログラムおよび通信端末としてコンピュータを機能させるためのプログラム
CN101800989B (zh) * 2010-01-19 2013-07-10 重庆邮电大学 用于工业无线网络的防重放攻击系统
JP5205400B2 (ja) * 2010-01-26 2013-06-05 日本電信電話株式会社 センサネットワークシステムとその無線送受信装置及びセンサ情報伝送方法
US8504864B2 (en) * 2010-12-01 2013-08-06 GM Global Technology Operations LLC Data sensor coordination using time synchronization in a multi-bus controller area network system
JP5852480B2 (ja) * 2012-03-15 2016-02-03 パイオニア株式会社 移動体管制装置および移動体搭載装置
US9088514B2 (en) * 2012-07-23 2015-07-21 Broadcom Corporation Flexray communications using ethernet
DE102013217595A1 (de) * 2013-09-04 2015-03-05 Robert Bosch Gmbh Bereitstellung unterschiedlicher Datenübertragungsraten und Redundanz durch gemeinsame und getrennte Nutzung von physikalischen Übertragungskanälen im Kraftfahrzeug
US9259978B2 (en) * 2014-06-30 2016-02-16 Ford Global Technologies, Llc Automatic wheel to tire pressure sensor correlation in distributed architecture
US9749147B2 (en) * 2014-12-29 2017-08-29 Harman International Industries, Incorporated Ethernet AVB for time-sensitive networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IEEE1588
IEEE802.1ASbt

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3432097A1 (de) * 2017-07-20 2019-01-23 Siemens Aktiengesellschaft Summenstreams für istzustände und steuersignale eines verteilten steuerungssystems
WO2019016003A1 (de) 2017-07-20 2019-01-24 Siemens Aktiengesellschaft Summenstreams für istzustände und steuersignale eines verteilten steuerungssystems
CN110959141A (zh) * 2017-07-20 2020-04-03 西门子股份公司 用于分布式控制系统的实际状态和控制信号的总流
US11094187B2 (en) 2017-07-20 2021-08-17 Siemens Aktiengesellschaft Sum stream for actual states and control signals of a distributed control system
CN110959141B (zh) * 2017-07-20 2023-01-10 西门子股份公司 用于工业技术过程的控制方法和控制系统
WO2019081463A1 (de) * 2017-10-26 2019-05-02 Continental Automotive Gmbh Verfahren zum erkennen eines fehlerhaften zeitstempels einer ethernet-nachricht und steuereinheit für ein kraftfahrzeug
US11251891B2 (en) 2017-10-26 2022-02-15 Continental Automotive Gmbh Method for identifying an incorrect time stamp of an ethernet message and control unit for a motor vehicle

Also Published As

Publication number Publication date
JP6881906B2 (ja) 2021-06-02
US10154058B2 (en) 2018-12-11
JP2017034671A (ja) 2017-02-09
US20170026144A1 (en) 2017-01-26

Similar Documents

Publication Publication Date Title
DE102015213845A1 (de) Verfahren und Vorrichtung zur Validierung eines Zeitstempels einer Datenübertragung
EP3189629B1 (de) Verfahren zur seriellen übertragung eines rahmens über ein bussystem von einem sender zu mindestens einem empfänger und teilnehmerstation für ein bussystem
DE112011100762T5 (de) Verteilte auf Paketen basierende Zeitstempel-Engine
DE102012200997A1 (de) Verfahren und Vorrichtung zur Prüfung der korrekten Funktion einer seriellen Datenübertragung
DE112015003282T5 (de) Kommunikationssystem, Kommunikationssteuervorrichtung und Verfahren zum Verhindern einer Übertragung von missbräuchlichen Informationen
EP3701648A1 (de) Verfahren zum erkennen eines fehlerhaften zeitstempels einer ethernet-nachricht und steuereinheit für ein kraftfahrzeug
EP2759096A1 (de) Verfahren und vorrichtung zum koppeln eines ersten sensors mit zumindest einem zweiten sensor
WO2018077528A1 (de) Erkennung von manipulationen in einem can-netzwerk mittels überprüfung von can-identifiern
EP3189630A1 (de) Verfahren zur seriellen übertragung eines rahmens über ein bussystem von einem sender zu mindestens einem empfänger und teilnehmerstation für ein bussystem
EP3684015A1 (de) Vorrichtung und verfahren zur klassifizierung von daten insbesondere für ein controller area netzwerk oder ein automotive ethernet netzwerk
EP3042472A1 (de) Verfahren zum überwachen eines ersten teilnehmers in einem kommunikationsnetzwerk und überwachungssystem
WO2017137326A1 (de) Verfahren und vorrichtung zum überwachen einer datenverarbeitung und -übertragung in einer sicherheitskette eines sicherheitssystems
EP3363165B1 (de) Verfahren und computersystem zur schnellen übertragung von zeitgesteuerten echtzeitnachrichten
DE102016011493B4 (de) Numerisches Steuersystem mit synchroner Steuerfunktion zwischen Einheiten
DE102012110712B4 (de) Verfahren und System zur Funktionsprüfung einer Fehlererkennungseinheit einer CAN-Bus-Controllereinheit
WO2014090657A1 (de) Zuweisen von zeitstempeln zu empfangenen datenpaketen
DE112016002783B4 (de) Datenübertragungssystem, Datenübertragungsvorrichtung und Datenübertragungsverfahren
DE102015206085A1 (de) Verfahren und Vorrichtung zur Erkennung eines Zustands eines Knotens in einem Rechnernetz
DE10260807B4 (de) Sendeverfahren für eine Zeitreferenz über ein Übertragungsmedium und hiermit korrespondierender Zeitgeberblock
DE102020202226A1 (de) Verfahren sowie Übertragungssystem zur Übermittlung von Messdaten
EP3004995A2 (de) Verfahren zum erfassen einer senderortszeit in einem empfänger
EP3632016A1 (de) Eingebettete zyklische redundanzprüfungswerte
DE102018206522A1 (de) Vorrichtung und Verfahren zum Auswerten eines über ein Bussystem empfangbaren Empfangssignals
WO2024074331A1 (de) Verfahren und unterstützungseinrichtung zum unterstützen einer robustheitsoptimierung für ein datenverarbeitungssystem und korrespondierendes ci-system
DE102006012275B4 (de) Datenübertragungs- und verarbeitungssystem mit sicherem Erfassen von kritischen Zuständen

Legal Events

Date Code Title Description
R012 Request for examination validly filed