This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
hw:lab:e2_adc_pipeline:start [2011/03/01 09:22] szymon.kulis |
hw:lab:e2_adc_pipeline:start [2019/03/08 14:08] (current) |
||
---|---|---|---|
Line 25: | Line 25: | ||
- do wartości analogowej dodawane jest (Vrefp - Vrefm)/2, wynik jest mnożony przez dwa i przekazywany do następnego stopnia | - do wartości analogowej dodawane jest (Vrefp - Vrefm)/2, wynik jest mnożony przez dwa i przekazywany do następnego stopnia | ||
- | ==== Zadanie ==== | + | ==== 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ść | Zaimplementować procedurę(klasę) realizującą funkcje przetwarzania sygnału w taki sposób jak to robi przetwornik potokowy. Zaimplementowany model powinien mieć możliwość | ||
Line 31: | Line 31: | ||
* zmiany wzmocnienia we wzmacniaczu MDAC (domyślnie 2) | * zmiany wzmocnienia we wzmacniaczu MDAC (domyślnie 2) | ||
* zmiany offsetu komparatora (domyślnie 0) | * 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. | 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. | ||
Line 40: | Line 42: | ||
tial Non-Linearity - DNL) i obliczamy ją dla każdego z N schodków przy pomocy | tial Non-Linearity - DNL) i obliczamy ją dla każdego z N schodków przy pomocy | ||
następującego równania: | następującego równania: | ||
+ | |||
<latex> | <latex> | ||
- | DNL_N = \frac{V (N + 1) − V (N ) − VLSB }{ VLSB} | + | DNL(N) = \frac{V (N + 1) − V (N) − V_{LSB} }{ V_{LSB}} |
</latex> | </latex> | ||
+ | |||
gdzie V (N + 1) i V (N ) są progami przełączania kolejnych schodków, natomiast VLSB | 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 | + | oblicza się z : |
- | 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- | + | <latex> |
- | ków od prostej łączącej początek pierwszego i ostatniego schodka idealnej funkcji | + | V_{LSB} = \frac{V_{REF}}{2^N} |
- | przenoszenia (rys. 1.5(b)). Istnieje zależność pomiędzy nieliniowością różniczkową | + | </latex> |
+ | |||
+ | 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: | ||
+ | |||
+ | <latex> | ||
+ | INL(N) = \sum{DNL(N)} | ||
+ | </latex> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | {{ :hw:lab:e2_adc_pipeline:hist.png?650 |}} | ||
+ | |||
+ | 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: | ||
+ | |||
+ | <latex> | ||
+ | DNL(N) = \frac{Ni}{N_{avr}} | ||
+ | </latex> | ||
+ | |||
+ | gdzie <latex> N_{avr}</latex> 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 ==== | ||
+ | |||
+ | {{ :hw:lab:e2_adc_pipeline:transfer.png?300 |}} | ||
+ | |||
+ | ==== zadanie 3/4 ==== | ||
+ | {{ :hw:lab:e2_adc_pipeline:inldnl.png?300 |}} | ||
+ | |||
+ | ===== Do przemyslenia ===== | ||
+ | * wprowadzac brakujace kody ? | ||
+ | * mowic cos o bledzie wzmocnienia i offsetu ? | ||
+ | * robic cwiczenia z niesymetrycznymi referencjami ? | ||
- | ===== Plan ćwiczenia ===== | + | ===== Dla ambitnych ===== |
+ | * ENOB w funkcji gain | ||
+ | * ENOB w funkcji offsett | ||
+ | * implementacja 2bit/stage | ||
- | - implementacja parametryzowalnego modelu przetwornika potokowego (wzmocnienie, napięcie komparatorów) | ||
- | - badanie funkcji przejścia przetwornika | ||
- | - badanie parametrów statycznych przetwornika metodą histogramową | ||
- | - badanie wpływu parametrów modelu (np. wzmocnienie) na parametry statyczne |