Chapter 18

발진기와 PLL

10장에서는 루프 이득이 −1에 닿지 않도록 온 힘을 다해 피했다. 이 장은 정반대에서 출발한다. 음의 합산 부호까지 포함한 한 바퀴 전체 전달을 일부러 정확히 +1(한 바퀴 돌면 크기 1, 위상 360°)로 만들면 입력 없이도 스스로 흔들리는 발진기가 된다. 그런데 혼자 흔들리는 발진기의 주파수는 공정·전압·온도에 따라 수십 % 흔들리고, 위상은 시간이 갈수록 제멋대로 떠내려간다. 그래서 깨끗한 수정 기준 클록에 발진기를 묶어 두는 피드백 루프, 위상 고정 루프(Phase-locked loop, PLL)가 필요하다. AB-1은 4 MHz 기준에서 SAR ADC와 디지털이 쓸 32 MHz를 만든다.

발진 조건: 바르크하우젠의 반대편

10장의 결론은 "루프 이득 \(L = A\beta\)가 −1에 닿으면 발진한다"였다. 증폭기 설계자에게 이것은 피해야 할 사고다. 발진기 설계자에게는 목표다. 입력이 없는 루프에서 어떤 주파수 \(f_0\)의 신호가 한 바퀴 돌아 같은 크기, 같은 위상으로 돌아오면 그 신호는 스스로 유지된다. 이것이 바르크하우젠 조건(Barkhausen criterion)이다.

증폭기(10장): L이 −1을 피한다 x Σ− A(s) y β |L| = 1인 fu에서 ∠L이 −180°보다 PM만큼 앞서게 발진기: L이 정확히 1∠360° A(s) 출력 β(s) 입력 없음 f0에서 |Aβ| = 1, ∠Aβ = 0°(360°) 시동에는 |Aβ| > 1, 진폭은 비선형이 제한
그림 18-1. 같은 루프, 반대 목표. 증폭기는 루프 이득이 −1을 멀리 비켜 가게 보상한다(10장). 발진기는 한 주파수에서만 루프 이득이 정확히 1∠360°가 되게 만든다. 실제로는 시동을 확실히 하려고 작은 신호에서 \(|A\beta|\)를 2~3배로 잡고, 진폭이 커지면 증폭기의 포화나 전류 제한이 이득을 1로 끌어내려 진폭이 멈춘다.
$$|A(j\omega_0)\beta(j\omega_0)| = 1,\qquad \angle A(j\omega_0)\beta(j\omega_0) = 0^\circ\ (\text{또는 }360^\circ)$$
크기 조건은 진폭을, 위상 조건은 주파수를 정한다. 반전 증폭단을 고리로 이으면 단마다 직류에서 180°가 이미 있으므로, 나머지 위상을 단의 지연(극점)이 채우는 주파수에서 발진한다.

가장 단순한 예가 링 발진기(Ring oscillator)다. 인버터 N개(N은 홀수)를 고리로 이으면 직류에서 루프는 반전(−1)이라 안정한 동작점이 없다. 어느 마디가 올라가면 한 바퀴 돌아 그 마디를 끌어내린다. 전이(에지)가 고리를 따라 계속 돌고, 한 단의 지연이 \(\tau_d\)이면 에지가 한 바퀴 도는 데 \(N\tau_d\), 위로 한 번·아래로 한 번 돌아야 한 주기이므로 주파수는 아래와 같다.

$$f_{osc} = \frac{1}{2N\tau_d},\qquad \tau_d \approx \frac{C_L V_{DD}/2}{I_{avg}}$$
\(N\): 단 수(홀수), \(\tau_d\): 한 단의 50% 지연(s). AB180 최소 인버터(NMOS 1/0.18 µm, PMOS 2.5/0.18 µm)에 단당 100 fF를 달면 \(\tau_d\) ≈ 0.1 ns 수준, 3단이면 1 GHz를 넘는다.

아래 시뮬레이터는 엔진(AN.circuit)으로 실제 CMOS 인버터 고리를 과도 해석한다. 고리 위 원 색이 각 마디 전압이고, 아래 스코프는 연속한 세 마디의 파형이다. 단 수와 부하 커패시터를 바꿔 보라.

SIMULATOR

홀수 인버터 고리에서 에지가 돈다

고리의 인버터를 누르면 그 단의 파형이 강조된다
발진 주파수 (엔진)—
한 단 지연 τd (엔진)—
1/(2Nτd)—
평균 전원 전류 / C·VDD·f·N—
해볼 것: ① 3단 → 5단 → 7단으로 늘리면 주파수가 단 수에 거의 반비례해 준다. 측정한 τd로 계산한 1/(2Nτd)가 엔진 값과 몇 % 안에서 맞는다. ② 부하 CL을 10배 키우면 주파수가 거의 10배 준다(τd ∝ CL). ③ VDD를 내리면 전류가 줄어 느려진다. 이것이 다음 절 VCO의 원리다. ④ 4단(짝수)을 고르면 직류에서 루프가 비반전이라 래치처럼 한 상태에 멈춘다. 발진하지 않는다. (AB180 인버터 NMOS 1/0.18 µm, PMOS 2.5/0.18 µm, 단마다 CL을 마디-접지에 단다. 각 C에 0과 VDD를 번갈아 초기값으로 주고 동작점 없이(uic) 과도 해석으로 시동한다. 기생 C는 넣지 않았다.)

짝수 단이 발진하지 않는 것은 바르크하우젠 위상 조건이 직류 근처에서 이미 만족되지 않기 때문이다. 짝수 단 고리의 직류 루프 이득은 양수(+)이므로 양의 피드백으로 한쪽에 붙어 버린다(래치). 홀수 단은 직류에서 −1이고, 각 단의 극점이 나머지 180°를 채우는 주파수에서 발진한다. 3단이면 단마다 60°씩이다.

전력은 C·V²·f 링 발진기는 매 주기 각 마디의 \(C_L\)을 \(V_{DD}\)까지 충전했다가 버린다. 평균 전원 전류는 약 \(N C_L V_{DD} f\)이고, 시뮬레이터의 readout에서 엔진 전류와 이 식이 나란히 맞는 것을 볼 수 있다. 같은 주파수를 내면서 전력을 줄이려면 \(C_L\)과 \(V_{DD}\)를 줄여야 하고, 그러면 잡음(지터)이 나빠진다. 발진기 설계의 기본 맞바꿈이다.

LC 발진기와 음저항

인덕터 L과 커패시터 C를 나란히 이으면 에너지가 둘 사이를 오가며 \(f_0 = 1/(2\pi\sqrt{LC})\)로 흔들린다. 커패시터에 전기 에너지 \(\tfrac12 Cv^2\)가 가득하면 인덕터 전류는 0이고, 4분의 1주기 뒤에는 전부 인덕터의 자기 에너지 \(\tfrac12 Li^2\)가 된다. 실제 인덕터는 저항(금속 손실)이 있고, 이것을 탱크에 나란한 등가 저항 \(R_p = Q\omega_0 L\)로 바꿔 쓰면 매 주기 에너지의 일부가 \(R_p\)에서 열로 사라진다. 그대로 두면 진동은 감쇠한다.

손실을 보충하는 방법이 음저항(Negative resistance)이다. 두 NMOS의 게이트와 드레인을 엇갈려 묶은 교차 결합 쌍(Cross-coupled pair)은 차동으로 보면 \(-2/g_m\)의 저항처럼 동작한다. 한쪽 드레인이 올라가면 다른 쪽 트랜지스터가 더 켜져 반대쪽을 끌어내리고, 그것이 다시 처음 쪽을 밀어 올리는 양의 피드백이다. 탱크 손실(차동 \(2R_p\))보다 음저항이 세면(\(2/g_m < 2R_p\)) 진동이 자란다.

$$R_{neg} = -\frac{2}{g_m},\qquad \text{시동 조건: } g_m R_p > 1,\qquad f_0 = \frac{1}{2\pi\sqrt{LC}},\qquad V_{diff,pk} \approx \frac{4}{\pi} I_{tail} R_p$$
\(L\) = 10 nH, \(C\) = 2.5 pF(각 쪽) → \(f_0\) ≈ 1.0 GHz. \(R_p\) = 600 Ω(Q ≈ 9.5)이면 \(g_m\) > 1.67 mS가 필요하다. 진폭이 커지면 꼬리 전류 \(I_{tail}\)이 한쪽으로 통째로 쏠려(전류 제한) 기본파 전류가 \((4/\pi)I_{tail}/2\)로 묶이므로 진폭이 멈춘다.

아래 시뮬레이터는 실제 교차 결합 NMOS 쌍, 인덕터 두 개, 커패시터, 손실 저항을 엔진에 넣고 작은 불균형(20 mV)에서 과도 해석으로 시동한다. 위의 막대는 커패시터와 인덕터 에너지가 오가는 모습이다. 꼬리 전류를 내려 \(g_m\)을 \(1/R_p\) 아래로 떨어뜨려 보라.

SIMULATOR

음저항이 탱크 손실을 이기면 진동이 자란다

차동 출력 va − vb손 계산 포락선 ±(4/π)ItailRp
gm (동작점) · Rp—
음저항 −2/gm vs 2Rp—
주파수 엔진 / 1/(2π√LC)—
최종 진폭 엔진 / (4/π)ItailRp—
해볼 것: ① 기본값(Itail 0.5 mA, Rp 600 Ω)에서 gmRp ≈ 2.2. 진동이 자라 약 0.37 V에서 멈춘다. ② Itail을 0.15 mA 아래로 내리면 gmRp < 1이 되어 진동이 지수적으로 사라진다. ③ Rp를 키우면(Q↑) 같은 전류로도 시동이 쉽고 진폭이 커진다. ④ C를 바꾸면 주파수가 1/√C로 바뀐다. 이것이 버랙터로 만드는 LC VCO다. (엔진: L 10 nH × 2를 VDD에, 각 출력에 C와 Rp, NMOS 20/0.18 µm 교차 결합 쌍, 이상 꼬리 전류원. C 초기값 1.81 V/1.79 V에서 uic 과도 해석 60 ns, 20 ps 간격. 기생 C는 넣지 않았다.)

스코프에서 본 것처럼 진폭이 무한히 자라지 않는 이유는 비선형이다. 작은 신호에서는 \(g_m R_p > 1\)이라 자라고, 진폭이 커지면 쌍이 완전히 스위칭해 꼬리 전류 전부가 한쪽으로 흘러 그 이상 전류를 낼 수 없다. 평균적으로 본 실효 \(g_m\)이 \(1/R_p\)까지 줄어드는 진폭에서 멈춘다. 그래서 LC 발진기의 진폭은 \(I_{tail}R_p\)로 정해지는 전류 제한 영역(Current-limited regime)에 있고, 더 키우면 출력이 전원에 닿는 전압 제한 영역으로 넘어간다.

링과 LC, 무엇을 고르나 링 발진기는 면적이 작고 조정 범위가 넓으며(수 배), 수 MHz부터 수 GHz까지 만들 수 있다. 대신 매 주기 에너지를 다 버리므로 잡음이 크다. LC 발진기는 에너지를 탱크에 저장하고 손실분만 보충하므로 같은 전력에서 위상 잡음이 10~20 dB 좋다. 대신 인덕터가 수백 µm 크기라 면적이 크고 조정 범위가 ±10~20 %로 좁으며, 1 GHz 아래에서는 인덕터가 비현실적으로 커진다. AB-1의 32 MHz처럼 낮은 주파수에는 링 발진기가 자연스럽다.

전압 제어 발진기: 조정 곡선과 KVCO

PLL은 발진기의 주파수를 전압으로 움직일 수 있어야 한다. 이런 발진기를 전압 제어 발진기(Voltage-controlled oscillator, VCO)라 한다. 링 발진기라면 인버터의 전원(또는 전류원)을 제어 전압 \(V_c\)로 조절하면 되고, LC라면 커패시터 일부를 전압으로 값이 바뀌는 버랙터(Varactor)로 바꾸면 된다. \(V_c\) 대 주파수 곡선을 조정 곡선(Tuning curve)이라 하고, 그 기울기가 VCO 이득이다.

$$f_{VCO} \approx f_{fr} + K_{VCO}\,V_c,\qquad K_{VCO} = \frac{\partial f_{VCO}}{\partial V_c}\ \ (\text{Hz/V})$$
\(K_{VCO}\)는 PLL 루프 이득에 그대로 곱해진다. 곡선이 휘어 있으면 \(V_c\)에 따라 루프 대역과 위상 여유가 바뀐다. 또 \(V_c\)에 얹힌 잡음·리플이 \(K_{VCO}\)배로 주파수 흔들림이 되므로 \(K_{VCO}\)는 필요한 범위를 덮을 만큼만 크게 잡는다.

아래에서는 5단 링 발진기의 전원을 제어 전압으로 쓰는 가장 단순한 VCO를 엔진으로 하나씩 과도 해석해 조정 곡선을 그린다. 곡선 위를 끌면 그 점의 접선 기울기 \(K_{VCO}\)가 보인다.

SIMULATOR

VCO 조정 곡선과 KVCO

곡선 위를 끌어 동작점을 고른다
엔진 측정점·보간 곡선KVCO 접선목표 32 MHz
fVCO(Vc)—
KVCO (접선)—
32 MHz를 내는 Vc—
조정 범위 (0.7~1.8 V)—
해볼 것: ① 곡선이 직선이 아니다. Vc가 문턱 전압(약 0.5 V) 근처로 내려가면 전류가 급히 줄어 주파수가 0으로 꺾이고, 위쪽에서는 기울기가 커진다. ② 점을 끌어 KVCO가 Vc에 따라 몇 배 바뀌는지 보라. 루프 대역도 그만큼 바뀐다. ③ CL을 두 배로 하면 곡선 전체가 절반으로 눌리고 32 MHz를 내는 Vc가 위로 올라간다. 공정·온도로 곡선이 흔들려도 32 MHz가 범위 안에 있어야 한다. (엔진: AB180 최소 인버터 5단, 전원 = Vc, uic 과도 해석 600 ns 중 뒤쪽 교차점으로 주기를 잰다. 측정은 한 점씩 나눠 돌린다.)

실제 PLL용 링 VCO는 전원을 직접 움직이지 않고, \(V_c\)를 전류로 바꿔 인버터에 공급하는 전류 굶김(Current-starved) 구조나 레귤레이터를 써서 곡선을 곧게 펴고 전원 잡음을 막는다. 이 장의 PLL 시뮬레이터는 조정 곡선을 \(f = 10\ \text{MHz} + 25\ \text{MHz/V}\cdot V_c\)인 직선(0~1.8 V에서 10~55 MHz)으로 단순화한다. 32 MHz는 \(V_c\) ≈ 0.88 V, 범위의 한가운데다.

위상 잡음과 지터

이상적인 클록은 에지가 정확히 \(T\)마다 온다. 실제 발진기의 트랜지스터와 저항 잡음은 에지를 조금씩 이르게 또는 늦게 민다. 시간 영역에서 이 흔들림을 지터(Jitter), 주파수 영역에서 반송파 옆에 퍼진 잡음 스펙트럼을 위상 잡음(Phase noise)이라 한다. 같은 현상의 두 얼굴이다.

자유 발진기에서 중요한 성질은 지터가 쌓인다는 것이다. 매 주기의 오차가 독립이라도, k번째 에지의 위치는 그 앞 k주기 오차의 합이므로 기준 에지에서 멀어질수록 표준편차가 \(\sqrt{k}\)배로 자란다(랜덤 워크). 발진기는 자기 위상을 되돌릴 기준이 없기 때문이다. PLL은 이 누적을 기준 클록으로 끊어 준다. 아래에서 에지를 겹쳐 그려 보라.

SIMULATOR

에지를 겹쳐 그리면 지터가 보인다

겹쳐 그린 에지(잔상)에지 시각 히스토그램가우스 ±σ
이론 σ (k번째 에지)—
측정 σ (히스토그램)—
피크-피크—
표본 수—
해볼 것: ① "기준에 묶임"에서는 k를 바꿔도 퍼짐이 σ 그대로다. ② "자유 발진"으로 바꾸고 k를 1 → 100 → 1000으로 올리면 퍼짐이 √k배(10배, 약 32배)로 커진다. 같은 발진기라도 "얼마나 먼 에지를 보느냐"에 따라 지터가 다르다. ③ 피크-피크는 표본이 많아질수록 계속 커진다(가우스 분포의 꼬리). 그래서 랜덤 지터는 rms(σ)로 말하고, 비트 오류율 규격은 σ의 약 14배를 피크-피크로 쓴다. (32 MHz 클록, 매 주기 독립 가우스 지터. 자유 발진은 그 합(랜덤 워크), 묶임은 매 에지 독립으로 본 모형.)

주파수 영역에서는 반송파 \(f_0\)에서 \(\Delta f\)만큼 떨어진 1 Hz 대역의 잡음 전력을 반송파 전력과 비교한 \(\mathcal{L}(\Delta f)\)(dBc/Hz)로 위상 잡음을 적는다. 리슨(Leeson)의 모형에 따르면 백색 잡음이 위상을 흔드는 발진기의 위상 잡음은 \(1/\Delta f^2\)(−20 dB/dec)로 떨어진다. 위상은 주파수 잡음의 적분이라 낮은 주파수에서 커지기 때문이다. 시간 영역의 "\(\sqrt{k}\)로 쌓이는 지터"가 주파수 영역의 "\(1/\Delta f^2\)"다. 1/f 잡음이 섞이면 가까운 쪽은 \(1/\Delta f^3\)으로 더 가파르다.

$$\mathcal{L}(\Delta f) \approx \mathcal{L}(\Delta f_1)+20\log_{10}\!\frac{\Delta f_1}{\Delta f}+10\log_{10}\!\frac{1+f_{1/f^3}/\Delta f}{1+f_{1/f^3}/\Delta f_1},\qquad \sigma_\phi^2 = 2\int_{f_a}^{f_b}10^{\mathcal{L}(f)/10}\,df,\qquad \sigma_t = \frac{\sigma_\phi}{2\pi f_0}$$
\(\mathcal{L}(\Delta f)\): 단측파 위상 잡음(dBc/Hz), \(\sigma_\phi\): rms 위상 지터(rad), \(\sigma_t\): rms 시간 지터(s). 32 MHz 링 VCO의 대표값 약 −126 dBc/Hz @ 1 MHz. 자유 발진기는 \(f_a\) → 0에서 적분이 발산한다(지터가 끝없이 쌓인다).

PLL로 묶으면 출력 위상 잡음은 둘로 나뉜다. 단위 이득 교차 주파수 \(f_c\) 안쪽에서는 루프가 VCO 잡음을 눌러 기준·전하 펌프 잡음(\(N\)배로 커진 것)이 보이고, 바깥쪽에서는 루프가 따라가지 못해 VCO 잡음이 그대로 나온다. 루프 대역을 끌어 적분 지터가 최소가 되는 곳을 찾아보라.

SIMULATOR

루프 대역이 적분 지터를 정한다

그래프 위를 좌우로 끌면 루프 대역 fc가 움직인다
자유 발진 VCO기준·CP 잡음 × N²PLL 출력적분 구간 1 kHz~16 MHz
rms 위상 지터 σφ—
rms 시간 지터 σt—
σt가 최소인 fc—
fc / fref—
해볼 것: ① fc를 10 kHz로 내리면 VCO 잡음 봉우리가 그대로 남아 지터가 약 230 ps로 커진다. ② fc를 올리면 VCO 잡음이 눌리지만, 너무 올리면 기준 경로 잡음이 넓은 대역에 걸쳐 나온다. 최소점은 두 잡음 선이 만나는 근처다. ③ VCO가 나빠지면(−110 dBc/Hz) 최적 fc가 올라간다. 그러나 fc는 fref/10(400 kHz)을 넘기 어렵다(다음 절). ④ 자유 발진 지터를 켜면 같은 적분 구간에서도 수 ns가 나온다. (2형 PLL의 폐루프 H = L/(1+L), L은 영점 fc/3.73·극점 3.73 fc이며 |L(jfc)| = 1로 정규화한 PM 약 60° 모형. fc는 단위 이득 교차이며 폐루프 −3 dB 대역과는 다르다. 출력 = |H|²·대역 내 + |1−H|²·VCO. 1/f³ 모서리 200 kHz·3 kHz. 32 MHz 반송파.)

AB-1 기본값(VCO −126 dBc/Hz @ 1 MHz, 대역 내 바닥 −126 dBc/Hz, \(f_c\) ≈ 185 kHz)에서 1 kHz~16 MHz 적분 지터는 약 17 ps rms다. 최적 대역은 VCO 잡음과 대역 내 잡음이 만나는 곳 근처에 있고, 이 예에서는 수백 kHz다. 그러나 대역을 올리는 데는 상한이 있다. 루프는 기준 에지에서만 위상을 비교하는 이산 시간 시스템이기 때문이다.

위상 비교기와 전하 펌프

PLL의 첫 블록은 기준 클록 REF와 나눠진 VCO 클록 DIV의 위상을 비교한다. 가장 단순한 비교기는 XOR 게이트다. 두 클록이 50% 듀티일 때 XOR 출력의 평균은 위상차에 비례한다. 하지만 위상차가 0~180° 범위에서만 단조이고(삼각형), 주파수가 다르면 평균이 0 근처에서 맴돌아 주파수 차이를 알려 주지 못한다.

오늘날 표준은 D 플립플롭 두 개와 AND 게이트로 만든 위상 주파수 비교기(Phase-frequency detector, PFD)다. REF 에지가 먼저 오면 UP을 켜고, DIV 에지가 오면 DN을 켠다. 둘 다 켜지면 곧바로 둘 다 끈다. 그래서 UP 펄스 폭이 정확히 위상차에 비례하고, ±360° 전 범위에서 단조이며, 주파수가 다르면 한쪽 펄스만 계속 나와 주파수를 끌어 맞춘다. 전하 펌프(Charge pump, CP)는 UP 동안 \(+I_{CP}\), DN 동안 \(-I_{CP}\)를 루프 필터에 흘려 넣는다.

$$\bar I_{CP} = I_{CP}\,\frac{\Delta\phi}{2\pi},\qquad K_{PD} = \frac{I_{CP}}{2\pi}\ \ (\text{A/rad})$$
\(\Delta\phi\): REF와 DIV의 위상차(rad, −2π~2π), \(I_{CP}\): 전하 펌프 전류(AB-1 50 µA). 위상차 36°(0.1 주기)면 평균 5 µA다. 기준 주기 250 ns 중 25 ns 동안 50 µA가 흐른다.

아래 타이밍도에서 DIV 파형을 좌우로 끌어 위상차를 바꿔 보라. 맨 아래는 루프 필터 커패시터(여기서는 C1만) 전압이 기준 주기마다 계단처럼 쌓이는 모습, 오른쪽은 평균 출력 대 위상차 특성이다.

SIMULATOR

위상차가 전류 펄스 폭이 된다

DIV 파형을 좌우로 끈다
Δφ (첫 비교)—
UP / DN 펄스 폭—
평균 출력—
4주기 뒤 VC1 변화—
해볼 것: ① PFD에서 Δφ를 0 → 180° → 340°로 끌면 UP 폭과 평균 전류가 끝까지 직선으로 커진다. 음수면 DN이 나온다. ② XOR로 바꾸면 평균 출력이 180°에서 꺾이고(삼각형), 0° 근처에서 기울기 부호가 바뀐다. 0°와 360°를 구별하지 못한다. ③ DIV 주파수 오차를 ±10 %로 주면 PFD는 위상차가 매 주기 벌어지면서도 한쪽 펄스만 나와 VC1이 한 방향으로 계속 움직인다(주파수 끌어오기). XOR은 평균이 0 근처에서 오르내린다. (REF 4 MHz, ICP 50 µA, C1 400 pF. 이상적 디지털 논리, PFD 리셋 지연 0.)

위상차가 0 근처일 때 실제 PFD는 UP·DN이 동시에 아주 짧게(리셋 지연만큼) 켜지게 설계한다. 그렇지 않으면 매우 작은 위상차에서 펄스가 너무 좁아 전하 펌프가 켜지지 못하는 데드 존(Dead zone)이 생겨, 그 안에서 위상이 제멋대로 떠다닌다. 대가로 UP·DN 전류의 부정합이 매 기준 주기 작은 전하를 남겨 \(V_c\)에 기준 주파수 리플(기준 스퍼(Reference spur))을 만든다.

루프 필터와 루프 동역학

전하 펌프 전류를 커패시터 하나에 넣으면 전류가 적분되고, VCO도 주파수를 위상으로 적분하므로 개루프에 적분기가 두 개(원점 극점 둘)다. 위상이 직류에서 이미 −180°라 이대로 닫으면 위상 여유가 0, 즉 발진한다. 그래서 커패시터 \(C_1\)과 직렬로 저항 \(R\)을 넣어 영점 \(1/(2\pi RC_1)\)을 만들고, \(R\)에서 생기는 전압 계단(\(I_{CP}R\))을 누그러뜨리려 작은 \(C_2\)를 나란히 단다. 이것이 전하 펌프 PLL의 표준 2형(Type-II) 3차 루프다.

REF4 MHz PFD UP DN CP±ICP Vc R C1 C2 루프 필터 Z(s) VCO 32 MHz ÷N DIV = fVCO/N N = 8
그림 18-2. 전하 펌프 PLL. PFD가 REF와 DIV의 위상차를 UP/DN 펄스로, 전하 펌프가 그것을 ±ICP 전류 펄스로 바꾼다. 루프 필터의 \(C_1\)이 전류를 적분(첫 번째 적분기)하고 \(R\)이 영점을, \(C_2\)가 높은 주파수 극점을 만든다. VCO가 전압을 주파수로, 다시 위상으로 적분(두 번째 적분기)하고, ÷N이 그 위상을 기준 주파수로 나눠 되돌린다. 락이 되면 \(f_{VCO} = N f_{ref}\).
$$L(s) = \frac{I_{CP}}{2\pi}\cdot Z(s)\cdot\frac{2\pi K_{VCO}}{s}\cdot\frac{1}{N},\qquad Z(s) = \frac{1+sRC_1}{s(C_1+C_2)\,(1+sRC_s)},\quad C_s = \frac{C_1C_2}{C_1+C_2}$$
영점 \(f_z = 1/(2\pi RC_1)\), 극점 \(f_p = 1/(2\pi RC_s)\). 위상 여유는 \(f_c\)가 \(\sqrt{f_zf_p}\)일 때 최대이고 \(\text{PM}_{max} = \arctan\sqrt{b+1} - \arctan(1/\sqrt{b+1})\), \(b = C_1/C_2\). \(b\) ≈ 13이면 PM ≈ 60°. 교차 주파수 어림 \(f_c \approx I_{CP}K_{VCO}R/(2\pi N)\cdot C_1/(C_1+C_2)\).

AB-1 값을 넣어 보자. \(I_{CP}\) = 50 µA, \(K_{VCO}\) = 25 MHz/V, \(N\) = 8, \(R\) = 8 kΩ, \(C_1\) = 400 pF, \(C_2\) = 30 pF이면 \(f_c\) ≈ 50 µ × 25 M × 8 k/(2π × 8) × 0.93 ≈ 185 kHz, \(f_z\) ≈ 50 kHz, \(f_p\) ≈ 713 kHz다. 아래에서 루프 필터와 전류를 바꿔 개루프 보드 선도와 위상 여유를 확인하라.

SIMULATOR

2형 PLL의 개루프 보드 선도

개루프 L(f)폐루프 |H| = |L/(1+L)|fref/10 = 400 kHz
fc 어림 / 보드—
위상 여유—
fz / fp—
fc/fref · 폐루프 피킹—
해볼 것: ① AB-1에서 fc ≈ 185 kHz, PM ≈ 60°. 위상이 영점과 극점 사이에서 −180° 위로 볼록 솟은 꼭대기에 fc가 걸려 있다. ② "R = 0"을 누르면 영점이 사라져 위상이 −180°에 붙고 PM이 0으로 떨어진다. 적분기 둘짜리 루프의 본성이다. ③ ICP를 8배로 키우면 크기 곡선만 위로 올라가 fc가 꼭대기 오른쪽으로 밀려 PM이 35° 아래로 떨어지고, fc가 fref/10을 넘는다. ④ R과 ICP를 함께 키우면 fc가 커지지만, 이 연속 시간 모형은 fc가 fref에 다가갈 때의 불안정을 보여 주지 못한다. 그것은 마지막 시뮬레이터에서 본다. (선형 연속 시간 모형 L(s): AN.tf → AN.bodeData(10 Hz~100 MHz). 원점 극점 둘은 AN.pz로 쓸 수 없어 다항식으로 넣었다. AN.margins가 저주파 기울기에서 적분기 둘을 알아보고 −180°를 기준으로 PM을 잰다. KVCO 25 MHz/V, N 8.)

2형 루프의 장점은 정상 상태 위상 오차가 0이라는 것이다. \(C_1\)이 적분기라 위상차가 남아 있으면 전류가 계속 흘러 \(V_c\)를 고친다. 그래서 락이 된 뒤 REF와 DIV의 에지는 (이상적으로) 정확히 같은 시각에 온다.

왜 대역은 fref/10 아래인가 PFD는 기준 에지에서 한 번씩만 위상을 본다. 루프는 사실 \(f_{ref}\)로 표본화되는 이산 시간 시스템이고, 연속 시간 보드 선도는 \(f_c \ll f_{ref}\)일 때만 맞는다. 표본화가 만드는 지연(약 반 주기)이 \(f_c\)에서 위상을 \(180^\circ \cdot f_c/f_{ref}\)쯤 더 빼앗아, \(f_c\)가 \(f_{ref}/10\)이면 약 18°, \(f_{ref}/4\)면 45°가 사라진다(가드너(Gardner)의 안정 한계). 또 \(V_c\)에 실린 기준 주파수 리플이 \(f_c\)가 높을수록 덜 걸러져 기준 스퍼가 커진다. 그래서 흔히 \(f_c \le f_{ref}/10\), AB-1이면 400 kHz 이하로 잡는다.

주파수 합성과 클록 지터의 값

PLL은 \(f_{out} = N f_{ref}\)를 만든다. 정수 \(N\)만 쓰는 정수 N 합성기(Integer-N synthesizer)의 주파수 간격은 \(f_{ref}\)다. AB-1처럼 32 MHz 하나만 필요하면 \(N\) = 8로 충분하다. 그러나 무선 송수신기처럼 채널 간격이 200 kHz인데 출력이 2.4 GHz라면 \(f_{ref}\) = 200 kHz, \(N\) = 12,000이 되어, 대역이 \(f_{ref}/10\) = 20 kHz로 묶이고 \(N^2\)배로 커진 기준 잡음이 출력을 덮는다. 정수 N의 근본 한계다.

분수 N 합성기(Fractional-N)는 나눗수를 \(N\)과 \(N+1\) 사이에서 바꿔 가며 평균 나눗수를 \(N + \alpha\)(α는 분수)로 만든다. 그러면 \(f_{ref}\)를 크게 잡아도 간격이 얼마든지 촘촘해진다. 단순한 누산기로 나눗수를 바꾸면 위상 오차가 톱니 모양으로 쌓였다 풀려 \(\alpha f_{ref}\)의 배수에 분수 스퍼가 생긴다. 이것을 2차·3차 ΔΣ 변조기(17장)로 바꿔 주면 나눗수 선택의 양자화 오차가 높은 주파수로 밀려나고(잡음 성형), 루프 필터가 그것을 걸러 낸다. ΔΣ ADC가 1비트 양자화기로 16비트를 얻는 것과 같은 생각을 주파수에 쓴 것이다.

방식주파수 간격대역 상한대가
정수 N (AB-1)fref = 4 MHz≈ 400 kHz간격이 거칠다. 한 주파수만 쓰면 문제없다
정수 N, 촘촘한 간격fref 작게fref/10로 낮아진다N이 커져 대역 내 잡음 20 log N dB 증가, 느린 락
분수 N + 누산기fref/2k≈ fref/10분수 스퍼
분수 N + ΔΣfref/2k≈ fref/10높은 주파수의 성형된 양자화 잡음, 전하 펌프 선형성 요구

이제 클록 지터가 왜 중요한지 숫자로 보자. ADC가 입력 \(A\sin(2\pi f_{in}t)\)를 표본화하는 순간이 \(\delta t\)만큼 어긋나면 표본 값은 기울기 \(2\pi f_{in}A\cos(\cdot)\)에 \(\delta t\)를 곱한 만큼 틀린다. 오차 전력을 신호 전력과 비교하면 지터만으로 정해지는 SNR 한계가 나온다.

$$\text{SNR}_{jitter} = -20\log_{10}\!\left(2\pi f_{in}\,\sigma_t\right)\ \text{dB}$$
\(f_{in}\): 입력 주파수(Hz), \(\sigma_t\): rms 표본화 지터(s). \(f_{in}\) = 500 kHz, \(\sigma_t\) = 10 ps → 2π × 5×10⁵ × 10⁻¹¹ = 3.1×10⁻⁵ → 약 90 dB. 입력 주파수가 열 배면 20 dB 나빠진다. 신호 크기와 무관하다.

아래 계산기는 식과 함께, 실제로 지터를 준 시각에 사인파를 4096점 표본화해 FFT(AN.sinad)로 SNR을 잰다. 두 값이 맞는지, 12비트 ADC의 이상 SNR 74 dB와 어떻게 겹치는지 보라.

SIMULATOR

지터 → ADC SNR 계산기

왼쪽 그래프를 눌러 (fin, σt)를 고른다
지터 SNR 한계(식)12비트 이상 SNR 74 dBFFT 스펙트럼
식 −20log(2πfinσt)—
FFT로 잰 SNR—
ENOB (FFT)—
74 dB를 지키는 최대 σt—
해볼 것: ① 기본값(500 kHz, 10 ps)에서 지터 한계 약 90 dB. 양자화를 끄면 FFT도 약 90 dB가 나온다. 양자화를 켜면 74 dB가 지배한다. ② σt를 100 ps로 올리면 지터 한계가 70 dB로 떨어져 12비트를 깎는다(ENOB 약 11.1). ③ fin을 10 kHz(센서 대역)로 내리면 같은 100 ps에서도 한계가 104 dB로 넉넉하다. 지터는 빠른 입력에서만 문제다. ④ 1 MHz 이상은 이 ADC(1 MS/s)에서는 나이퀴스트 밖이지만 서브샘플링 수신기에서는 쓰는 영역이다. 지터 한계가 가파르게 내려간다. (4096점 일관 표본화, 표본 시각에 독립 가우스 지터, 진폭 풀스케일. SNR은 사각 창 FFT, AN.sinad. 표본화율은 1 MS/s로 고정하고, fin > 500 kHz는 서브샘플링으로 접혀 보인다.)

AB-1의 ADC는 센서 신호(10 kHz 이하)를 주로 보지만, 사양은 1 MS/s의 나이퀴스트 근처 500 kHz 입력에서도 12비트를 요구한다. 74 dB를 깎지 않으려면 지터 한계가 그보다 10 dB 이상 위, 즉 \(\sigma_t\) ≲ 20 ps면 좋다. 지터 10 ps는 약 90 dB 한계로 16 dB의 여유를 남긴다.

PLL 락 시뮬레이터

이제 모든 블록을 한 루프에 넣는다. 아래 시뮬레이터는 PFD의 에지 타이밍을 시간 단계 안에서 보간하고, 전하 펌프 전류를 R·C1·C2 필터에 적분하며, VCO 위상을 누적해 ÷N 에지를 만드는 행동 모형이다. 시작하면 VCO는 \(V_c\) = 0(10 MHz)에서 출발해 주파수를 끌어오고(주파수 획득), 위상을 맞추며 락에 들어간다. 연속 시간 보드 선도가 놓친 것, 즉 \(f_c\)가 \(f_{ref}\)에 다가갈 때의 표본화 불안정과 VCO 범위 끝에서의 포화도 여기서는 그대로 나온다.

SIMULATOR

PLL 락 시뮬레이터: 4 MHz → N × 4 MHz

fVCO (기준 주기 평균)제어 전압 Vc위상 오차 (REF−DIV)
fc / PM (연속 모형)—
목표 fout · 필요한 Vc—
락 시간 (±0.1 %)—
사이클 슬립—
Vc 리플 (마지막 2 µs)—
상태—
해볼 것: ① "AB-1 기본"(R 8 kΩ, C1 400 pF, ICP 50 µA, N 8)으로 시작하면 주파수가 10 MHz에서 32 MHz로 올라가 약 20 µs 안에 락이 되고, 오버슈트가 한두 번(PM 60°)이다. ② "느린 락"(ICP 10 µA)은 fc가 약 50 kHz로 낮아 60 µs 안에 락하지 못하고, 끌어오는 동안 REF가 DIV보다 수십 주기 앞서 나간다(사이클 슬립 약 70회, 기본값은 약 8회). ③ "공격적"(ICP 0.5 mA, R 30 kΩ)은 연속 모형 fc가 1 MHz(fref/4)에 가까워 Vc가 레일 사이를 오가며 락하지 못한다. ④ R을 3 kΩ 아래로 내리면 PM이 무너져 오래 울린다. ⑤ N을 13으로 올리면 52 MHz가 VCO 범위(55 MHz) 끝 근처라 락이 느려지고(약 30 µs), 14 이상이면 범위 밖이라 Vc가 레일에 붙는다. (행동 모형: 이상적 3상태 PFD(에지 시각을 단계 안에서 보간), 이상 전하 펌프 ±ICP, 루프 필터는 후진 오일러, VCO f = 10 MHz + 25 MHz/V · Vc(0~1.8 V에서 포화), 시간 간격 0.5 ns, 60 µs. 잡음·부정합 없음.)

시뮬레이터에서 본 세 가지가 PLL 설계의 전부라 해도 과장이 아니다. 루프 대역은 락 속도와 VCO 잡음 억제를 정하고, 위상 여유는 락 과정의 울림을 정하며, 대역의 상한은 \(f_{ref}\)가 정한다. 대역을 키우려고 \(I_{CP}\)나 \(R\)을 올리면 어느 순간 연속 시간 해석이 약속한 PM과 무관하게 루프가 무너진다.

전하 펌프 PLL의 실제 문제들 실제 전하 펌프는 UP 전류원(PMOS)과 DN 전류원(NMOS)이 정확히 같지 않고, 스위치가 켜지고 꺼질 때 전하 주입(15장)과 클록 피드스루가 생기며, \(V_c\)에 따라 전류원의 \(V_{DS}\)가 바뀌어 \(I_{CP}\)가 변한다(5장의 λ 효과). 이들은 락 상태에서 고정 위상 오차와 기준 스퍼를 만든다. 큰 \(C_1\)(수백 pF)은 칩 면적을 많이 차지하므로, 커패시터 배율기나 두 경로 루프 필터, 또는 전부 디지털로 바꾼 디지털 PLL(TDC + 디지털 루프 필터 + DCO)이 쓰인다.
TARGET AB-1타깃 파일 · 18장

4 MHz → 32 MHz 정수 N PLL: N = 8, fc ≈ 185 kHz, PM ≈ 60°, 지터 약 17 ps → 500 kHz 입력에서 SNR 한계 약 86 dB

AB-1의 SAR ADC(1 MS/s, 변환마다 16+ 클록)와 디지털은 32 MHz가 필요하고, 칩 밖 수정 발진기는 4 MHz다. 그래서 \(N\) = 8인 정수 N 전하 펌프 PLL을 쓴다. VCO는 링 발진기로, \(K_{VCO}\) ≈ 25 MHz/V, 10~55 MHz 범위의 가운데(\(V_c\) ≈ 0.88 V)에 32 MHz가 오게 잡았다. 루프 필터는 \(R\) = 8 kΩ, \(C_1\) = 400 pF, \(C_2\) = 30 pF(\(C_1/C_2\) ≈ 13), \(I_{CP}\) = 50 µA다. 개루프 보드 선도(AN.tf → AN.bodeData)에서 \(f_c\) ≈ 185 kHz ≤ \(f_{ref}/10\) = 400 kHz, PM ≈ 60°이고, 행동 모형에서 10 MHz 출발 락 시간은 약 20 µs다. VCO 위상 잡음 약 −126 dBc/Hz @ 1 MHz, 대역 내 바닥 −126 dBc/Hz를 가정하면 1 kHz~16 MHz 적분 지터는 약 17 ps rms다. 이 지터만으로 정해지는 ADC SNR 한계는 \(-20\log_{10}(2\pi \cdot 500\ \text{kHz} \cdot 17\ \text{ps})\) ≈ 86 dB로, 12비트 이상 SNR 74 dB보다 약 12 dB 위다. 지터 한계가 74 dB와 같아지는 \(\sigma_t\)는 약 63 ps인데 그때 전체 SNR이 3 dB 깎이므로, 그 3분의 1인 20 ps 이하를 목표로 둔다.

이 장에서 정한 것N = 8, ICP 50 µA, R 8 kΩ, C1 400 pF(MIM 2 fF/µm²로 약 0.2 mm²), C2 30 pF. fc ≈ 185 kHz, PM ≈ 60°, 락 약 20 µs. 목표 지터 ≤ 20 ps rms(추정 17 ps).
아직 남은 문제C1 면적이 크다. 전하 펌프 부정합이 만드는 4 MHz 기준 스퍼와, VCO 전원(LDO 출력)의 잡음이 KVCO배로 지터가 되는 경로는 아직 따지지 않았다.
다음 단계지금까지 블록마다 정한 값들을 한 칩의 신호 사슬로 조립해, 센서 입력에서 디지털 출력까지 직접 돌려 본다.

핵심 정리

  1. 발진기는 루프 이득이 한 주파수에서 정확히 1∠360°인 피드백이다(바르크하우젠). 시동에는 |Aβ| > 1, 진폭은 비선형(포화·전류 제한)이 정한다.
  2. 홀수 인버터 링은 f = 1/(2Nτd)로 발진한다. 짝수는 래치가 된다. 전력은 약 N·CL·VDD²·f.
  3. LC 발진기는 교차 결합 쌍의 음저항 −2/gm이 탱크 손실을 보충할 때(gmRp > 1) 시동하고, f0 = 1/(2π√LC), 진폭 ≈ (4/π)ItailRp. 링보다 위상 잡음이 좋고 범위가 좁다.
  4. VCO의 KVCO는 조정 곡선의 기울기이며 루프 이득에 곱해진다. 곡선이 휘면 루프 대역이 Vc에 따라 바뀐다.
  5. 자유 발진 지터는 √k로 쌓이고(위상 잡음 1/Δf²), PLL은 루프 대역 안에서 그것을 누른다. 적분 지터 σt = √(2∫10𝓛/10 df)/(2πf0)는 루프 대역에 최적점이 있다.
  6. PFD는 ±2π에서 선형이고 주파수 차도 감지한다. 전하 펌프 평균 전류 = ICP·Δφ/2π. XOR은 0~π에서만 단조다.
  7. 2형 PLL은 원점 극점 둘 때문에 영점(R·C1)이 필수다. C1/C2 ≈ 13이면 PM ≈ 60°. 표본화 때문에 fc ≤ fref/10로 둔다.
  8. 지터가 정하는 ADC SNR 한계는 −20log(2πfinσt). AB-1: 약 17 ps, 500 kHz → 약 86 dB.

확인 퀴즈

1. 한 단 지연이 0.2 ns인 인버터 5개로 링 발진기를 만들었다. 발진 주파수에 가장 가까운 것은?

f = 1/(2Nτd) = 1/(2 × 5 × 0.2 ns) = 1/(2 ns) = 500 MHz. 에지가 고리를 한 번 돌면(Nτd = 1 ns) 반 주기이고, 반대 방향 에지가 한 번 더 돌아야 한 주기다.

2. 교차 결합 LC 발진기의 탱크 등가 병렬 저항이 각 쪽 Rp = 500 Ω이다. 시동하려면 각 트랜지스터의 gm이 최소 얼마보다 커야 하나?

차동 음저항 −2/gm이 차동 탱크 손실 2Rp보다 작아야(크기로) 한다: 2/gm < 2Rp → gm > 1/Rp = 2 mS. 실제로는 공정·온도 여유를 두고 2~3배를 잡는다.

3. 2형 전하 펌프 PLL에서 루프 필터의 저항 R을 0으로 하면(C1만 남김) 어떻게 되나?

C1(전류 적분)과 VCO(주파수 → 위상 적분)가 각각 원점 극점을 하나씩 만든다. 위상은 모든 주파수에서 −180°이고, 영점 1/(2πRC1)이 있어야 교차 주파수에서 위상을 끌어올려 PM이 생긴다.

4. 12비트 ADC로 2 MHz 사인파를 표본화한다. 클록 지터가 5 ps rms일 때 지터만으로 정해지는 SNR 한계에 가장 가까운 것은?

2π × 2×10⁶ × 5×10⁻¹² = 6.3×10⁻⁵ → −20 log10(6.3×10⁻⁵) ≈ 84 dB. 12비트 이상 SNR 74 dB보다 10 dB 위라 전체 SNR을 약 0.4 dB 깎는다.

5. 기준 4 MHz인 PLL의 루프 대역을 1.5 MHz로 키우려고 ICP를 크게 올렸다. 연속 시간 보드 선도에서는 PM이 55°로 나왔다. 가장 그럴듯한 결과는?

연속 시간 모형은 fc ≪ fref일 때만 맞는다. 표본화의 반 주기 지연이 fc에서 약 180°·fc/fref ≈ 68°를 더 빼앗아 PM이 사라진다. 그래서 fc ≤ fref/10을 쓴다. 기준 스퍼도 덜 걸러진다.