ADC 18

#2 Mixfighter 구조 분석

직전에 shell과 예시 ADC 코드가 주어져 돌려보기는 했습니다.하지만 제대로 어떻게 동작하는지를 모르겠어서 메인 코드인 mixed_bridge.cpp 파일을 분석해보았습니다.그리고 그린 Flowchart입니다.설명하자면 Icaruse Verilog 파일을 shell을 통해 컴파일하면 vvp 파일이 생성됩니다.이후 같은 메모리를 사용하게 한 후 세마포어, 회로 정보 등을 저장합니다.이제 시뮬레이션을 시작하는데아무래도 IVerilog의 시뮬레이션 속도가 아날로그보다 빠릅니다.그래서 매 Latch마다 Spice_sync()라는 함수를 호출해서그 때마다 NGSpice와 IVerilog를 동기화합니다.위 그림은 FSM 그려본건데 처음에는 Bootstrap으로 한번 $spice_sync()를 실행해줍니다.$Sp..

#4 ADC Dynamic 특성 측정 (Pmod AD1 / AD7476 측정)

ADC의 Dynamic 특성을 측정하기 위해서 먼저 Input Frequency를 정해야 합니다.그 신호를 ADC로 Sampling 하려면 Sample 개수, 신호의 주기 수(Cycle), Sampling Frequency도 요구됩니다.주의해야 할 점은 Sampling Frequency의 정수 배에 해당하는 입력 주파수가 들어가면 안됩니다.이 경우 특정 페이즈만 반복해서 계속 Sampling 하게 됩니다. 그러면 측정에 필요한 최적의 입력 주파수를 찾는 과정을 알아봅시다.여기서 최적의 입력 주파수란 샘플링된 사인파가 가능한 많은 서로 다른 위상값을 갖는 주파수입니다.먼저 측정하고 싶은 주파수를 정합니다.이제 Sampling 주파수를 입력 주파수로 나누었을 때 자신을 넘지 않는 최대의 정수 r을 구합니다...

#3 ADC Dynamic 특성

INL과 DNL은 ADC의 Speed와는 상관없는 Static 특성입니다.반면 Dynamic 특성은 입력 신호 주파수에 따라서 달라질 수 있기에 Spectrum이 필요합니다. SNR과 SNDR, ENOB에 대한 이야기는 Data Converter SNR Part에서 이야기를 했습니다.그렇기에 여기서는 그 기저인 DFT부터 이야기를 시작해볼까 합니다. ADC의 출력은 Digital Bit입니다.그리고 DFT는 이러한 이산적인 값에 대해서 푸리에 변환을 해줍니다.하지만 DFT는 두가지 문제점을 갖고 있습니다.첫번째는 Aliasing에 약하다는 것입니다.Aliasing 같은 경우에는 Anti-Aliasing Filter를 통해 Nyquist rate에 맞는 신호를 변환하게 될 경우 방지할 수 있습니다.두번째는..

#2 ADC Static 특성 측정 (Pmod AD1 / AD7476 측정)

1장을 통해 ADC Static 특성에 DNL과 INL이 있었으며실제 Chip에서 이러한 Static 특성들을 얻어내는 방법에는 여러가지가 있습니다.그 중 가장 간단한 방법은 On Ramp 신호를 인가하는 것입니다.실제 상용화된 칩을 갖고 측정하기 이전에 IEEE Standard에서 알려주는 측정법을 봐봅시다.이 경우는 Ramp 신호, chirp 신호와 같은 임의 신호가 나오는 경우의 테스트 방법입니다. 이제 한번 테스트 환경을 구축해 봅시다.아날로그 디스커버리 스튜디오 보드를 사용하고,Digilent사에서 제공하는 Waveform을 이용하여 신호를 생성하고 측정해보도록 하겠습니다.측정할 Chip은 12Bit SAR ADC인 AD7476을 이용해보겠습니다.가장 먼저 해야할 일은 측정할 칩의 Data Sh..

#1 ADC Static 특성

다음 그림은 아날로그 입력 1V를 2Bit로 구분하는 ADC 출력입니다.$ V_{\mathrm{LSB}} = \frac{V_{\mathrm{REF}}}{2^{N}} $ 이므로 $ V_{\mathrm{LSB}} $는 0.25Bit임을 알 수 있습니다.단위는 $ \frac{V}{Bit} $가 됩니다.이상적인 경우 위 그림처럼 Bit 당 가로 영역은 $ V_{\mathrm{LSB}} = 0.25V $로 모두 일정해야 합니다.하지만 ADC를 설계하다보니 어떤 Bit에서는 $ V_{\mathrm{LSB}} $가 약간 길고 어떤 Bit에서는 $ V_{\mathrm{LSB}} $ 가 작을 수 있습니다.예를 들어 $ D_{\mathrm{out}} = 2 $로 나오는 영역이 $0.3V$나 된다고 해봅시다.이를 $ V_..

#5 Noise shaping SAR ADC

Noise shaping(NS) SAR ADC는 SAR와 DSM의 Hybrid 형태로 고안되었습니다.Power, Area, SNDR 등 다양한 지표에서 유리하여 핫한 ADC 구조입니다.그러면 SAR ADC와 어떠한 점이 다른지부터 회로도를 통해 확인해보도록 하겠습니다.위 그림은 매우 간단하고 기본적인 10Bit SAR ADC입니다.구조를 보면 Switch(Sample & Hold), DAC, Comparator, SAR Logic으로 구성되어 있으며,입력 신호를 샘플링한 뒤 축차적으로 한 비트씩 비교하고 결정해가며 디지털 값을 생성하는 구조입니다.반면, NS-SAR ADC에서는 기존 SAR 구조에 EF(Error Feedback) Filter와 CIFF(Cascaded-IntegratorFeed-Forw..

#3 Delta Sigma Modulator

Modulator의 출력과 입력, ADC의 양자화 잡음은 다음 수식과 같은 관계를 가집니다.$$Y(z)= \underbrace{\frac{A(z)}{1 + A(z)}}_{\mathrm{STF}(z)} \cdot X(z)+ \underbrace{\frac{1}{1 + A(z)}}_{\mathrm{NTF}(z)} \cdot E(z)$$여기서 STF는 Signal Transfer Function, NTF는 Noise Transfer Function을 의미합니다.식에서 A(z)를 적분기라고 가정해봅시다. 그 경우 위 식은 다음과 같이 변형됩니다.$$Y(z) = z^{-1} X(z) + \bigl(1 - z^{-1}\bigr) E(z)$$이는 두가지 의미를 내포하고 있습니다.1. 입력 신호는 단순히 지연된 형태로..

#2 Multi Slope ADC

전 장에서 Single Slope ADC의 큰 문제로 정확도가 적분기의 R, C 값에 비례하기에, 공정 오차에 크게 의존한다는 점을 언급했습니다. 이러한 Sensitivity를 줄이는 방법으로 Dual Slope ADC가 등장했습니다.다음 그림은 Dual Slope ADC의 구조 그림입니다.Single Slope ADC일때는 Ramp 신호가 간단히 직선으로 증가하는 것을 알 수 있었습니다.하지만 Dual Slope ADC는 입력 신호를 넘어가는 순간부터 적분기의 Capacitor에 충전된 전하를 방전시킵니다.덕분에 Ramp 신호를 만들면서 발생한 R, C 오차가 방전 과정에서 상쇄됩니다.이를 토대로 $ T_{\text{rise}} \cdot V_{\text{in}} = T_{\text{fall}} \cd..

#1 Single Slope ADC

가장 잘 알려진 SAR ADC, Delta Sigma ADC 외에도 적분형 ADC 구조로 시작해보도록 하겠습니다.먼저 간단하고 널리 알려진 Single Slope ADC를 설명해보겠습니다.위 구조를 보면 손쉽게 이해가 될 수 있습니다.먼저 입력을 Sampling 및 Holding하고, 이를 Reference 쪽에서 들어오는 Ramp 신호와 비교합니다.Ramp 신호가 들어옴과 동시에 Counter가 작동하며 입력 신호와 Ramp 신호가 같아지는 순간 Counter가 멈춥니다.정지한 Counter 수를 비교하여 Bit로 변환합니다.보다 싶이 간단한 구조로 High resolution을 달성할 수 있습니다.하지만 생각해보면, Ramp가 전압에 도달할 때까지 Counter가 작동한다는 것은 ADC가 느리다는 것..