Time Slave의 시간 동기화 정밀도 평가를 위한 상세 측정 데이터 및 상태 비트를 제공합니다.
AI 생성미검증모델: 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 모듈 내에서 이는 동기화 이벤트 발생 시 글로벌 타임베이스와의 정렬 직전 및 직후 로컬 클록 시간의 스냅샷을 캡처합니다. 따라서 이 구조체는 분산 시스템에서 클록 동기화의 계측 모니터링, 품질 평가 및 진단을 위한 인터페이스를 형성합니다.
자체 포인터나 리소스 관리가 없는 final 구조체로서 TimePrecisionMeasurement은 값 객체(Value Object)로 인스턴스화됩니다. 인스턴스화 및 데이터 채우기는 일반적으로 동기화 단계 직후 Adaptive Platform의 Time Slave에 의해 주기적으로 수행됩니다. 이 구조체는 동적 수명 주기 단계나 내부 상태 전이를 갖지 않으며, 데이터가 채워진 시점부터 일관된 측정 데이터 세트로서 그 상태가 불변입니다. 이 구조체는 일반적으로 복사본이나 상수 참조를 통해 평가 컴포넌트로 전달될 것으로 보이므로, 상위 소유권이나 복잡한 소멸 요구 사항이 존재하지 않습니다. 질문 Q-11af6e7f794e4acb (열림) 동시 쓰기 작업이 발생하지 않는 한 여러 실행 스레드에서 데이터가 채워진 인스턴스에 대한 동시 읽기 접근은 문제가 없는 것으로 간주됩니다.
사용 경로
측정값의 일반적인 평가는 속도 정확도, 동기화 점프 및 네트워크 지연을 분석하기 위한 고정된 패턴을 따릅니다:
동기화 상태 확인: 먼저 비트 필드 [SWS_TS_01403](timeBaseStatus)을 분석하여 유효한 글로벌 동기화가 존재하는지 또는 오류 조건이 발생했는지 확인합니다.
전송 품질 결정:[SWS_TS_01408](pathDelay)을 통해 현재 전송 및 신호 지연 시간이 나노초 단위로 평가됩니다. 또한 [SWS_TS_01405](rateDeviation)는 레이트 측정 직후 로컬 클록 레이트의 계산된 레이트 편차를 제공합니다.
가상 로컬 시간에 대한 매핑: 가상 로컬 타임베이스([SWS_TS_01404]virtualLocalTimeLow)의 하위 32비트를 통해 동기화 시점과 노드의 연속 기준 클록 간의 상관관계를 파악할 수 있습니다.
오류 시나리오
오류 및 예외 상태는 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이 없는 경우 로컬 타임베이스는 지금까지 로컬 기준 클록에서만 실행되었으며 글로벌 타임베이스와 동기화된 적이 없습니다.
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 · 독일어 원문