Fournit des données de mesure détaillées et des bits d'état pour l'évaluation de la précision de la synchronisation temporelle d'un Time Slave.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 360378009f87ProvenanceQuestions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Fournit des données de mesure détaillées et des bits d'état pour l'évaluation de la précision de la synchronisation temporelle d'un Time Slave.
La structure ara::tsync::TimePrecisionMeasurement fournit des valeurs de mesure détaillées pour l'évaluation de la précision d'un Time Slave synchronisé par rapport à une base de temps globale. Elle enregistre des horodatages locaux immédiatement avant et après la synchronisation ([SWS_TS_01401], [SWS_TS_01406]) ainsi que les déviations de temps de propagation et de dérive (rate deviations). Via le champ de bits d'état [SWS_TS_01403], elle signale en outre des états d'erreur tels que des délais d'attente (timeouts), des sauts temporels excessifs ou des dépassements de dérive.
Contexte
La structure de données ara::tsync::TimePrecisionMeasurement sert à fournir des données de mesure détaillées pour la mesure de la précision d'un Time Slave synchronisé par rapport à une base de temps de niveau supérieur. Au sein du module tsync, elle enregistre lors d'un événement de synchronisation des instantanés de l'heure locale immédiatement avant et après l'alignement avec la base de temps globale. La structure constitue ainsi l'interface pour la surveillance métrologique, l'évaluation de la qualité et le diagnostic de la synchronisation des horloges dans les systèmes distribués.
Diagramme de contexte : collecte et transmission de données de précision entre la base de temps, le Time Slave et l'application de surveillance. Sources : [SWS_TS_01401], [SWS_TS_01403], [SWS_TS_01408]
Cycle de vie
En tant que structure finale sans gestion propre de pointeurs ou de ressources, TimePrecisionMeasurement est instanciée sous la forme d'un objet-valeur (Value Object). L'instanciation et le remplissage sont généralement effectués de façon cyclique par le Time Slave de la plateforme Adaptive immédiatement après une étape de synchronisation. La structure ne possède aucune phase de cycle de vie dynamique ni transition d'état interne ; son état est immuable à compter du moment de son remplissage en tant qu'enregistrement de mesure cohérent. Comme la structure devrait habituellement être transmise par copie ou via des références constantes à des composants effectuant l'évaluation, il n'existe pas de relations de possession de niveau supérieur ni d'exigences complexes en matière de destruction. Question Q-11af6e7f794e4acb (ouverte) L'accès en lecture simultané à une instance renseignée depuis plusieurs threads d'exécution est considéré comme non critique, dans la mesure où aucune opération d'écriture concurrente n'a lieu.
Parcours d'utilisation
L'évaluation typique des valeurs de mesure suit un schéma fixe pour l'analyse de la précision de marche, des sauts de synchronisation et des retards réseau :
Vérification de l'état de synchronisation : le champ de bits [SWS_TS_01403] (timeBaseStatus) est d'abord analysé pour déterminer si une synchronisation globale valide est présente ou si des conditions d'erreur sont survenues.
Détermination du saut temporel : la comparaison des horodatages de la base de temps locale immédiatement avant la synchronisation ([SWS_TS_01406]locSeconds, [SWS_TS_01407]locNanoSeconds) avec les valeurs directement postérieures à la synchronisation ([SWS_TS_01401]glbSeconds, [SWS_TS_01402]glbNanoSeconds) permet de calculer exactement le saut de correction appliqué.
Détermination de la qualité de transmission :[SWS_TS_01408] (pathDelay) permet d'évaluer le temps de transmission et de propagation du signal actuel en nanosecondes. En complément, [SWS_TS_01405] (rateDeviation) fournit l'écart de fréquence calculé de la fréquence d'horloge locale directement après la mesure de fréquence.
Association au temps local virtuel : Les 32 bits de poids faible de la base de temps locale virtuelle ([SWS_TS_01404]virtualLocalTimeLow) permettent de corréler l'instant de synchronisation avec l'horloge de référence continue du nœud.
Scénarios d'erreur
Les états d'erreur et d'exception ne sont pas signalés par des exceptions C++, mais sont directement codés par le biais des bits d'état dans [SWS_TS_01403] (timeBaseStatus). Les composants procédant à l'évaluation doivent vérifier quelles conditions d'erreur sont présentes avant de poursuivre le traitement des valeurs temporelles :
Timeout de réception : Si le bit 0 (TIMEOUT, 0x01) est armé, un timeout est survenu lors de la réception de messages de synchronisation.
Sauts temporels : Les bits TIMELEAP_FUTURE (0x10, bit 4) et TIMELEAP_PAST (0x20, bit 5) signalent qu'un seuil configuré pour les corrections temporelles discontinues vers le futur ou le passé a été dépassé.
Erreur de fréquence : Si le bit 7 (RATE_EXCEEDED, 0x80) est armé, la fréquence d'horloge calculée dépasse les valeurs limites définies ; le bit 6 (RATE_CORRECTED, 0x40) indique en revanche si une correction de fréquence valide a pu être calculée.
Condition de dépendance : Conformément à [SWS_TS_01403], les bits TIMEOUT, TIMELEAP_FUTURE, TIMELEAP_PAST et SYNC_TO_GATEWAY (0x04, bit 2) peuvent être armés exclusivement si le bit 3 (GLOBAL_TIME_BASE, 0x08) est armé. Si GLOBAL_TIME_BASE fait défaut, la base de temps locale ne fonctionnait jusqu'ici que sur l'horloge de référence locale et n'avait encore jamais été synchronisée avec la base de temps globale.
Ce guide a été généré par une IA sur la base de la spécification AUTOSAR 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 · Original allemand