오늘은 SAR ADC앞단에 존재하는 중요한 아날로그 블럭인 TAH (Track And Hold)에 대하여 설명을 하도록 하겠습니다. TAH는 SAR ADC 입력단에 존재하여 입력 아날로그 신호를 sample 하고 hold 하는 기능을 가진 녀석 입니다. SAH (Sample And Hold)라고도 하죠. 입력 아날로그 신호를 원하는 시간에 정확히 낚아채서 (sample) SAR (Successive Approximation Register)동작이 일어나는 동안 잘 붙잡고 (hold) 있어야 합니다. 만일, 그렇게 하지 못하면 그 다음 단에서 일어나는 SAR 동작이 엉망이 됩니다. 대부분의 경우 SAR ADC 의 TAH는 switch와 capacitor로 구성이 됩니다. Sample 기간동안에 switch를 on 시켜서 입력 아날로그 신호를 capacitor에 충전하고 hold 기간동안에는 switch를 off 시켜서 아날로그 신호와 capacitor를 분리시킵니다. 그리고 hold 기간동안에 capacitor에 충전된 아날로그 값을 가지고 SAR 동작을 하면서analog-to-digital conversion을 합니다. 그런데, 재미있는 것은, 많은 경우, 입력 아날로그 신호를 sample 하는 capacitor를 따로 만들지 않는다는 겁니다. 그 이유 는 TAH 다음 단에 존재하는 DAC의 capacitor들을 충전용 capacitor로 사용한다는 거죠. 물론, 이때, DAC는 capacitor 로 구현된 DAC 이어야 합니다. 보통 CDAC이라고 하죠 (Resistor로 구성된 DAC을 사용하면 sample 을 위한capacitor를 따로 만들어야 합니다).
자, 그렇다면TAH의 이런 기본적인 동작을 머릿속에 두고, 설계시 무슨 문제들이 생겨날 수 있을지 생각해보도록 하죠. 아래와 같이 3가지 mode로 나누어 설계 issue를 살펴보겠습니다.
- Track (혹은 sample) mode: 이때 switch는 on 이 되고 입력전압이 capacitor에 충전 됩니다.
- Track mode에서 hold mode로 전환되는 순간: 이때 switch는 on 에서 off로 전환 됩니다.
- hold mode: 이때 switch는 off되고 sample 된 전압은 capacitor에 저장되어 있게 됩니다.
Track (or Sample) Mode에서 설계 issue
먼저, track (혹은 sample) mode 입니다. 이 시간동안 switch는 on 상태가 되어 입력 아날로그 신호가 capacitor에 충전됩니다. 이 기간동안 가장 중요한 설계 고려 사항은 switch의 불완전성 입니다. 다시 말하면 이상적인 switch를 만들 수 없는 것으로 인해 생겨나는 문제 들입니다. 이상적인 switch는 on 상태에서 저항값이 ‘0’ 이어야 하고 off 상태에서 무한대가 되어야 하는데 실제 설계에서는 그렇지 못하죠. 그래서 이상적인 switch에 가깝게 만들기 위해서 여러가지 방법을 사용하는데요 (자세한 것은 switch capacitor filter의 MOS switch를 참조하세요.) 가장 일반적인 방법은 NMOS와 PMOS두개를 사용한 CMOS switch를 만드는 방법입니다. 하지만 이 방법도 완전하지 못하죠. 왜냐면 아날로그 입력 전압값이 일정하지 않고 계속 변화하기 때문이죠. 입력 신호의 전압값이 변화하면 MOS switch의 Vgs (gate-source voltage) 가 변화하기 때문에 switch의 on 저항값이 변하게 됩니다. 게다가 공정, 온도, power supply의 변화에 따라 입력 common mode 전압도 바뀝니다. 이런 것들을 함께 고려하면 전체 입력 변화가 만만치 않고 이런 상황에서 switch의 on 저항은 크게 바뀌게 됩니다. 거기에다가 switch의 on 저항과 입력 신호가 충전될 capacitor (대개의 경우 CDAC의 capacitor라고 앞에서 설명했습니다.) 가 low pass filter를 만들게 됩니다. 이렇게 low pass filter가 만들어지면 어떻게 될까요? 입력 아날로그 신호가 빠르게 변화해도 capacitor는 그것에 맞춰 빠르게 충전하지 못합니다 (높은 주파수 성분이 low pass filter에 의해 필터링 되기 때문이죠). 즉, 입력 아날로그 신호 주파수에 따라서 sample 되는 아날로그 신호값이 변하게 되는 거죠. 우리는 이것을 보통 신호가 ‘distortion’ 된다라고 표현합니다. 혹은 switch의 bandwidth가 작아진다 라고도 표현하죠.
그렇다면, 어떻게 해야 switch의 on 저항값의 변화와 switch 를 통과하는 신호의distortion을 줄일 수 있을까요 (capacitor를 바꾸지 못하는 경우를 가정)? switch의 크기를 키우거나 아니면 MOS의 |Vgs| 높여서 on 저항값을 가능한 작게 하면 됩니다. 또, threshold 전압이 낮은 MOS transistor (우리는 이런 transistor를 thin gate transistor라고 부르기도 합니다.) 를 사용하는 것도 방법중에 하나 입니다. 하지만, 이런 방법들은 다른 부작용들이 있습니다. 무슨 부작용이 있을까요?
첫번째로, switch의 크기를 키우는 경우를 보겠습니다. Switch의 크기를 키우면 on 저항값은 줄어듭니다. 하지만, parasitic capacitor가 커져서 동작 속도가 줄어듭니다. 우리는 이것을 좀 더 유식하게 ‘bandwidth가 줄었다’고 하죠. 줄어든 동작속도를 끌어 올리려면 switch를 구동하는 입력신호 (switch 제어신호, 입력 아날로그 신호) 의 구동능력 혹은bandwidth를 높여야 합니다. 결론적으로 전력소모가 커지고 칩의 크기가 커지게 됩니다. Switch이 크기를 무작정 키울 수 없는 이유죠.
두번째로, on 저항값을 줄이기 위해MOS의 Vgs를 높이는 것은 어떨까요? 하지만, 이것도 문제가 있습니다. On 저항값을 줄일려고 무턱대고 높은gate 전압을 사용하면 MOS가 깨져버립니다. 이것은 MOS switch가 가지고 있는 물리적인 한계 때문이죠. 공정마다 허용 최대 전압값이 정해져 있습니다. 공정이 낮아질 수록 그 허용 최대 전압값은 낮아집니다. 반드시 허용 최대 전압값을 확인한 후 설계를 해야 합니다.
세번째로, 낮은 threshold voltage MOS를 사용하는 것은 어떨까요? 일반적으로 위의 두 경우보다 그 나마 부작용이 덜하기는 합니다만, 효과가 크지 않고, 나중에 hold mode에서 구체적으로 설명하겠지만leakage current 라는 매우 심각한 문제가 있습니다. 낮은 threshold voltage를 사용하면 on 저항값을 작게할 수는 있지만, off 저항값이 상대적으로 작어서 off mode에서 MOS switch의 drain-source를 통하여capacitor 저장된 전하가 샙니다. 이렇게 되면 정확한 hold 모드 구현이 어렵습니다.
Track Mode 에서 Hold Mode로 전환되는 순간에 설계 issue
그 다음으로 track mode에서 hold mode로 전환되는 순간을 보겠습니다. 이 순간에 switch는 on 에서 off 됩니다. 이때, 설계 이슈는 switch charge injection에 의한 신호의 distortion 입니다. Switch charge injection은 MOS switch가 on에서 off 될 때 나타나는 현상 입니다. Switch가 on 일때 MOS channel에 형성되었던 전자 혹은 정공이 switch가 off 가 될때 switch의 입력단과 출력단으로 빠져나가는 현상 입니다. (charge injection 에 대한 자세한 것은 switch capacitor filter를 따로 공부하세요.) 이렇게 빠져 나간 전자 혹은 정공들이 입력 아날로그 신호와 섞이면서 distortion이 일어나는 거죠. 문제는 MOS switch의 크기가 커질 수록 charge injection이 커진다는 겁니다. 앞서 살펴본 것처럼, switch의 on 저항값을 줄이기 위해 switch의 크기를 크게 하면 parasitic capacitance가 커질뿐 아니라charge injection이 커지게 됩니다. Differential 구조와 dummy 구조를 사용하면 charge injection은 어느정도 해결 할 수 있습니다.
여기서 잠깐, 입력 아날로그 신호 주파수와switch크기와의 상관 관계를 살펴볼까요? 앞서, switch 크기를 키우면 on resistance 가 작아지기 때문에 (여기서 parasitic capacitance는 무시하겠습니다.) low pass filter 의 bandwidth가 높아져서 고주파수가 잘 통과 한다고 했습니다. 그러면, 저주파수에서는 어떻게 될까요? 결론부터 말하면, 저주파수에서는 switch charge injection이 on 저항값보다 더 큰 영향력을 발휘하기 때문에 switch의 크기를 키우면 charge injection에 의한 distortion이 더 크게 나타납니다. 따라서 설계시 동작 주파수 대역을 잘 고려해서 switch의 크기를 정해야 합니다. 시뮬레이션을 통해서 찾아내야 합니다.
두번째로 고려해야 할 것은 sampling noise 입니다. 이것은 switch의 thermal noise가 sampling capacitor에 저장되어 나타나는 distortion입니다. 이때 저장되는 noise는 KT/C 입니다. (KT/C noise에 대한 자세한 설명은 여기서는 생략합니다. 더 알기를 원하시면 noise에 대한 부분을 따로 공부하세요.) Differential 구조를 사용하면 전체 noise는 2KT/C 됩니다. 회로 수준에서 noise를 줄일 수 있는 방법은 식에서 보는 바와 같이 sampling capacitor를 키우는 것 밖에 없습니다. 하지만, sampling capacitor를 키우면 low pass filter의 bandwidth가 낮아져서 입력신호를 sampling 하는데 시간이 오래 걸리게 됩니다. 즉, 동작속도가 느려지겠죠.
세번째로 고려해야할 것은 sample/hold clock 의 transition timing error 입니다. 이것은 switch를 on/off 시키는 clock이 정확한 시간에 transition되지 못하는 현상입니다. 즉, clock의 transition timing이 변하는 현상을 말합니다. 그 변화가 random하게 일어나면 우리는 그것을 ‘jitter’ 라고 말하고 일정하게 일어나면 ‘skew’라고 합니다. 재미 있는 것은 입력 아날로그 신호의 주파수가 커질 수록 transition timing error에 의한 입력 아날로그 신호의 sampling error가 커지게 되는 것입니다. 이건 당연하죠. 아래 그림을 보시면 쉽게 이해가 될겁니다. 입력 아날로그 신호의 주파수가 높아지면 같은 시간에 대하여 Y축 (그림에서는 전압 입니다)에서 더 큰 변화가 일어나기 때문이죠. 따라서, 입력 아날로그 신호의 주파수가 높을 수록 clock의 jitter와 skew를 줄이도록 해야 합니다. 그렇지 않으면 정확한 신호가 capacitor에 sample 되지 못하게 되고 distortion이 일어나죠.
Hold Mode에서 설계 issue
마지막으로 hold mode에서 생각해야 할 설계 issue를 살펴보겠습니다. Hold mode에서 중요한 설계 issue는 두가지 입니다. 하나는 switch 의 drain과 source 사이의 leakage 이고, 다른 하나는 switch drain과 source 사이의 capacitive coupling 입니다. 앞서 설명했듯이, switch가 이상적이지 않기 때문에 hold mode에서 switch가 완전하게 off 되지 못해서 입력단과 출력단이 완전히 분리되지 못하고 그 단자 사이로 leakage 전류가 흐르게 됩니다. 또, drain과 source 사이의 capacitive coupling은 높은 주파수에서 low impedance 경로를 만들게 되어 두 단자 사이를 연결시키게 됩니다. Capacitive coupling은 MOS가 가지는 자체 parasitic capacitance에 의해서도 만들어 지지만 layout 시 metal 라인에 의해서도 생깁니다. Leakage issue와 capacitive coupling issue를 동시에 줄이는 효과적인 방법은 switch의 크기를 줄이는 겁니다. 그리고 높은 threshold 전압을 가지는 device를 사용해서 leakage를 줄일 수 있습니다. 하지만, 이렇게 되면 track mode에서 이야기한 문제들이 발생하게 됩니다.