User Tools

Site Tools


hw:lab:e2_adc_pipeline:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 ​====
  
 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 ​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 
/services/www/http/wiki/data/attic/hw/lab/e2_adc_pipeline/start.1298967722.txt.gz · Last modified: 2019/03/08 14:06 (external edit)