Biedt gedetailleerde meetgegevens en statusbits voor de precisiebeoordeling van de tijdsynchronisatie van een Time Slave.
DOOR AI GEGENEREERDongecontroleerdModel: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 360378009f87HerkomstOpen vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel
Biedt gedetailleerde meetgegevens en statusbits voor de precisiebeoordeling van de tijdsynchronisatie van een Time Slave.
De structuur ara::tsync::TimePrecisionMeasurement levert gedetailleerde meetwaarden voor de precisie-erkenning van een gesynchroniseerde Time Slave ten opzichte van een globale tijdbasis. Deze registreert lokale tijdstempels direct vóór en na de synchronisatie ([SWS_TS_01401], [SWS_TS_01406]) evenals looptijd- en snelheidsafwijkingen. Via het statusbitveld [SWS_TS_01403] signaleert deze bovendien fouttoestanden zoals time-outs, overmatige tijdsprongen of snelheidsoverschrijdingen.
Context
De datastructuur ara::tsync::TimePrecisionMeasurement dient voor het beschikbaar stellen van gedetailleerde meetgegevens voor de precisiebepaling van een gesynchroniseerde Time Slave ten opzichte van een overkoepelende tijdbasis. Binnen de module tsync registreert deze bij een synchronisatiegebeurtenis momentopnamen van de lokale klok direct vóór en na de afstemming met de globale tijdbasis. De structuur vormt daarmee de interface voor de meettechnische bewaking, kwaliteitsbeoordeling en diagnose van de kloksynchronisatie in gedistribueerde systemen.
Contextdiagram: registratie en doorgifte van precisiegegevens tussen tijdbasis, Time Slave en bewakingsapplicatie. Bronnen: [SWS_TS_01401], [SWS_TS_01403], [SWS_TS_01408]
Levenscyclus
Als finale structuur zonder eigen pointer- of middelenbeheer wordt TimePrecisionMeasurement geïnstantieerd als waardetype (Value Object). De instantiëring en vulling vinden typisch cyclisch plaats door de Time Slave van het Adaptive-platform direct volgend op een synchronisatiestap. De structuur bezit geen dynamische levenscyclusfasen of interne toestandsovergangen; de toestand ervan is vanaf het moment van vulling onveranderlijk als een consistente set meetgegevens. Aangezien de structuur vermoedelijk via kopie of via constante referenties aan evaluerende componenten wordt overgedragen, bestaan er geen overkoepelende eigendomsrelaties of complexe destructie-eisen. Vraag Q-11af6e7f794e4acb (open) Gelijktijdige leestoegang tot een gevulde instantie vanuit meerdere executie-threads geldt als niet-kritisch, mits er geen concurrerende schrijfoperatie plaatsvindt.
Gebruikspad
De typische evaluatie van de meetwaarden volgt een vast patroon voor de analyse van loopnauwkeurigheid, synchronisatiesprongen en netwerkvertragingen:
Controle van de synchronisatiestatus: Eerst wordt het bitveld [SWS_TS_01403] (timeBaseStatus) geanalyseerd om vast te stellen of er een geldige globale synchronisatie aanwezig is of dat er foutcondities zijn opgetreden.
Bepaling van de tijdsprong: Door vergelijking van de tijdstempels van de lokale tijdbasis direct vóór de synchronisatie ([SWS_TS_01406]locSeconds, [SWS_TS_01407]locNanoSeconds) met de waarden direct na de synchronisatie ([SWS_TS_01401]glbSeconds, [SWS_TS_01402]glbNanoSeconds) kan de toegepaste correctiesprong exact worden berekend.
Kwaliteitsbepaling van de overdracht: Via [SWS_TS_01408] (pathDelay) wordt de actuele transmissie- en signaallooptijd in nanoseconden geëvalueerd. Aanvullend levert [SWS_TS_01405] (rateDeviation) de berekende snelheidsafwijking van de lokale kloksnelheid direct na de snelheidsmeting.
Toewijzing aan de virtuele lokale tijd: De lage 32 bits van de virtuele lokale tijdbasis ([SWS_TS_01404]virtualLocalTimeLow) maken de correlatie van het synchronisatietijdstip met de continue referentieklok van de node mogelijk.
Foutscenario's
Fout- en uitzonderingstoestanden worden niet via C++-exceptions gemeld, maar zijn direct gecodeerd via de statusbits in [SWS_TS_01403] (timeBaseStatus). Evaluerende componenten moeten vóór verdere verwerking van de tijdwaarden controleren welke foutcondities aanwezig zijn:
Ontvangsttime-out: Wanneer bit 0 (TIMEOUT, 0x01) is ingesteld, is er een time-out opgetreden bij de ontvangst van synchronisatieberichten.
Tijdsprongen: De bits TIMELEAP_FUTURE (0x10, bit 4) respectievelijk TIMELEAP_PAST (0x20, bit 5) signaleren dat een geconfigureerde drempelwaarde voor sprongsgewijze tijdcorrecties naar de toekomst of het verleden is overschreden.
Snelheidsfout: Wanneer bit 7 (RATE_EXCEEDED, 0x80) is ingesteld, overschrijdt de berekende kloksnelheid de gedefinieerde grenswaarden; bit 6 (RATE_CORRECTED, 0x40) geeft daarentegen aan of er überhaupt een geldige snelheidscorrectie kon worden berekend.
Afhankelijkheidsvoorwaarde: Volgens [SWS_TS_01403] kunnen de bits TIMEOUT, TIMELEAP_FUTURE, TIMELEAP_PAST en SYNC_TO_GATEWAY (0x04, bit 2) uitsluitend worden ingesteld wanneer bit 3 (GLOBAL_TIME_BASE, 0x08) is ingesteld. Ontbreekt GLOBAL_TIME_BASE, dan liep de lokale tijdbasis tot nu toe uitsluitend op de lokale referentieklok en was deze nog nooit met de globale tijdbasis gesynchroniseerd.
Deze handleiding is opgesteld door een AI op basis van de AUTOSAR-specificatie R25-11.
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-low· 2026-10-13 · Duits origineel