본문 바로가기
Studies/Circuit Design

Conventional SAR ADC Design (Top-Plate Sampling)

by veritedemoi 2022. 2. 22.

연속적인 analog signal을 binary (digital) 형태로 quantize 하기 위해서 회로에서는 ADC가 많이 쓰인다. 그리고 ADC의 종류는 다양하고, 그 종류들은 각자 사용되는 목적 혹은 상황이 상이하다.

(e.g., Flash ADC의 경우 속도가 굉장히 빠르지만, energy 및 area overhead 문제가 있고, SAR ADC의 경우 energy 및 area 측면에서 효율적이지만 속도 면에서 느리다)

 

이번 포스팅에서는 최근 가장 많이 쓰이는 ADC인 SAR ADC (4-bit)의 기초적인 내용을 다뤄보고자 한다.

 

 

 

SAR ADC vs. Binary Search Algorithm


SAR ADC의 quantization 원리는 binary search algorithm과 굉장히 흡사하다. 특히, uniform binary search algorithm과 그 동작 양상이 비슷한데, 간단한 시각화를 통해 확인해보자.

 

Binary Search Tree (1) (Ref: https://blog.penjee.com/5-gifs-to-understand-binary-search-tree/)

 

Binary Search Tree (2) (Ref: https://blog.penjee.com/5-gifs-to-understand-binary-search-tree/)

 

Uniform Binary Search (Ref: Wikipedia)

 

위의 이미지들을 보면, 어떤 middle element에서 지속적인 대소 비교를 통해 다시 검색할 side를 정하는 프로세스를 반복하는 게 (uniform) binary search 알고리즘이다. 앞서 말한 동작의 요소들 (middle element/지속적인 대소 비교/다시 검색할 side 설정) 이 SAR ADC의 동작이 원리와 매우 흡사하다.

 

어떤 SAR ADC의 top plate 노드(아래에 추후 설명)의 전압 waveform을 간략하게 나타내 본 plot이다.

 

Brief waveform of SAR ADC's operation

 

Uniform binary search 알고리즘처럼, middle element를 잡고 지속적인 대소비교로 input voltage에 해당하는 4-bit의 digital 값을 Phase 2부터 Phase 5로 구현되는 것을 볼 수 있다. 이제 정확히 어떤 식으로 middle element를 초기에 잡고, 대소 비교에 따른 side 설정은 어떻게 하는지 SAR ADC의 각 요소를 먼저 파악한 후에 알아보도록 하자.


 

 

Basic Componenets of SAR ADC


SAR ADC의 구성 요소는 크게 3가지로 나눌 수 있다.

 

Schematic of 4-bit Top-plate Sampling SAR ADC

 

ⓐ CDAC (Charge-redistributing DAC)

ⓑ Comparator with SR Latch

ⓒ SAR Logic

 

먼저, ⓐ CDAC의 역할은 ⓒ SAR Logic으로부터 얻어지는 특정 digital signal을 이용해서 ⓑ Comparator의 IN node에 들어가는 top plate에 어떤 voltage를 샘플링하는 역할을 한다.

 

ⓑ Comparator with SR Latch는 IN node와 REF node에 들어오는 voltage의 대소 비교를 통해서 ⓒ SAR Logic을 enabling하고, 어떤 digital signal을 내보내게 할지 결정하게 한다.

 

마지막 ⓒ SAR Logic의 output을 통해서 로 향하는 digital signal을 조정하고, conversion(quantization)이 모두 끝나면 EOC라는 End-Of-Conversion signal을 출력하는 역할까지 한다.

 

이렇듯 SAR ADC의 각 요소들은 서로 어떤 feedback 안에 속해서 서로 각 step에서 지대한 영향을 미치는 동작을 한다. 다소 간략하게 설명하고, 어떤 feedback인지 자세하게는 다루지 않았는데 이제 각 component를 좀 더 면밀히 살펴보도록 하자.


ⓐ CDAC (Charge-redistributing DAC)

 

Schematic of ⓐ CDAC

 

위의 schematic을 보면 특징으로 꼽을 수 있는 게 (1) Binary-weighted Capacitor와 (2) NOR, NAND, Transmission Gate가 있다. (1)의 경우는, bit-precision을 실현하기 위한 장치라고 볼 수 있다. MSB부터 LSB까지 회로적으로 digital하게 구현하는 방법으로 자주 사용되는 방법인데, CommonNode에 가장 큰 capacitance를 가진 cap.부터 charge 혹은 discharge를 시키면서 input voltage를 대소 비교하는 것이다.

 

(2)의 경우는 D3부터 D0까지 ⓒ SAR Logic으로부터 얻은 digital signal을 통해서 charge 혹은 discharge의 동작을 위한 장치라고 볼 수 있다. charge를 하고싶을 때는 NAND를 통해 REF라는 voltage를 cap.에 넣는 것이고, discharge를 하고싶을 때는 NOR을 통해 ground로 cap. 노드에 있는 voltage를 pull-down 시키는 동작을 실행시킨다.

 

지금 다루고 있는 SAR ADC를 굳이 top-plate sampling이라고 계속 수사하는 이유는, capacitor의 top-plate에 특정 voltage를 계속 charge-/discharging을 통해 sampling을 하기 때문이다. 연결되어 있는 양단의 voltage 차이를 없애려고 하는 capacitor의 특성을 이용한다는 점을 유의하면 도움이 될 것 같다.


ⓑ Comparator with SR Latch

 

Schematic of ⓑ Comparator with SR Latch

 

위의 schematic에서 Comparator는 당연하게 IN node에 들어오는 top-plate sampled voltage와 REF node에 static하게 들어오는 $V_{cm}$을 비교하는 역할을 한다. Static하게 들어오는 $V_{cm}$과 $V_{CommonNode}$의 대소 비교 결과는 COMPB 및 COMP signal로 출력되게 되는데, 여기서 SR Latch의 역할이 굉장히 중요하다.

 

Comparator의 output이 ⓒ SAR Logic에 직접적으로 연결되게 되면 comparator의 내부 state에 영향을 미쳐서 제대로 된 동작을 하지 못하는 상황이 생길 수 있다. 그래서 어떤 state를 잠시 저장하는 storage 역할을 하는 SR Latch를 comparator의 output에 연결시켜 다음 phase 동작을 제대로 진행하게끔 output의 영향을 분리시키는 역할을 하게 한다.

 

결과적으로 comparator의 동작을 끝내면, 다음 component의 enabling을 실시한다. 


ⓒ SAR Logic

 

Schematic of ⓒ SAR Logic

 

SAR Logic에는 크게 (1) Thermometric Counter(2) Data Register가 있다. (1)은 각 step 혹은 phase에 따라서 아래의 data register의 flip-flop에 data를 입력하는 역할을 하고, (2)는 (1)로부터 받은 data를 D3부터 D0까지 순서대로 다음 동작을 위해 출력을 하는 역할을 한다.

 

지금 다루는 SAR ADC에서는 제일 기본적인 TGFF를 기반으로 하는 SAR Logic을 설명하고 있는데, 많은 논문들 및 설계 실무에서는 여기 쓰이는 flip-flop을 energy나 speed와 관련된 constraint를 만족시키기 위해 다양하게 변형하기도 한다. 

 


 

 

Overall Operation & Examples of 4-bit SAR ADC


모든 설계를 transistor level에서 세세하게 다루게 되면 포스팅이 너무 길어질 것 같아 줄글로 설명을 하는 바람에 다소 독자들에겐 이해가 어려울 것 같다. 이쯤에서 transient한 operation의 waveform 등을 예시를 들어 설명해 좀 더 시각적으로 이해가 쉽도록 풀어보도록 하자.

 

Top-plate Voltage for Each Phase

 

위의 각 phase에서의 top-plate voltage의 변화를 보면, Phase 2까지는 어떤 경우에도 일괄적으로 진행되지만 그 후의 phase에서는 comparator의 output에 따라 $1/4 V_{REF}$, $1/8 V_{REF}$, 그리고 $1/16 V_{REF}$가 charge되거나 discharge되는 것이 결정된다.

 

Overall Waveform of SAR ADC Operation

 

위는 $V_{IN}$ = 0.1V, $V_{DD}$ = 1.0V, $V_{SS}$ = GND, 그리고 $V_{REF}$ = $V_{DD}$인 경우를 상정한 SAR ADC 동작의 waveform이다. Operation의 전체적인 speed (CLK의 주기) 등은 무시하고 단순하게 동작만을 확인해보면, 앞서 다뤘던 CDAC와 SAR Logic의 유기적인 상호작용을 관찰할 수 있다.

 

일례로, $V_{IN}$이 0.1V이기 때문에 4번의 phase에서 모두 $V_{REF}$를 각 cap.에 charge 시키기 위해 refsig와 gndsig를 상보적으로 입력시키는 것을 볼 수 있다. 그래서 결과적으로 $V_{CommonNode}$는 계속 binary-weighted capacitor의 방전량에 따라서 빠지게 된다.

 

그렇다면, 실제 SPICE simulation에서는 어떤지도 확인해보자.

 

SPICE Simulation Waveform Examples

 

똑같은 $V_{REF}$ 및 $V_{DD}$의 상황에서 여러 $V_{IN}$에 따라서 어떻게 quantized output을 digital하게 확인할 수 있는지 살펴본 waveform이다. 여기서 유의할 것은 EOC signal의 존재인데, 4-bit SAR ADC이므로 4번의 phase로 digital output을 모두 만들어내자 End-Of-Conversion을 EOC signal로 알리는 것을 확인할 수 있다.


 

 

이렇게 간단하게 기본적인 SAR ADC의 설계에 대해서 그 구성 요소와 동작의 양상들을 살펴봤다. 그 매커니즘이 크게 어렵지 않고  digital output으로의 conversion도 굉장히 정확해보이지만, Comparator의 Kickback NoiseCDAC의 Capacitor Array에서 발생하는 capacitance mismatchvariation 유발 요소가 굉장히 많다. 

 

Variation 관련된 내용들은 추후에 포스팅하기로 하고, SAR ADC의 설계 내용은 여기서 마무리.

 

댓글