Предоставляет подробные данные измерений и биты состояния для оценки точности синхронизации времени ведомого узла времени (Time Slave).
СОЗДАНО ИИне провереноМодель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 360378009f87ПроисхождениеОткрытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал
Предоставляет подробные данные измерений и биты состояния для оценки точности синхронизации времени ведомого узла времени (Time Slave).
Структура ara::tsync::TimePrecisionMeasurement предоставляет подробные результаты измерений для определения точности синхронизированного Time Slave относительно глобальной временной базы. Она регистрирует локальные временные метки непосредственно до и после синхронизации ([SWS_TS_01401], [SWS_TS_01406]), а также отклонения времени распространения и скорости. Через битовое поле состояния [SWS_TS_01403] она также сигнализирует о состояниях ошибок, таких как таймауты, чрезмерные скачки времени или превышения допустимой скорости.
Контекст
Структура данных ara::tsync::TimePrecisionMeasurement служит для предоставления подробных данных измерений с целью регистрации точности синхронизированного Time Slave относительно вышестоящей временной базы. Внутри модуля tsync при наступлении события синхронизации она фиксирует мгновенные снимки локального времени непосредственно до и после согласования с глобальной временной базой. Таким образом, структура формирует интерфейс для метрологического мониторинга, оценки качества и диагностики синхронизации часов в распределённых системах.
Контекстная диаграмма: сбор и передача данных точности между временной базой, Time Slave и приложением мониторинга. Источники: [SWS_TS_01401], [SWS_TS_01403], [SWS_TS_01408]
Жизненный цикл
Являясь финальной структурой без собственного управления указателями или ресурсами, TimePrecisionMeasurement инстанциируется как объект-значение (Value Object). Инстанцирование и заполнение осуществляются, как правило, циклически компонентом Time Slave платформы Adaptive непосредственно после шага синхронизации. Структура не имеет динамических фаз жизненного цикла или внутренних переходов состояний; её состояние неизменно с момента заполнения как согласованного набора данных измерений. Поскольку структура, вероятнее всего, обычно передаётся оценивающим компонентам по значению или через константные ссылки, не существует вышестоящих отношений владения или сложных требований к уничтожению. Вопрос Q-11af6e7f794e4acb (открытый) Одновременный доступ на чтение к заполненному экземпляру из нескольких потоков выполнения считается некритичным при условии отсутствия конкурирующих операций записи.
Путь использования
Типичный анализ результатов измерений следует фиксированному шаблону для оценки точности хода часов, скачков синхронизации и сетевых задержек:
Проверка статуса синхронизации: сначала анализируется битовое поле [SWS_TS_01403] (timeBaseStatus), чтобы определить, присутствует ли действительная глобальная синхронизация или возникли условия ошибки.
Определение скачка времени: путём сравнения временных меток локальной временной базы непосредственно перед синхронизацией ([SWS_TS_01406]locSeconds, [SWS_TS_01407]locNanoSeconds) со значениями сразу после синхронизации ([SWS_TS_01401]glbSeconds, [SWS_TS_01402]glbNanoSeconds) можно точно рассчитать применённый корректирующий скачок.
Определение качества передачи: через [SWS_TS_01408] (pathDelay) оценивается текущее время передачи и распространения сигнала в наносекундах. Дополнительно [SWS_TS_01405] (rateDeviation) предоставляет вычисленное отклонение локальной тактовой частоты сразу после измерения скорости.
Привязка к виртуальному локальному времени: младшие 32 бита виртуальной локальной временной базы ([SWS_TS_01404]virtualLocalTimeLow) позволяют сопоставить момент синхронизации с непрерывными опорными часами узла.
Сценарии ошибок
Состояния ошибок и исключительные ситуации сообщаются не через исключения C++, а кодируются непосредственно битами состояния в [SWS_TS_01403] (timeBaseStatus). Оценивающие компоненты перед дальнейшей обработкой значений времени должны проверить, какие условия ошибок присутствуют:
Таймаут приёма: если бит 0 (TIMEOUT, 0x01) установлен, произошёл таймаут при приёме сообщений синхронизации.
Скачки времени: биты TIMELEAP_FUTURE (0x10, бит 4) и TIMELEAP_PAST (0x20, бит 5) сигнализируют о превышении сконфигурированного порогового значения для скачкообразных коррекций времени в будущее или в прошлое.
Ошибка частоты: если установлен бит 7 (RATE_EXCEEDED, 0x80), вычисленная тактовая частота превышает заданные предельные значения; бит 6 (RATE_CORRECTED, 0x40), напротив, указывает, удалось ли вообще рассчитать допустимую коррекцию частоты.
Условие зависимости: согласно [SWS_TS_01403] биты TIMEOUT, TIMELEAP_FUTURE, TIMELEAP_PAST и SYNC_TO_GATEWAY (0x04, бит 2) могут быть установлены исключительно в том случае, если установлен бит 3 (GLOBAL_TIME_BASE, 0x08). Если GLOBAL_TIME_BASE отсутствует, локальная временная база до сих пор работала исключительно от локальных опорных часов и еще ни разу не синхронизировалась с глобальной временной базой.
Данное руководство было создано ИИ на основе спецификации 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 · Немецкий оригинал