User Tools

Site Tools


hw:lab:e2_adc_pipeline:start

This is an old revision of the document!


Implementacja i badanie potokowego przetwornika ADC

Cel ćwiczenia

Większość sygnałów w otaczającym nas świecie to sygnały analogowe (ciągłe zarówno w dziedzinie czasu jak i co do wartości). Ze względu na ograniczenia sprzętowe w systemach cyfrowych operujemy na sygnałach dyskretnych (zarówno w dziedzinie czasu jak i wartości). Aby możliwe więc było przetwarzanie cyfrowe koniecznym jest przetworzenie sygnałów analogowych na postać cyfrową zanim poddane zostaną dalszej obróbce.

Jedną z popularniejszych architektur przetworników analogowo-cyfrowych (ADC) jest architektura potokowa (pipeline ADC [ref]). Celem tego laboratorium jest:

  • Zapoznanie się z zasadą działania potokowego przetwornika analogowo-cyfrowego
  • Zapoznanie się z podstawowymi metrykami statycznymi opisującymi jakość działania przetwornika ADC. W szczególności nieliniowość różniczkowa (DNL), nieliniowość całkowa (INL) oraz efektywna liczba bitów (ENOB)
  • Zbadanie wpływu parametrów modelu przetwornika (wzmocnienie stopnia, offset komparatora) na jakość pracy przetwornika (tj. jego statyczne metryki)

Implementacja modelu analogowo-cyfrowego przetwornika potokowego

Podstawowa architektura N-bitowego potokowego przetwornika analogowo cyfrowego została zaprezentowana na rysunku \ref{}. Składa się on z N identycznych bloków MDAC pracujących synchronicznie z jednym zegarem (kwantyzacja czasu).

Wyjścia z kolejnych stopni są zarazem kolejnymi bitami słowa wyjściowego (ilość bitów wpływa na kwantyzacje wartości). Działanie jednego bloku ogranicza się do :

  1. porównanie czy wartość na jego wejściu jest większa czy mniejsza od (Vrefp - Vrefm)/2
  2. jeśli wartość jest większa to :
    1. wyjście danego stopnia zwraca 1
    2. od wartości analogowej jest odejmowane (Vrefp - Vrefm)/2, wynik jest mnożony przez dwa i przekazywany do następnego stopnia
  3. jeśli wartość jest mniejsza to :
    1. wyjście danego stopnia zwraca 0
    2. do wartości analogowej dodawane jest (Vrefp - Vrefm)/2, wynik jest mnożony przez dwa i przekazywany do następnego stopnia

Zadanie

Zaimplementować procedurę(klasę) realizującą funkcje przetwarzania sygnału w taki sposób jak to robi przetwornik potokowy. Zaimplementowany model powinien mieć możliwość

  • zmiany ilości bitów
  • zmiany wzmocnienia we wzmacniaczu MDAC (domyślnie 2)
  • zmiany offsetu komparatora (domyślnie 0)

Dla tak przygotowanego modelu proszę wyznaczyć funkcje przejścia (tzn. zależność kodu wyjściowego od wartości analogowej podawanej na wejście) dla przetwornika 4 bitowego w przypadku domyślnych wartości wzmocnienia oraz offsety oraz dla wzmocnienia wynoszącego 1,9 i offsetcie 0,1.

Badanie parametrów statycznych przetwornika metodą histogramową

W idealnym przetworniku analogowo-cyfrowym każdy ze schodków funkcji przenoszenia ma taką samą szerokość (porównaj poprzedni punktu). Różnice pomiędzy idealną szerokością schodków a ich rzeczywistą szerokością nazywamy nieliniowością różniczkową (ang. Differen- tial Non-Linearity - DNL) i obliczamy ją dla każdego z N schodków przy pomocy następującego równania: Graph gdzie V (N + 1) i V (N ) są progami przełączania kolejnych schodków, natomiast VLSB oblicza się zgodnie z 1.1. Na rysunku 1.5(a) zobrazowany został sposób wyznaczania nieliniowości różniczkowej z funkcji przenoszenia przetwornika. Nieliniowość całkowa (ang. Integral Non-Linearity – INL) natomiast jest to odległość każdego ze schod- ków od prostej łączącej początek pierwszego i ostatniego schodka idealnej funkcji przenoszenia (rys. 1.5(b)). Istnieje zależność pomiędzy nieliniowością różniczkową

Plan ćwiczenia

  1. implementacja parametryzowalnego modelu przetwornika potokowego (wzmocnienie, napięcie komparatorów)
  2. badanie funkcji przejścia przetwornika
  3. badanie parametrów statycznych przetwornika metodą histogramową
  4. badanie wpływu parametrów modelu (np. wzmocnienie) na parametry statyczne
/services/www/http/wiki/data/attic/hw/lab/e2_adc_pipeline/start.1298967722.txt.gz · Last modified: 2019/03/08 14:06 (external edit)