스위치드 커패시터와 샘플링
ADC는 계속 변하는 전압을 한 순간에 멈춰 세워야 비교하고 셀 수 있다. 그 일을 하는 것이 스위치 하나와 커패시터 하나다. 스위치를 닫으면 커패시터가 입력을 따라가고, 여는 순간 그 값이 커패시터에 얼어붙는다. 단순해 보이지만 스위치의 저항, 열잡음, 채널 전하, 클록의 결합이 모두 12비트(293 µV)를 위협한다. 같은 스위치와 커패시터를 박자에 맞춰 여닫으면 저항과 적분기, 필터까지 만들 수 있다. 이것이 스위치드 커패시터(Switched capacitor, SC) 회로다.
- 샘플-앤-홀드의 추적·유지 동작을 엔진 과도 해석으로 보고, \(R_{on}C_s\)로 정해지는 추적 대역과 12비트 정착 시간 \(\approx 8.3\tau\)를 계산한다.
- 표본화 정리와 에일리어싱을 시간 파형과 스펙트럼의 접힘으로 이해하고, 안티에일리어싱 필터의 역할을 안다.
- 표본화된 kT/C 잡음(1 pF에서 64 µV rms)을 12비트 LSB와 비교해 샘플링 커패시터 크기를 정한다.
- NMOS·PMOS·전송 게이트·부트스트랩 스위치의 온 저항을 입력 전압에 따라 비교하고, 온 저항 변동이 만드는 왜곡을 FFT로 잰다.
- 전하 주입과 클록 피드스루의 크기를 손으로 구하고, 더미 스위치와 하단판 샘플링이 이를 어떻게 줄이는지 안다.
- SC 저항 \(R_{eq} = 1/(f_s C)\), SC 적분기와 저역 필터의 이산 시간 응답, OTA의 정착 요구(GBW·슬루율)를 AB-1 샘플러에 적용한다.
샘플-앤-홀드: 시간을 멈추는 회로
AB-1의 SAR ADC(16장)는 한 번 변환에 클록 십여 사이클이 걸린다. 그동안 입력이 움직이면 비트마다 다른 전압을 비교하게 되어 결과가 엉망이 된다. 그래서 변환 앞에 샘플-앤-홀드(Sample-and-hold, S/H)를 둔다. 스위치가 닫힌 추적(Track) 구간에는 커패시터 전압이 입력을 따라가고, 스위치가 열린 유지(Hold) 구간에는 마지막 값을 그대로 붙잡는다.
아래 오실로스코프는 엔진(AN.circuit)이 스위치·커패시터 회로를 과도 해석으로 푼 결과다. 커서가 시간축을 따라 움직이면 왼쪽 회로도의 스위치가 그 순간 상태로 여닫히고, 마디 전압 상자가 바뀐다. 클록 주파수와 입력 주파수를 바꾸고, 이상 스위치를 실제 NMOS로 바꿔 본다.
추적하고, 붙잡는다
이상 스위치일 때 Vout은 추적 구간에서 입력에 거의 붙어 있고, 유지 구간에서는 수평선이다. NMOS 스위치는 입력이 높아지면 꺼져 버린다. 게이트를 1.8 V로 올려도 소스(입력) 전압이 높으면 \(V_{GS} = 1.8 - V_{in}\)이 문턱 전압(바디 효과로 0.45 V보다 크다)에 못 미친다. 이 문제는 5절에서 다룬다.
추적 대역과 12비트 정착
추적이 시작되는 순간 Cs에는 지난 표본이 남아 있다. 새 입력이 멀리 떨어져 있으면 Cs는 \(R_{on}\)을 통해 지수적으로 다가간다. 추적 구간이 끝나기 전에 오차가 1 LSB 아래로 들어와야 한다. 최악은 입력이 풀스케일(1.2 V)만큼 뛰는 경우다.
아래에서 0.3 V에 있던 Cs가 1.5 V로 뛴 입력을 쫓아간다. 위 그래프는 전압, 아래 그래프는 오차를 LSB 단위의 로그 눈금으로 그린다. 지수 감쇠는 로그 눈금에서 직선이 되므로, 직선의 기울기가 τ를, 1 LSB 선과 만나는 점이 정착 시간을 알려 준다.
추적 구간 안에 1 LSB까지 갈 수 있는가
손 계산과 엔진이 잘 맞는다. 단순한 RC라서다. 실제 스위치의 \(R_{on}\)은 입력 전압에 따라 바뀌므로(5절) 가장 나쁜 입력의 \(R_{on}\)으로 계산해야 한다. 추적 대역 \(1/(2\pi R_{on}C_s)\)는 입력 신호 주파수보다 훨씬 높아야 한다. 대역이 높아도 정착이 모자라면 표본이 지난 값에 끌려가는 기억 효과(Memory effect)가 생긴다.
에일리어싱: 표본은 주파수를 모른다
표본화는 연속 신호를 \(f_s\) 간격의 점으로 바꾼다. 점만 남으면 \(f_{in}\)과 \(f_{in} \pm k f_s\)인 사인은 구별되지 않는다. 같은 점들을 지나는 사인이 무한히 많기 때문이다. 그래서 \(f_s/2\)(나이퀴스트 주파수(Nyquist frequency))를 넘는 입력은 0 ~ \(f_s/2\) 안의 낮은 주파수로 접혀 보인다. 이것이 에일리어싱(Aliasing)이다.
아래에서 입력 주파수를 끌어 \(f_s/2\)를 넘겨 본다. 위 그림은 입력(가는 선)과 표본(점), 그리고 표본만 보고 복원한 사인(점선)이다. 아래 왼쪽 스펙트럼에서 입력 화살표를 직접 끌 수 있고, 오른쪽 지그재그는 입력 주파수가 오를 때 보이는 주파수가 오르내리는 접힘 규칙이다.
fs/2를 넘으면 접힌다
에일리어싱은 표본화 뒤에는 되돌릴 수 없다. 접힌 성분은 대역 안 신호와 같은 주파수에 앉아 버리기 때문이다. 그래서 ADC 앞에는 \(f_s/2\) 위를 미리 깎는 안티에일리어싱 필터(Anti-aliasing filter)를 둔다. AB-1처럼 신호 대역(10 kHz)이 나이퀴스트(500 kHz)보다 훨씬 좁으면, 완만한 RC 필터 하나로도 충분하다. 넓은 대역을 오버샘플링하면 필터가 쉬워진다는 생각은 17장에서 다시 나온다.
kT/C: 표본에 얼어붙는 잡음
스위치가 닫혀 있는 동안 \(R_{on}\)의 열잡음이 Cs 전압을 흔든다. 그 rms는 \(R_{on}\)과 무관한 \(\sqrt{kT/C_s}\)다(11장). 스위치가 열리는 순간의 잡음 값이 그대로 표본에 얼어붙는다. 표본마다 다른 무작위 값이 더해지는 셈이다. 표본화된 잡음은 대역 전체가 접혀 들어오므로 0 ~ \(f_s/2\)에 고르게 퍼진 백색 잡음이 된다.
아래에서 표본을 하나씩 뽑아 쌓는다. 왼쪽은 표본마다 얼어붙은 잡음 값, 오른쪽은 그 히스토그램이다. 세로 격자가 12비트 LSB 간격이고, 옅은 띠는 같은 rms의 양자화 잡음(±½ LSB 균일 분포)이다.
표본마다 다른 잡음, LSB와 비교
kT/C는 스위치드 커패시터 회로의 바닥 잡음이다. 스위치를 좋게 만들어도 줄지 않는다. 줄이는 방법은 Cs를 키우는 것뿐이고, 큰 Cs는 추적을 느리게 하고(2절), 앞단 버퍼나 OTA가 더 큰 커패시터를 빨리 충전해야 하므로 전력을 먹는다(8절). 그래서 정밀 ADC일수록 Cs와 전력이 비트당 4배씩 커진다. 차동 샘플링은 신호가 2배, 잡음이 \(\sqrt2\)배라 같은 Cs에서 SNR이 3 dB 좋아진다.
스위치의 온 저항과 부트스트랩
MOSFET 스위치는 깊은 선형 영역(2장)에서 동작한다. \(V_{DS}\)가 거의 0이므로 채널은 저항 하나로 보이고, 그 값은 게이트 과구동 전압에 반비례한다.
NMOS는 낮은 입력에, PMOS는 높은 입력에 강하다. 둘을 나란히 붙인 전송 게이트(Transmission gate, CMOS switch)는 전 범위에서 켜지지만 가운데 근처에서 \(R_{on}\)이 봉우리를 만든다. 부트스트랩 스위치(Bootstrapped switch)는 미리 \(V_{DD}\)로 충전한 커패시터를 게이트와 입력 사이에 걸어 \(V_{GS}\)를 입력과 무관하게 \(V_{DD}\)로 유지한다. 게이트가 \(V_{in} + V_{DD}\)까지 올라가므로 소자 신뢰성을 지키는 회로가 함께 필요하다.
\(R_{on}\)이 입력에 따라 변하면 추적 지연 \(\tau(V_{in})\)도 변한다. 사인파를 따라갈 때 지연이 전압마다 다르면 파형이 일그러지고 고조파가 생긴다. 아래에서 네 가지 스위치의 \(R_{on}\) 곡선과, 그 스위치로 1 MS/s 표본화한 128개 표본의 FFT를 함께 본다.
Ron 곡선과 그것이 만드는 고조파
부트스트랩 스위치에서도 \(R_{on}\)이 조금 변하는 것은 바디 효과 때문이다. 소스(입력)가 오르면 \(V_{SB}\)가 커져 \(V_{th}\)가 오른다. 고속·고해상도 ADC는 바디도 소스에 붙여 이마저 없애기도 한다. 왜곡은 \(\omega\,\Delta\tau\)에 비례하므로 입력 주파수가 낮으면 웬만한 스위치도 괜찮지만, 나이퀴스트 근처 입력에서는 부트스트랩의 차이가 결정적이다.
전하 주입과 클록 피드스루
켜진 NMOS 채널에는 반전층 전하 \(Q_{ch}\)가 들어 있다. 스위치가 꺼지는 순간 이 전하는 어딘가로 가야 하고, 대략 절반씩 소스와 드레인으로 빠져나간다. 입력 쪽으로 간 절반은 입력원이 흡수하지만, Cs 쪽으로 간 절반은 표본 전압을 끌어내린다. 이것이 전하 주입(Charge injection)이다. 또 게이트–드레인 겹침 커패시턴스 \(C_{ov}\)는 클록의 \(V_{DD}\) 낙차를 Cs와 나눠 갖는다. 이것이 클록 피드스루(Clock feedthrough)다.
W를 키우면 \(R_{on}\)은 \(1/W\)로 줄지만 \(Q_{ch}\)는 \(W\)로 는다. Cs를 키우면 오차는 줄지만 τ가 는다. 결국 \(\tau\cdot\Delta V_{inj} \propto L^2/\mu\)로, 속도와 정확도의 곱은 W나 Cs로는 바꿀 수 없고 공정(짧은 L, 높은 이동도)만이 바꾼다. 아래에서 이 맞바꿈과 두 가지 대책을 본다.
오차 mV와 속도 ns의 맞바꿈
아래 그래프의 곡선들이 서로 겹쳐 하나의 띠를 이루는 것이 핵심이다. W와 Cs는 속도와 오차 사이에서 자리만 옮길 뿐, 둘의 곱을 바꾸지 못한다. 그래서 구조로 해결한다. 더미 스위치는 전하가 반반 나뉜다는 가정에 기대므로 클록 경사와 임피던스에 따라 효과가 들쭉날쭉하다. 하단판 샘플링(Bottom-plate sampling)은 전하가 갈 곳 자체를 없애므로 훨씬 확실하다. 실제 SC 회로는 하단판 샘플링과 완전 차동 구조를 함께 써서 남은 상수 오프셋까지 공통 모드로 돌려 버린다.
스위치드 커패시터는 저항이다
커패시터 하나와 스위치 둘을 두 전압 \(V_1\), \(V_2\) 사이에 놓자. φ1에 커패시터를 \(V_1\)에 붙여 충전하고, φ2에 \(V_2\)에 붙여 방전한다. 한 주기마다 \(C(V_1 - V_2)\)만큼의 전하 묶음이 \(V_1\)에서 \(V_2\)로 옮겨진다. 이것이 1초에 \(f_s\)번 일어나므로 평균 전류는 \(f_s C (V_1 - V_2)\)이고, 이는 저항의 옴의 법칙과 같은 꼴이다.
두 스위치가 동시에 켜지면 \(V_1\)과 \(V_2\)가 스위치 두 개로 직접 이어져 전하가 새어 나간다. 그래서 φ1과 φ2 사이에는 둘 다 꺼진 짧은 틈을 둔다. 이것이 비중첩 클록(Non-overlapping clock)이다. 아래 애니메이션은 실제보다 수백만 배 느리게 돌린다.
전하 묶음이 저항을 만든다
이 등가가 성립하려면 신호가 클록보다 훨씬 느려야 한다(\(f \ll f_s\)). 그렇지 않으면 표본화 효과가 드러나 이산 시간 회로로 다뤄야 한다. 그래도 이 관점 하나로 연속 시간 RC 회로를 SC 회로로 거의 그대로 옮길 수 있다. 저항 자리에 스위치드 커패시터를 넣으면 시정수 \(R C_2 = C_2/(f_s C_1)\)이 커패시터 비와 클록만으로 정해진다.
SC 적분기와 필터
연산 증폭기 적분기의 입력 저항을 스위치드 커패시터로 바꾸면 SC 적분기(Switched-capacitor integrator)가 된다. 아래 회로는 스위치 넷을 써서 커패시터 양쪽 판의 기생 커패시턴스가 결과에 끼어들지 못하게 한 기생 둔감 적분기(Parasitic-insensitive integrator)다. φ1에 C1이 입력으로 충전되고, φ2에 그 전하가 통째로 C2로 넘어간다. 한 주기마다 출력이 \((C_1/C_2)V_{in}\)씩 계단을 오른다.
아래에서 엔진이 OTA(포화하는 이상 증폭기)와 스위치 여섯 개, 커패시터 셋으로 된 회로를 과도 해석으로 푼다. 왼쪽 오실로스코프는 계단 출력이고, 오른쪽은 같은 회로의 이산 시간 주파수 응답이다. 클록 주파수를 바꾸면 응답 곡선 전체가 옆으로 미끄러진다.
SC 적분기와 저역 필터: 클록이 주파수를 정한다
엔진의 계단 크기는 손 계산 \((C_1/C_2)V_{in}\)과 거의 같다. 작은 차이는 OTA 이득이 유한해서 가상 접지가 완전히 0이 아닌 탓이다. 저역 필터의 차단 주파수는 커패시터 비와 클록만으로 정해진다. 칩마다 RC 곱이 ±20~30 % 흩어지는 연속 시간 필터와 달리, 커패시터 비는 0.1 % 수준으로 맞출 수 있고 클록은 수정 발진기만큼 정확하다. SC 필터가 수십 년 동안 오디오 코덱과 센서 칩의 주력이었던 이유다. 대가는 표본화가 따라온다는 점이다. 클록 근처의 입력은 접혀 들어오므로(3절) 앞에 간단한 연속 시간 안티에일리어싱 필터가 여전히 필요하다.
OTA의 정착: 반 주기 안에 12비트
SC 회로의 OTA는 매 φ2마다 커패시터의 전하를 옮기고, 다음 클록 전에 끝내야 한다. AB-1 샘플러는 1 MS/s이므로 반 주기 500 ns 안에 출력이 최종값의 1 LSB 이내로 들어와야 한다. 정착은 두 단계로 일어난다. 큰 계단이 들어오면 OTA 입력 쌍의 꼬리 전류가 전부 한쪽으로 쏠려 출력이 일정한 기울기(슬루율(Slew rate))로 움직이고, 오차가 작아지면 선형 영역으로 돌아와 시정수 τ로 지수 정착한다.
이 장 마지막 시뮬레이터는 AB-1 OTA(9장) 자체를 엔진으로 풀어 단위 이득 버퍼로 0.6 → 1.2 V 계단을 따라가게 한다. 오차를 LSB 로그 눈금으로 그리고, 1차 모델(슬루 + 단일 극점) 손 계산을 점선으로 겹친다. Cc와 꼬리 전류, 표본화 속도를 바꿔 GBW와 위상 여유, 정착 시간과 전력이 어떻게 맞물리는지 본다.
AB-1 OTA는 반 주기 안에 12비트로 정착하는가
기본 AB-1 OTA는 1 MS/s 샘플러를 넉넉하게 구동한다. 손 계산과 엔진이 1~2할 안에서 맞고, 차이는 2단 OTA의 두 번째 극점과 슬루 동안의 비선형성에서 온다. Cc를 줄여 GBW만 쫓으면 위상 여유가 떨어져 울림이 정착을 오히려 늦춘다. 10장에서 위상 여유 60~70°를 고집한 이유가 여기서 다시 드러난다. 정착에는 GBW, 위상 여유, 슬루율이 함께 필요하고, 셋 모두 전류로 산다.
Cs 1 pF(kT/C 64 µV), 부트스트랩 스위치, 하단판 차동 샘플링, OTA는 약 57 ns에 12비트 정착
PGA 출력을 12비트 1 MS/s로 표본화하는 AB-1 샘플러를 이 장의 시뮬레이터로 정했다. 샘플링 커패시터는 1 pF로 kT/C 잡음 64 µV rms(LSB 293 µV의 0.22배, 양자화 잡음 85 µV보다 작다)다. NMOS 스위치(5/0.18 µm)는 입력 0.3~1.05 V에서 \(R_{on}\) 130 Ω~1.5 kΩ이고 1.2 V 위에서 꺼져 풀스케일 1.2 V를 다룰 수 없다. 부트스트랩 스위치는 \(R_{on}\) 약 100~120 Ω으로 평평해 τ ≈ 0.12 ns, 12비트 추적 정착 8.3τ ≈ 1 ns로 반 주기 500 ns에 비해 아주 빠르고, 나이퀴스트 근처 입력에서도 왜곡이 12비트 양자화 바닥 아래다. 기본 스위치의 전하 주입과 피드스루는 약 3.7 mV(13 LSB)라 하단판 샘플링과 완전 차동 구조로 신호 의존 성분을 없앤다. 구동 OTA는 AB-1 OTA(GBW 23.5 MHz, PM 약 68°, SR 약 18 V/µs)로, 엔진에서 0.6 V 계단을 약 57 ns 만에 1 LSB 이내로 정착해 500 ns 안에 여유가 9배쯤 된다.
핵심 정리
- 샘플-앤-홀드는 추적 구간에는 \(R_{on}C_s\) 저역 필터, 유지 구간에는 떠 있는 커패시터다. 추적은 속도가, 유지는 깨끗함(전하 주입, 잡음)이 문제다.
- 풀스케일 계단을 N비트로 정착하려면 \(N\ln2\cdot\tau\), 12비트에서 약 \(8.3\,R_{on}C_s\)가 필요하다. 가장 나쁜 입력 전압의 \(R_{on}\)으로 계산한다.
- \(f_s/2\)를 넘는 입력과 잡음은 \(|f_{in} - kf_s|\)로 접힌다. 표본화 뒤에는 되돌릴 수 없으므로 앞에서 안티에일리어싱 필터로 거른다.
- 표본에 얼어붙는 잡음은 \(\sqrt{kT/C_s}\)로 \(R_{on}\)과 무관하다. 1 pF → 64 µV rms. 양자화 잡음과 같아지는 12비트 \(C_s\)는 약 0.58 pF이고 비트마다 4배가 된다.
- NMOS 스위치는 높은 입력에서, PMOS는 낮은 입력에서 꺼진다. 전송 게이트는 전 범위에서 켜지고, 부트스트랩은 \(V_{GS} = V_{DD}\)를 유지해 \(R_{on}\)을 평평하게 만들어 왜곡을 없앤다.
- 전하 주입 \(\approx WLC_{ox}V_{ov}/(2C_s)\)와 클록 피드스루 \(V_{DD}WC_{ov}/C_s\)는 속도와 맞바뀐다(\(\tau\Delta V \propto L^2/\mu\)). 더미 스위치와 하단판 샘플링, 완전 차동 구조가 대책이다.
- 스위치드 커패시터는 저항 \(R_{eq} = 1/(f_sC)\)이다. 비중첩 클록이 필요하고, SC 적분기·필터의 시정수와 차단 주파수는 커패시터 비와 \(f_s\)로만 정해진다.
- SC 회로의 OTA는 반 주기 안에 슬루 + 선형 정착을 끝내야 한다. GBW, 위상 여유, 슬루율이 함께 필요하다. AB-1 OTA는 1 MS/s 샘플러를 약 57 ns에 12비트 정착시킨다.
확인 퀴즈
1. 온 저항 2 kΩ인 스위치로 2 pF 커패시터를 추적한다. 풀스케일 계단을 12비트(1 LSB)로 정착하는 데 필요한 최소 추적 시간은 대략?
2. fs = 1 MS/s로 표본화하는데 입력에 1.03 MHz 간섭이 섞여 있다. 디지털 출력에서 이 간섭은 어느 주파수에 보이는가?
3. 12비트 ADC를 14비트로 올리면서 kT/C 잡음과 양자화 잡음의 비율을 그대로 유지하려 한다. 샘플링 커패시터는 몇 배가 되어야 하는가?
4. 샘플링 스위치의 전하 주입을 줄이려고 스위치 폭 W를 절반으로 줄였다. 무엇이 함께 일어나는가?
5. 클록 200 kHz로 스위칭하는 0.5 pF 커패시터가 연속 시간 회로의 저항을 대신한다. 등가 저항과, 같은 회로에서 클록만 2배로 올렸을 때 SC 저역 필터의 차단 주파수 변화는?