시스템 클록과 내부 동기화

개요

GNSS 수신기에서는 매우 정확한 시간 관리가 필수적이다. 각 위성에서 전송되는 신호의 도착 시간과 위상 정보를 토대로 위치를 결정하기 때문에, 수신기 내부의 클록(clock)이 안정적이고 정확하게 동작해야 한다. 이를 위해 수신기 내부에는 온도 보상 수정 진동자(TCXO)나 원자 시계 등 다양한 종류의 클록 소자가 사용될 수 있다. 하지만 어떤 클록 소자를 사용하든, 이 클록을 기준으로 모든 디지털 및 RF 회로가 일관된 타이밍을 유지하도록 동기화 메커니즘을 구축해야 한다.

클록의 정확도는 일반적으로 주파수 안정도와 위상 잡음(phase noise)으로 표현된다. GNSS 신호는 매우 넓은 범위에서 오랜 시간에 걸쳐 누적된 위상 관측값을 사용하기 때문에, 장기적으로 안정적인 주파수를 유지하고 순간적인 위상 잡음도 최소화해야 한다. 특히 측정 정밀도가 높은 GNSS 수신기는 내부 클록 편이에 대한 예민한 추적 및 보정을 수행한다.

시스템 클록 주파수

GNSS 수신기의 시스템 클록(System Clock)은 일반적으로 내부 로컬 오실레이터(Local Oscillator, LO)에서 만들어진 기준 주파수를 특정 배수로 승압하여 얻는다. 예를 들어 LO가 $f_{\mathrm{osc}}$라는 기본 주파수를 발생시키면, 수신기 내부에서 이 신호를 PLL(Phase-Locked Loop) 등으로 원하는 주파수 $f_{\mathrm{clk}}$로 변환하여 시스템 전체의 ‘기준’으로 사용한다. 이를 간단히 나타내면 다음과 같이 표현할 수 있다.

fclk=N×foscf_{\mathrm{clk}} = N \times f_{\mathrm{osc}}

여기서 $N$은 분배 회로나 PLL에서 정해진 승수(multiplication factor)이다. GNSS 신호를 디지털 도메인에서 처리하기 위해, 위의 시스템 클록 $f_{\mathrm{clk}}$를 다시 분주(divide)하거나 다른 PLL 단계를 거쳐 샘플링 주파수 $f_{\mathrm{sample}}$로 맞춘다. 즉,

fsample=fclkMf_{\mathrm{sample}} = \frac{f_{\mathrm{clk}}}{M}

와 같은 형태로 표현할 수 있다. 여기서 $M$은 특정한 샘플링 요구사항에 맞춰 결정되며, DSP(digital signal processing) 블록이 이 샘플링 주파수에 맞춰 GNSS 신호를 처리하게 된다.

내부 동기화 구조

시스템 내부 동기화는 로컬 오실레이터에서 발생하는 기준 클록을 전체 수신기 블록에 균일하게 분배하고, 각 디지털 회로가 동일한 시간 기준으로 처리하도록 설계하는 과정을 의미한다. 이때 고려해야 할 대표적인 요소는 다음과 같다.

  • 클록 전파 지연(clock distribution delay) 인쇄회로기판(PCB)에서의 배선, 각종 버퍼(buffer) 및 드라이버 소자에서 발생하는 지연이 누적되어, 일부 회로는 미세하게 다른 위상(phase offset)을 가지게 된다.

  • 주파수 오프셋(frequency offset) 실제 오실레이터 주파수와 이상적 주파수의 편차가 누적되어, 장기적으로는 시간 기준에 누적 오차가 발생한다.

  • 위상 잡음(phase noise) 순간적인 주파수 편이(drift)에 의해 단기적으로 일어나는 시간 차이 변동이다.

이러한 오프셋과 지연, 잡음을 최소화하기 위해 주파수 합성(Frequency Synthesis)과 분배(Distribution) 단계에서 PLL, 정밀 버퍼, 위상 보정 회로 등이 동원된다. 또한 칩 내부에서 여러 블록에 동일한 클록 신호를 공급할 때, 신호 라우팅(routing)의 길이와 레이턴시를 미리 고려하여 레이아웃(layout)을 설계한다.

클록 분산 네트워크와 위상 보정

클록 분산(Distribution) 네트워크는 수신기 내부에서 생성된 기준 클록을 다양한 하드웨어 블록(예: 프론트엔드, 디지털 신호처리 블록, 마이크로컨트롤러 등)에 안정적으로 공급하는 구조를 의미한다. 이를 위해 다음과 같은 접근 방법이 사용된다.

  • 트리형 분산 구조(Tree Distribution) 단일 기준점에서 나간 클록이 여러 단을 거치면서 점차 분기되어 각 블록에 도달한다. 트리 구조는 배선 길이가 대체로 균일하게 배분되도록 설계하기가 용이해, 블록 간 클록 도달 시간의 편차(skew)를 줄이는 데 효과적이다.

  • 네트워크형 분산 구조(Mesh Network or Grid Network) 상대적으로 복잡하지만, 여러 경로를 통해 클록이 각 블록에 공급되도록 구성한다. 여러 경로가 상호 보정(phase alignment)을 하여 특정 구역에서 클록 위상을 맞추기 때문에 트리 구조보다 더 낮은 지터(jitter)와 스큐(skew)를 달성할 수 있다.

GNSS 수신기에서는 일반적으로 트리형 분산 방식이 많이 사용되지만, 고집적 칩(SoC)이나 복수의 대규모 로직 블록을 포함하는 경우 네트워크형 분산이 도입되기도 한다. 특히 SoC 내부에는 RF, 베이스밴드, 디지털 처리가 융합되어 있는데, 각 블록 간 위상 차이가 허용 오차를 넘어서면 동기화 문제가 발생할 수 있다.

이를 방지하기 위해, 높은 집적도와 고속 동작 환경에서 사용하는 PLL 기반의 클록 버퍼나 고성능 위상 보정(phase alignment) 기능이 필수적이다. 예를 들어, 각 블록에 공급되는 클록을 미세하게 지연시켜서, 모든 블록이 동일한 타이밍 기준에서 동작하도록 한다. 이 과정을 통해 각 블록에 도달하는 클록의 위상 $\phi_{\mathrm{dist}}(k)$를 일정하게 유지할 수 있다. 이를 간단히 표현하면,

ϕdist(k)ϕ0,kK\phi_{\mathrm{dist}}(k) \approx \phi_{0}, \quad \forall k \in \mathbf{K}

여기서 $\phi_{0}$는 기준이 되는 위상, $\mathbf{K}$는 수신기 내 다수의 블록 집합을 의미한다.

멀티 PLL 구조

대부분의 GNSS 수신기는 하나의 중앙 집중적인 PLL만 사용하는 것이 아니라, 여러 레벨에 걸쳐 PLL을 배치함으로써 유연성과 정밀도를 동시에 확보한다. 예를 들어 다음과 같은 구조를 고려해볼 수 있다:

  1. 메인 PLL 외부 오실레이터로부터 입력된 주파수를 기준으로, 최종적인 고주파 클록 $f_{\mathrm{clk}}$을 만든다.

  2. 서브 PLL 디지털 블록이나 특정 샘플링 회로마다 별도의 PLL을 구성하여, 필요한 주파수 스펙(예: 낮은 지터, 빠른 잠금 시간 등)을 만족하도록 한다.

  3. DCXO(TCXO) 기반 보정 장기 주파수 안정도를 보완하기 위해, DCXO나 TCXO에서 비교적 정확한 기준을 받아 PLL의 주파수 드리프트를 보정한다.

이러한 다단계 PLL 구조를 통해, 특정 블록이 요구하는 특성(예: 높은 주파수 정확도, 위상 잡음 억제 등)에 따라 여러 클록 소스를 자유롭게 선택할 수 있으며, 전체 수신기의 신뢰도와 성능을 향상시킬 수 있다.

잡음 특성 및 스펙트럼 분석

위성항법시스템 수신기의 내부 클록은 열 잡음, 기계적 진동, 공진 특성 등에 의해 발생하는 주파수 변동이 주파수 도메인에서 다양한 스펙트럼 성분으로 나타난다. GNSS 측정 정확도를 저해하는 주요 지표 중 하나는 주파수 영역에서의 위상 잡음(phase noise)이므로, 일반적으로 다음과 같은 전력 스펙트럼 밀도(PSD) 형태로 분석된다.

Sϕ(f)=(Phase Noise PSD)dfS_{\phi}(f) = \int \left( \text{Phase Noise PSD} \right) df

여기서 $S_{\phi}(f)$는 위상 잡음 스펙트럼 밀도이며, $f$는 오프셋 주파수를 의미한다. 실제로는 로그 스케일에서 $10 \log_{10}\left(S_{\phi}(f)\right)$ 형태로 나타내어, PLL 설계 시 주파수 대역별 성능을 확인한다. GNSS 수신기에서는 낮은 오프셋 주파수에서도 위상 잡음이 낮아야, 캐리어 추적 루프(carrier tracking loop)의 안정도를 확보할 수 있다.

내부 동기화 과정의 예시

아래는 단순화된 내부 동기화 과정(클록 생성 및 분배 흐름)을 다이어그램으로 나타낸 예시이다.

spinner
  • 단계 1: 외부 오실레이터에서 $f_{\mathrm{osc}}$가 입력된다.

  • 단계 2: 메인 PLL에서 $f_{\mathrm{clk}} = N \times f_{\mathrm{osc}}$를 생성한다.

  • 단계 3: 만들어진 시스템 클록을 트리형/네트워크형 분배 구조를 통해 전달한다.

  • 단계 4: 각 블록은 필요에 따라 하위 PLL을 사용하거나 클록 부품(버퍼, 게이트 등)을 통해 로컬 클록으로 변환한다.

드리프트 보정과 온도 보상

GNSS 수신기에 사용되는 로컬 오실레이터의 주파수는 온도, 전원 전압 변동, 노화(Aging) 등의 영향으로 인해 시간이 지남에 따라 편차가 발생한다. 이를 **드리프트(drift)**라고 하며, 장기적인 주파수 변동을 야기한다. GNSS 수신기에서는 가능한 한 장기간에 걸쳐 정확한 클록 기준을 유지해야 하므로, 다음과 같은 보정 기법이 적용된다.

  • OCXO(오븐 제어 수정 진동자, Oven-Controlled Crystal Oscillator) 결정 발진자를 일정 온도로 유지하기 위해 오븐(heater)을 사용한다. 온도 변동이 최소화되기 때문에 매우 낮은 드리프트와 높은 단기 안정도를 얻을 수 있다.

  • TCXO(온도 보상 수정 진동자, Temperature Compensated Crystal Oscillator) 내부 온도 센서를 통해 진동자 주파수 변동을 측정하고, 이를 전자적으로 보정한다. 전력 소모는 OCXO보다 낮지만, 정밀도는 약간 떨어질 수 있다.

  • DCXO(Digitally Controlled Crystal Oscillator) 결정 발진자의 전기적 제어 전압을 디지털 신호로 세밀하게 조정하여 주파수를 보정한다. 외부 GNSS 1PPS(1 Pulse Per Second)나 정확한 RTC(Real-Time Clock) 신호를 활용해 클록 편차를 측정하고, 이를 피드백(Feedback) 형태로 DCXO에 반영한다.

이와 같은 보정 기법을 통해, 수신기 내부 시스템 클록의 장기적 안정도를 크게 향상시킬 수 있다. GNSS 수신기의 고정밀 측정에 있어, 주파수 드리프트가 누적되어 발생하는 위상 오차는 최종 위치·속도 계산 정확도에 직접적인 영향을 주므로 반드시 제어 대상이 된다.

내부 동기화와 시간 도메인 관리

GNSS 수신기 하드웨어 안에는 서로 다른 클록 도메인(clock domain)이 존재할 수 있다. 예를 들어, 고속 디지털 신호처리 블록과 상대적으로 저속으로 동작하는 주변 제어 인터페이스 블록은 각기 다른 주파수에서 동작한다. 이때 시간 도메인 관리가 중요해진다.

  1. 클록 도메인 교차(Clock Domain Crossing, CDC) 서로 다른 클록 도메인을 오가며 데이터가 전송될 때, 메타안정성(metastability) 문제가 발생할 수 있다. 이를 방지하기 위해 동기화 회로(synchronizer) 또는 FIFO(First In First Out) 버퍼 등이 사용된다.

  2. 타이밍 마진(Setup/Hold Time Margin) 고속 디지털 로직은 입력 신호가 클록 엣지(edge)에 대해 충분한 세트업/홀드 타임을 만족해야 오동작을 방지한다. 이는 내부 클록 지연, 잡음 등에 큰 영향을 받으므로, 클록 배분 설계 시 여유(margin)를 고려해야 한다.

이처럼 여러 클록 도메인을 혼용하거나, 서로 다른 속도로 동작하는 블록 간 인터페이스를 설계할 때, 시스템 수준에서의 타이밍 검증(timing verification)이 필수다.

1PPS 동기화

GNSS 위성신호를 통해 추출되는 1PPS(One Pulse Per Second)는 지구상의 공통 시각 기준(UTC 등)에 매우 근접한 정확도를 가지는 신호다. GNSS 수신기 내부에서는 이 1PPS 신호를 활용해 시스템 전체 시각 기준을 재정렬(resynchronization)하거나, 외부에 1PPS 신호를 제공함으로써 다른 장비도 동기화할 수 있도록 한다.

1PPS 신호의 도달 시간은 매우 높은 정확도를 필요로 하며, 이를 위해 내부에서 다음과 같은 절차가 진행될 수 있다.

  1. 1PPS 잡아내기 RF/IF/베이스밴드 단에서 추적 루프(carrier/code tracking)를 통해 결정된 내부 시간과 위성의 시간 정보가 일치할 때, 1초 주기에 맞춰 펄스를 생성한다.

  2. 시스템 내부 뿌리기 생성된 1PPS 신호를 다른 블록(예: CPU 타이머, RTC 등)에 전달하여, 공통 시각 기준으로 사용하게 한다.

  3. 주파수 보정 루프(Frequency Discipline) 1PPS에서 측정된 오차를 바탕으로, 내부 오실레이터(DCXO, TCXO 등)의 제어 전압 등을 미세하게 조정하며 누적 편차를 줄인다. 이는

    ferror(t)=fmeas(t)freff_{\mathrm{error}}(t) = f_{\mathrm{meas}}(t) - f_{\mathrm{ref}}

    형태로, 측정 주파수와 기준 주파수 간 차이를 산출하여, 이를 보정 메커니즘에 반영한다.

지터 및 스큐 관리 기법

시스템 클록 배분 네트워크에서는 지터(jitter)와 스큐(skew)를 어떻게 줄이느냐가 중요한 설계 이슈다. GNSS 수신기는 작은 위상 오차도 누적되면 신호 처리 성능이 떨어질 수 있으므로, 가능한 한 안정적인 클록 신호가 필요하다.

  • 지터 감소 기법

    • PLL 내부 루프 필터 설계 시 저주파 노이즈 억제

    • 저잡음 전원 공급(분리된 전원 라인, 전원 필터링 등)

    • 클록 버퍼·게이트에 대한 적절한 PCB 레이아웃, 전자기적 간섭(EMI) 차단

  • 스큐 보정 기법

    • PVT(Process, Voltage, Temperature) 변동을 고려하여 레이아웃 단계에서 배선 길이 및 드라이버 삽입을 균일하게 함

    • 각 분지(branch)마다 위상 조절(phase adjustment) 블록 또는 지연 라인(delay line)을 두어, 출력되는 클록 사이의 위상 차이를 일정 범위 내로 유지

스큐가 크게 발생하면 특정 블록이 다른 블록보다 더 빠르거나 느리게 동작하여 데이터 전송 시 타이밍 오류가 발생할 수 있다. 지터가 크면 고속 신호처리 블록의 내부 샘플링 타이밍이 흔들려, GNSS 신호 추적에 노이즈가 증가하거나 심각할 경우 신호를 놓칠 수도 있다. 따라서 이 두 요소를 엄격히 관리해야 한다.

클록 재동기화 이벤트

수신기는 작동 중에도 내부 조건 변화, 외부 클록 소스 변경(예: TCXO에서 OCXO로 전환) 등에 따라 클록을 재동기화(resync)해야 하는 상황이 발생할 수 있다. 이런 경우, 다음과 같은 절차가 뒤따른다.

  1. 사전 동기화 준비 현재의 클록 상태를 유지한 채, 새로운 클록 소스나 PLL이 안정화되기를 기다린다.

  2. 전환 스위칭 새로운 클록이 목표 주파수와 위상에 도달했는지를 확인한 후, 하드웨어적으로 스위치 회로를 통해 클록 소스를 변경한다.

  3. 재획득(Reacquisition) 또는 추적 일부 GNSS 추적 루프가 순간적으로 끊길 수 있으므로, 소프트웨어적으로 상태를 점검하고, 필요하다면 재획득 과정을 수행한다.

이런 재동기화 절차에서 시스템이 순간 정지하지 않도록, 듀얼 PLL 또는 버퍼된 클록(Buffered Clock)을 사용하여 단절 없는(smooth) 전환을 시도하는 것이 일반적이다.

PLL 락 타임과 초기화 시퀀스

GNSS 수신기에서 PLL(Phase-Locked Loop)은 기준 주파수 대비 특정 배수로 증폭된 고정밀 클록을 생성한다. 하지만 PLL이 정상 동작 상태(Phase Locked 상태)에 이르기까지는 짧게는 몇 마이크로초에서 길게는 수 밀리초에 달하는 **락 타임(lock time)**이 필요하다. 이 기간 동안 PLL 출력은 불안정한 상태를 보일 수 있으므로, 시스템이 이를 인식하고 적절히 대처하도록 설계해야 한다.

  1. PLL 초기화

    • 전원 인가 후, PLL 내부의 전압제어발진기(VCO), 루프 필터 등의 회로가 기동되면서 초기 상태가 결정된다.

    • 다단계 PLL인 경우, 상위 PLL이 먼저 안정된 후 하위 PLL이 순차적으로 동작하도록 한다.

  2. 랩핑(Wrapping) 및 위상 탐색

    • PLL은 기준 주파수와 비교 주파수의 위상 차이를 검출하여, VCO 주파수를 조정한다.

    • 락 타임 동안 루프 필터를 통해 위상 차이가 최소화되는 방향으로 제어 전압이 변화한다.

  3. 락 검출(Phase Lock Detect)

    • PLL 내부 혹은 외부 회로에서 위상 차이가 특정 임계값 이하가 되면 ‘락(locked)’ 상태로 간주한다.

    • 이 시점부터 PLL 출력이 비교적 안정적인 클록을 제공하기 시작하며, 시스템은 해당 클록을 사용한다.

  4. 시스템 레디(Ready) 신호와 동기화

    • 일부 GNSS 수신기 설계에서는 PLL이 락 상태가 되었음을 알려주는 ‘LOCKED’ 신호나, 시스템 레디 신호를 제공한다.

    • 이 신호를 기반으로, 후속 블록(RF 증폭기, 디지털 처리기 등)은 본격적으로 동작을 개시한다.

글리치(glitch)와 클록 게이팅(clock gating)

GNSS 수신기처럼 저전력·고성능을 동시에 추구해야 하는 시스템에서는, 필요하지 않은 블록에 공급되는 클록을 차단함으로써 전력 소모를 줄이기도 한다. 이를 **클록 게이팅(clock gating)**이라 부른다. 그러나 클록 게이팅 과정에서 불완전한 디지털 트랜지션(transition)이 발생하면, 이를 **글리치(glitch)**라고 한다.

  • 글리치 위험성 일부 게이트나 버퍼에서 입력과 출력 신호가 교차하는 순간에 예기치 못한 펄스가 튀어나와 디지털 로직을 오동작시킬 수 있다.

  • 글리치 예방

    • 클록 게이트를 동기화된 회로나 별도 래치(latch)로 보호

    • 게이트 신호가 안정된 상태에서만 클록 선을 차단·재개

    • 지연 라인(delay line)을 이용하여 트랜지션이 겹치지 않도록 설계

GNSS 신호처리 블록에 글리치가 들어가면 위상 추적이나 코드 동기화 과정이 즉각적인 영향을 받을 수 있으므로, 저전력 설계가 필요하더라도 철저한 검증을 통해 글리치를 방지해야 한다.

오버샘플링과 내부 타이밍 보정

GNSS 신호는 보통 코드(chip) 단위로 디지털 변환되지만, 보다 정밀한 위상 측정을 위해 **오버샘플링(oversampling)**을 적용하기도 한다. 예를 들어, 코드 칩 레이트의 2배, 4배, 8배로 샘플링하여 더 풍부한 타이밍 정보를 얻는다. 이때 내부 타이밍 보정을 통해 정확한 샘플 포인트를 잡아야 한다.

  • 샘플 포인트 결정 오버샘플링 레이트가 $f_{\mathrm{over}}$일 때, 한 칩(chip) 구간을 여러 샘플로 나눌 수 있다.

    Δt=1fover\Delta t = \frac{1}{f_{\mathrm{over}}}

    수신기의 추적 루프는 위상 정보를 기반으로 어느 샘플이 최적의 디지털 복조 지점을 의미하는지 결정하고, 샘플 인덱스를 보정한다.

  • 디지털 지연 라인(digital delay line) 일부 GNSS 수신기 IC는 내부에 디지털 지연 라인을 두어, 샘플링 클록을 미세 단계로 지연할 수 있다. $t_{\mathrm{delay}} = n \times \Delta t_d$ 과 같이, 미리 정의된 최소 지연 단위 $\Delta t_d$를 여러 번 적용하여 정확한 샘플 타이밍을 설정한다.

외부 시계와의 상호 운용

GNSS 수신기는 자체적인 클록으로 동작하지만, 경우에 따라 외부 시계(예: 원자 시계, 네트워크 동기화 시계 등)와 결합하여 사용하기도 한다. 이때 내부 동기화와 외부 시계 사이에 일관된 시간 축을 형성하는 것이 목표다.

  • GNSS 1PPS → 외부 시계 보정 GNSS에서 생성된 1PPS 신호를 외부 시계 장비(예: 컴퓨터 서버, 통신 기지국 등)에 입력하여, 해당 장비의 시간 기준을 GNSS와 일치시키도록 한다.

  • 외부 주파수 입력 → GNSS 수신기 보정 더 정밀한 기준 주파수(예: 원자 시계 등)를 GNSS 수신기에 인가하면, 수신기가 이를 기준으로 내부 VCO나 DCXO를 제어함으로써 더 높은 주파수 안정도를 달성할 수 있다.

이때 상호 운용 과정에서 주파수 및 위상 오차가 발생하면, GNSS 측정 성능이나 외부 장비의 시간 축에 간섭이 생길 수 있으므로, 두 시스템 간 동작 모드를 명확히 정의하고 보호 회로를 두는 것이 일반적이다.

수신기 ASIC/SoC 설계 시 유의사항

최근에는 GNSS 수신기 기능을 단독 칩(ASIC)이나 다른 기능을 포함하는 SoC(System on Chip)로 구현하는 사례가 많다. 이때 내부 클록과 동기화 설계는 칩 전체의 성능과 신뢰성을 좌우한다.

  • 공정(Process) 변동 반도체 공정의 변동으로 인해, 실제 도선(die) 길이, 문턱 전압(threshold voltage) 등이 설계값과 달라질 수 있다. 이에 따라 클록 지연이나 PLL 특성이 변할 수 있으므로, PVT(Process-Voltage-Temperature) 코너별로 충분한 시뮬레이션이 필요하다.

  • EMI/EMC 고려 칩 내부의 고속 클록 배선은 전자파 간섭(EMI)을 일으킬 수 있으며, 외부 간섭(EMC)에 민감할 수 있다. 이러한 간섭이 GNSS RF 프론트엔드 성능을 저해하지 않도록 레이아웃 단계에서 세심한 분리(Shielding) 및 접지(Grounding) 설계가 요구된다.

  • 전력 관리 GNSS 수신기는 이동 단말, 웨어러블 기기 등 저전력 환경에서 동작해야 할 때가 많다. 필요한 시점에만 클록을 공급하고, 사용하지 않는 블록은 클록 게이팅으로 꺼두는 등 전력 효율을 극대화하는 방안을 동시에 모색해야 한다.

Last updated