Fornece dados de medição detalhados e bits de status para a avaliação da precisão da sincronização de tempo de um Time Slave.
GERADO POR IAnão revisadoModelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 360378009f87ProcedênciaPerguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão
Fornece dados de medição detalhados e bits de status para a avaliação da precisão da sincronização de tempo de um Time Slave.
A estrutura ara::tsync::TimePrecisionMeasurement fornece valores de medição detalhados para o registro de precisão de um Time Slave sincronizado em relação a uma base de tempo global. Ela registra timestamps locais imediatamente antes e depois da sincronização ([SWS_TS_01401], [SWS_TS_01406]), bem como desvios de tempo de propagação e de taxa. Por meio do campo de bits de status [SWS_TS_01403], ela também sinaliza condições de erro como timeouts, saltos excessivos de tempo ou ultrapassagens de taxa.
Contexto
A estrutura de dados ara::tsync::TimePrecisionMeasurement destina-se ao fornecimento de dados de medição detalhados para o registro de precisão de um Time Slave sincronizado em relação a uma base de tempo de nível superior. Dentro do módulo tsync, ela captura instantâneos do relógio local imediatamente antes e após o alinhamento com a base de tempo global durante um evento de sincronização. A estrutura forma, assim, a interface para o monitoramento metrológico, avaliação de qualidade e diagnóstico da sincronização de relógios em sistemas distribuídos.
Diagrama de contexto: registro e repasse de dados de precisão entre a base de tempo, Time Slave e a aplicação de monitoramento. Fontes: [SWS_TS_01401], [SWS_TS_01403], [SWS_TS_01408]
Ciclo de vida
Como uma estrutura final sem gerenciamento próprio de ponteiros ou recursos, TimePrecisionMeasurement é instanciada como um objeto de valor (Value Object). A instanciação e o preenchimento ocorrem normalmente de forma cíclica pelo Time Slave da Adaptive Platform imediatamente após uma etapa de sincronização. A estrutura não possui fases de ciclo de vida dinâmicas ou transições de estado internas; seu estado é imutável a partir do momento do preenchimento como um registro consistente de medição. Como a estrutura provavelmente é repassada por cópia ou por meio de referências constantes para componentes de avaliação, não existem relações de propriedade de nível superior ou requisitos complexos de destruição. O acesso simultâneo de leitura a uma instância preenchida a partir de múltiplas threads de execução é considerado não crítico, desde que nenhuma operação de escrita concorrente ocorra. Pergunta Q-11af6e7f794e4acb (aberta)
Caminho de utilização
A avaliação típica dos valores de medição segue um padrão fixo para a análise da precisão de marcha, saltos de sincronização e atrasos de rede:
Verificação do status de sincronização: primeiro, o campo de bits [SWS_TS_01403] (timeBaseStatus) é analisado para determinar se existe uma sincronização global válida ou se ocorreram condições de erro.
Determinação do salto de tempo: comparando os timestamps da base de tempo local imediatamente antes da sincronização ([SWS_TS_01406]locSeconds, [SWS_TS_01407]locNanoSeconds) com os valores diretamente após a sincronização ([SWS_TS_01401]glbSeconds, [SWS_TS_01402]glbNanoSeconds), o salto de correção aplicado pode ser calculado com precisão.
Determinação da qualidade da transmissão: por meio de [SWS_TS_01408] (pathDelay), avalia-se o tempo atual de transmissão e de propagação de sinal em nanossegundos. Complementarmente, [SWS_TS_01405] (rateDeviation) fornece o desvio de taxa calculado da frequência de clock local diretamente após a medição de taxa.
Associação ao tempo local virtual: os 32 bits menos significativos da base de tempo local virtual ([SWS_TS_01404]virtualLocalTimeLow) permitem a correlação do momento de sincronização com o relógio de referência contínuo do nó.
Cenários de erro
Condições de erro e estados de exceção não são relatados por meio de exceções de C++, mas sim codificados diretamente através dos bits de status em [SWS_TS_01403] (timeBaseStatus). Os componentes de avaliação devem verificar quais condições de erro estão presentes antes de prosseguir com o processamento dos valores de tempo:
Timeout de recepção: se o bit 0 (TIMEOUT, 0x01) estiver definido, ocorreu um timeout na recepção de mensagens de sincronização.
Saltos de tempo: os bits TIMELEAP_FUTURE (0x10, bit 4) ou TIMELEAP_PAST (0x20, bit 5) sinalizam que um valor limite configurado para correções bruscas de tempo para o futuro ou passado foi excedido.
Erros de taxa: se o bit 7 (RATE_EXCEEDED, 0x80) estiver definido, a taxa de clock calculada excede os valores limites definidos; já o bit 6 (RATE_CORRECTED, 0x40) indica se uma correção de taxa válida pôde sequer ser calculada.
Condição de dependência: de acordo com [SWS_TS_01403], os bits TIMEOUT, TIMELEAP_FUTURE, TIMELEAP_PAST e SYNC_TO_GATEWAY (0x04, bit 2) só podem estar definidos se o bit 3 (GLOBAL_TIME_BASE, 0x08) estiver definido. Se GLOBAL_TIME_BASE estiver ausente, a base de tempo local funcionou até agora exclusivamente com base no relógio de referência local e nunca foi sincronizada com a base de tempo global.
Este guia foi criado por uma IA com base na especificação 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 em alemão