Proporciona datos de medición detallados y bits de estado para la evaluación de precisión de la sincronización temporal de un Time Slave.
GENERADO POR IAno revisadoModelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 360378009f87ProcedenciaPreguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán
Proporciona datos de medición detallados y bits de estado para la evaluación de precisión de la sincronización temporal de un Time Slave.
La estructura ara::tsync::TimePrecisionMeasurement suministra valores medidos detallados para el registro de precisión de un Time Slave sincronizado con respecto a una base de tiempo global. Captura marcas de tiempo locales inmediatamente antes y después de la sincronización ([SWS_TS_01401], [SWS_TS_01406]), así como desviaciones de tiempo de propagación y de tasa. Mediante el campo de bits de estado [SWS_TS_01403], señala además estados de error como tiempos de espera agotados, saltos temporales excesivos o superaciones de tasa.
Contexto
La estructura de datos ara::tsync::TimePrecisionMeasurement sirve para proporcionar datos de medición detallados para el registro de precisión de un Time Slave sincronizado con respecto a una base de tiempo de nivel superior. Dentro del módulo tsync, captura instantáneas de la hora local inmediatamente antes y después del ajuste con la base de tiempo global durante un evento de sincronización. De este modo, la estructura conforma la interfaz para la monitorización metrológica, la evaluación de calidad y el diagnóstico de la sincronización de relojes en sistemas distribuidos.
Diagrama de contexto: captura y transmisión de datos de precisión entre la base de tiempo, el Time Slave y la aplicación de monitorización. Fuentes: [SWS_TS_01401], [SWS_TS_01403], [SWS_TS_01408]
Ciclo de vida
Como estructura final sin gestión propia de punteros o recursos, TimePrecisionMeasurement se instancia como tipo por valor (Value Object). La instanciación y el llenado son realizados típicamente de forma cíclica por el Time Slave de la plataforma Adaptive inmediatamente después de un paso de sincronización. La estructura no posee fases dinámicas de ciclo de vida ni transiciones internas de estado; su estado es inmutable a partir del momento del llenado en forma de registro de datos de medición consistente. Dado que es de suponer que la estructura se transfiera habitualmente por copia o a través de referencias constantes a los componentes de evaluación, no existen relaciones de propiedad de nivel superior ni requisitos complejos de destrucción. Pregunta Q-11af6e7f794e4acb (abierta) El acceso de lectura concurrente a una instancia completada desde múltiples hilos de ejecución se considera no crítico, siempre que no se produzca ninguna operación de escritura concurrente.
Ruta de uso
La evaluación típica de los valores medidos sigue un patrón fijo para el análisis de la precisión de marcha, los saltos de sincronización y los retardos de red:
Comprobación del estado de sincronización: en primer lugar, se analiza el campo de bits [SWS_TS_01403] (timeBaseStatus) para determinar si existe una sincronización global válida o si se han producido condiciones de error.
Determinación del salto temporal: mediante la comparación de las marcas de tiempo de la base de tiempo local inmediatamente anteriores a la sincronización ([SWS_TS_01406]locSeconds, [SWS_TS_01407]locNanoSeconds) con los valores directamente posteriores a la sincronización ([SWS_TS_01401]glbSeconds, [SWS_TS_01402]glbNanoSeconds), se puede calcular con exactitud el salto de corrección aplicado.
Determinación de la calidad de la transmisión: a través de [SWS_TS_01408] (pathDelay) se evalúa el tiempo actual de transmisión y propagación de señal en nanosegundos. De forma complementaria, [SWS_TS_01405] (rateDeviation) proporciona la desviación de tasa calculada de la frecuencia de reloj local directamente después de la medición de tasa.
Asignación a la hora local virtual: los 32 bits de menor peso de la base de tiempo local virtual ([SWS_TS_01404]virtualLocalTimeLow) permiten correlacionar el instante de sincronización con el reloj de referencia continuo del nodo.
Escenarios de error
Los estados de error y de excepción no se notifican mediante excepciones de C++, sino que están codificados directamente a través de los bits de estado en [SWS_TS_01403] (timeBaseStatus). Los componentes evaluadores deben comprobar qué condiciones de error están presentes antes de procesar posteriormente los valores temporales:
Tiempo de espera agotado de recepción: si el bit 0 (TIMEOUT, 0x01) está activo, se produjo un tiempo de espera agotado al recibir mensajes de sincronización.
Saltos temporales: los bits TIMELEAP_FUTURE (0x10, bit 4) y TIMELEAP_PAST (0x20, bit 5) señalan que se ha superado un valor umbral configurado para correcciones temporales bruscas hacia el futuro o el pasado.
Errores de tasa: si el bit 7 (RATE_EXCEEDED, 0x80) está activo, la tasa de reloj calculada supera los valores límite definidos; el bit 6 (RATE_CORRECTED, 0x40), por el contrario, indica si fue posible calcular en absoluto una corrección de tasa válida.
Condición de dependencia: según [SWS_TS_01403], los bits TIMEOUT, TIMELEAP_FUTURE, TIMELEAP_PAST y SYNC_TO_GATEWAY (0x04, bit 2) pueden estar activos exclusivamente si el bit 3 (GLOBAL_TIME_BASE, 0x08) está activo. Si falta GLOBAL_TIME_BASE, la base de tiempo local ha funcionado hasta ahora exclusivamente sobre el reloj de referencia local y nunca ha estado sincronizada con la base de tiempo global.
Esta guía fue elaborada por una IA sobre la base de la especificación 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 en alemán