Stellt detaillierte Messdaten und Statusbits zur Präzisionsbewertung der Zeitsynchronisation eines Time Slave bereit.
KI-GENERIERTungeprüftModell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 360378009f87HerkunftOffene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13
Stellt detaillierte Messdaten und Statusbits zur Präzisionsbewertung der Zeitsynchronisation eines Time Slave bereit.
Die Struktur ara::tsync::TimePrecisionMeasurement liefert detaillierte Messwerte zur Präzisionserfassung eines synchronisierten Time Slave gegenüber einer globalen Zeitbasis. Sie erfasst lokale Zeitstempel unmittelbar vor und nach der Synchronisation ([SWS_TS_01401], [SWS_TS_01406]) sowie Laufzeit- und Ratenabweichungen. Über das Statusbitfeld [SWS_TS_01403] signalisiert sie zudem Fehlerzustände wie Timeouts, übermäßige Zeitsprünge oder Ratenüberschreitungen.
Kontext
Die Datenstruktur ara::tsync::TimePrecisionMeasurement dient der Bereitstellung detaillierter Messdaten zur Präzisionserfassung eines synchronisierten Time Slave gegenüber einer übergeordneten Zeitbasis. Innerhalb des Moduls tsync erfasst sie bei einem Synchronisationsereignis Schnappschüsse der lokalen Uhrzeit unmittelbar vor und nach dem Abgleich mit der globalen Zeitbasis. Die Struktur bildet damit die Schnittstelle zur messtechnischen Überwachung, Gütebewertung und Diagnose der Uhrensynchronisation in verteilten Systemen.
Kontextdiagramm: Erfassung und Weitergabe von Präzisionsdaten zwischen Zeitbasis, Time Slave und Überwachungsanwendung. Quellen: [SWS_TS_01401], [SWS_TS_01403], [SWS_TS_01408]
Lebenszyklus
Als finale Struktur ohne eigene Zeiger- oder Ressourcenverwaltung wird TimePrecisionMeasurement als Wertetyp (Value Object) instantiiert. Die Instanziierung und Befüllung erfolgt typischerweise zyklisch durch den Time Slave der Adaptive-Plattform unmittelbar im Anschluss an einen Synchronisationsschritt. Die Struktur besitzt keine dynamischen Lebenszyklusphasen oder internen Zustandsübergänge; ihr Zustand ist ab dem Zeitpunkt der Befüllung als konsistenter Messdatensatz unveränderlich. Da die Struktur üblicherweise per Kopie oder über konstante Referenzen an auswertende Komponenten übergeben werden dürfte, existieren keine übergeordneten Besitzverhältnisse oder komplexen Zerstörungsanforderungen. Frage Q-11af6e7f794e4acb (offen) Der gleichzeitige lesende Zugriff auf eine befüllte Instanz aus mehreren Ausführungs-Threads gilt als unkritisch, sofern keine nebenläufige Schreiboperation stattfindet.
Nutzungspfad
Die typische Auswertung der Messwerte folgt einem festen Muster zur Analyse von Ganggenauigkeit, Synchronisationssprüngen und Netzwerkverzögerungen:
Prüfung des Synchronisationsstatus: Zunächst wird das Bitfeld [SWS_TS_01403] (timeBaseStatus) analysiert, um zu ermitteln, ob eine gültige globale Synchronisation vorliegt oder ob Fehlerbedingungen aufgetreten sind.
Bestimmung des Zeitsprungs: Durch den Vergleich der Zeitstempel der lokalen Zeitbasis unmittelbar vor der Synchronisation ([SWS_TS_01406]locSeconds, [SWS_TS_01407]locNanoSeconds) mit den Werten direkt nach der Synchronisation ([SWS_TS_01401]glbSeconds, [SWS_TS_01402]glbNanoSeconds) lässt sich der angewandte Korrektursprung exakt berechnen.
Gütebestimmung der Übertragung: Über [SWS_TS_01408] (pathDelay) wird die aktuelle Übertragungs- und Signallaufzeit in Nanosekunden ausgewertet. Ergänzend liefert [SWS_TS_01405] (rateDeviation) die berechnete Ratenabweichung der lokalen Taktrate direkt nach der Ratenmessung.
Zuordnung zur virtuellen Lokalzeit: Die niederwertigen 32 Bit der virtuellen lokalen Zeitbasis ([SWS_TS_01404]virtualLocalTimeLow) erlauben die Korrelation des Synchronisationszeitpunkts mit der kontinuierlichen Referenzuhr des Knotens.
Fehlerszenarien
Fehler- und Ausnahmezustände werden nicht durch C++-Exceptions gemeldet, sondern sind direkt über die Statusbits in [SWS_TS_01403] (timeBaseStatus) kodiert. Auswertende Komponenten müssen vor der Weiterverarbeitung der Zeitwerte prüfen, welche Fehlerbedingungen vorliegen:
Empfangs-Timeout: Wenn Bit 0 (TIMEOUT, 0x01) gesetzt ist, trat ein Timeout beim Empfang von Synchronisationsnachrichten auf.
Zeitsprünge: Die Bits TIMELEAP_FUTURE (0x10, Bit 4) bzw. TIMELEAP_PAST (0x20, Bit 5) signalisieren, dass ein konfigurierter Schwellenwert für sprunghafte Zeitkorrekturen in die Zukunft oder Vergangenheit überschritten wurde.
Ratenfehler: Wenn Bit 7 (RATE_EXCEEDED, 0x80) gesetzt ist, überschreitet die berechnete Taktrate die definierten Grenzwerte; Bit 6 (RATE_CORRECTED, 0x40) zeigt hingegen an, ob überhaupt eine gültige Ratenkorrektur berechnet werden konnte.
Abhängigkeitsbedingung: Gemäß [SWS_TS_01403] können die Bits TIMEOUT, TIMELEAP_FUTURE, TIMELEAP_PAST und SYNC_TO_GATEWAY (0x04, Bit 2) ausschließlich dann gesetzt sein, wenn Bit 3 (GLOBAL_TIME_BASE, 0x08) gesetzt ist. Fehlt GLOBAL_TIME_BASE, lief die lokale Zeitbasis bisher ausschließlich auf der lokalen Referenzuhr und war noch nie mit der globalen Zeitbasis synchronisiert.
Dieser Leitfaden wurde durch eine KI auf Basis der AUTOSAR-Spezifikation R25-11 erstellt.
TimeBaseStatus. Time Base Status of the Local Time Base directly after synchronization with the Global Time Base TIMEOUT 0x01 Bit 0 (LSB): 0x00: No Timeout on receiving Synchronisation Messages 0x01: Timeout on receiving Synchronisation Messages SYNC_TO_GATEWAY 0x04 Bit 2 0x00: Local Time Base is synchronous to Global Time Master 0x04: Local Time Base updates are based on a Time Gateway below the Global Time Master GLOBAL_TIME_BASE 0x08 Bit 3 0x00: Local Time Base is based on Local Time Base reference clock only (never synchronized with Global Time Base) 0x08: Local Time Base was at least synchronized with Global Time Base one time TIMELEAP_FUTURE 0x10 Bit 4 0x00: No leap into the future within the received time for Time Base, 0x10: Leap into the future within the received time for Time Base exceeds a configured threshold TIMELEAP_ PAST 0x20 Bit 5 0x00: No leap into the past within the received time for Time Base 0x20: Leap into the past within the received time for Time Base exceeds a configured threshold.
TimeBaseStatus. Time Base Status of the Local Time Base directly after synchronization with the Global Time Base TIMEOUT 0x01 Bit 0 (LSB): 0x00: No Timeout on receiving Synchronisation Messages 0x01: Timeout on receiving Synchronisation Messages SYNC_TO_GATEWAY 0x04 Bit 2 0x00: Local Time Base is synchronous to Global Time Master 0x04: Local Time Base updates are based on a Time Gateway below the Global Time Master GLOBAL_TIME_BASE 0x08 Bit 3 0x00: Local Time Base is based on Local Time Base reference clock only (never synchronized with Global Time Base) 0x08: Local Time Base was at least synchronized with Global Time Base one time TIMELEAP_FUTURE 0x10 Bit 4 0x00: No leap into the future within the received time for Time Base, 0x10: Leap into the future within the received time for Time Base exceeds a configured threshold TIMELEAP_ PAST 0x20 Bit 5 0x00: No leap into the past within the received time for Time Base 0x20: Leap into the past within the received time for Time Base exceeds a configured threshold.
Bit 6 RATE_CORRECTED 0x00: Valid rate correction not calculated for the Synchronized Time Base, 0x40: Valid rate correction calculated for the Synchronized Time Base. Bit 7 RATE_EXCEEDED 0x00: Calculated rate for Time Base does not exceed limits, 0x80: Calculated rate for Time Base exceeds limits. Description Bit 1 is always 0 (reserved for future usage) Variables of this type are used to express if and how a Local Time Base is synchronized to the Global Time Master. The type is a bitfield of individual status bits, although not every combination is possible, i.e. any of the bits TIMEOUT, TIMELEAP_ FUTURE, TIMELEAP_PAST and SYNC_TO_GATEWAY can only be set if the GLOBAL_ TIME_BASE bit is set.
gemini-3.8-flash-medium· 2026-10-13