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 1

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)

Zadanie 2

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ę z :

Graph

Nieliniowość całkowa (ang. Integral Non-Linearity - INL) natomiast jest to odległość każdego ze schodkó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ą a całkową, a mianowicie nieliniowość całkową możemy wyznaczyć z równania:

Graph

Najpopularniejszą metodą wyznaczania obu wyżej wymienionych nieliniowości jest tak zwana metoda histogramowa. W metodzie tej na wejście badanego układu poda- wany jest sygnał narastający liniowo (rys. 4.1a), a wyniki konwersji umieszczane są w zbiorczym histogramie.

Przy zadanej częstotliwości próbkowania i zboczu sygnału narastającego na każdy poziom przetwornika przypada stała liczba próbek, a co za tym idzie ilość danych kodów wyjściowych w histogramie 4.1b. Jeśli długości po- szczególnych poziomów są różne, ma to odzwierciedlenie w histogramie wyjściowym 4.1c. Wysokości poszczególnych przedziałów Ni wykorzystywane są do wyznaczenia nieliniowości różniczkowej jako:

Graph

gdzie Graph jest średnią ze wszystkich schodków. Ze względów praktycznych schodki skrajne najczęściej są odrzucane, jako że zawierają one znacznie większą liczbę przypadków. Jest to związane z tym, iż przetwornik dla napięć z poza zakresu pełnej skaliwskazuje kody brzegowe. Mając wyznaczone nieliniowości różniczkowe, nieliniowości całkowe wyznacza się przy pomocy zależności 4.2.

Zadanie 3

Zaimplementować procedurę realizującą wyżej opisaną metodę histogramową.

Zadanie 4

Wyznaczyć zależności DNL/DNL od numeru kodu dla przetwornika 10 bitowego (model z zadania 1) w przypadku domyślnych wartości wzmocnienia oraz offsetu oraz dla wzmocnienia wynoszącego 1,9 i offsetcie 0,1.

Oczekiwane wyniki

zadanie 1/2

zadanie 3/4

Do przemyslenia

  • wprowadzac brakujace kody ?
  • mowic cos o bledzie wzmocnienia i offsetu ?
  • robic cwiczenia z niesymetrycznymi referencjami ?

Dla ambitnych

  • ENOB w funkcji gain
  • ENOB w funkcji offsett
  • implementacja 2bit/stage
/services/www/http/wiki/data/attic/hw/lab/e2_adc_pipeline/start.1298977016.txt.gz · Last modified: 2019/03/08 14:06 (external edit)