TEORIA PRÓBKOWANIA Podstawy teorii pobierania próbek. Schemat blokowy typowego systemu pobierającego w czasie rzeczywistym próbki danych jest pokazany na rysunku poniżej. W rzeczywistych układach konwersji analogowo-cyfrowej, analogowy sygnał zwykle przechodzi przez pewien układ przetwarzania sygnału który realizuje takie funkcje jak wzmocnienie, tłumienie i filtrowanie. Wymagane jest stosowanie dolnoprzepustowego filtru (lub pasmowego), aby usunąd niepożądane sygnały leżące w widmie poza szerokością pasma i zapobiegające zjawisku aliasingu. Rys. Podstawowy system przetwarzania cyfrowego sygnałów analogowych
Rys. Realizacja funkcji S-H (Sample and Hold) (Próbkuj i pamiętaj PP) wymaganej podczas procesu digitalizacji sygnałów 2
Amplituda (w Voltach) Teoria próbkowania, kwantowania, przetworniki A/C i C/A PROCES KWANTYZACJI a.sygnał oryginalny analogowy Analogowe wejście Czas Cyfrowe wyjście 3
Rys. Ilustracja procesu digitalizacji sygnału analogowego. 4
PROCES PRÓBKOWANIA 5
KRYTERIUM PRÓBKOWANIA NYQUIST A Sygnały o pasmie częstotliwości muszą byd próbkowane z szybkością co najmniej lub informacje zawarte w treści sygnału zostaną utracone Aliasing występuje zawsze, gdy Rys. Aliasing w dziedzinie czasu Prawo próbkowania Shannona Kotielnikowa: Przebieg ściśle dolnopasmowy jest całkowicie określony przez próbki pobierane z częstotliwością co najmniej dwukrotnie większą od maksymalnej częstotliwości występującej w widmie próbkowanego sygnału. 6
FUNKCJE PRZETWARZANIA ADC I DAC I BŁĘDY DC Kwantyzacja, Rozdzielczość, Najmniej znaczący Bit (LSB). 7
Funkcja przetwarzania idealnego 3-Bit DAC 8
Funkcja przetwarzania idealnego 3-Bit ADC. Błąd przesunięcia (offset error) I błąd wzmocnienia (gain error) 9
Metoda pomiaru(określania) błędu nieliniowości całkowitej (integral linearity error) Funkcja przetwarzania nie-idealnego 3-Bit DAC 0
Funkcja przetwarzania nie-idealnego 3-Bit DAC
PRZETWORNIKI ADC Najczęściej spotykane rodzaje przetworników ADC. aproksymacyjne, sukcesywna aproksymacja SAR (metoda kolejnych przybliżeo), równoważenia wagowego przetworniki równoległe FLASH przetworniki szeregowo-równoległe (The Two Step Flash ADC) przetworniki potokowe (pipelined) przetworniki Sigma-Delta (Σ-Δ) przetworniki całkujące 2
Ilustracja metody kolejnych przybliżeo Przetwornik ADC działający na zasadzie sukcesywnej aproksymacji SAR 3
Typowe zależności czasowe przetwornika SAR ADC Sample X, Sample X+ moment startu konwersji A/C CONVERSION TIME czas konwersji A/C TRACK/ACQUIRE czas "obserwacji" sygnału do akwizycji (przygotowanie układów S-H) 4
Przykład 6-bitowego równoważenia wagowego 5
Dwu-stanowa potokowa architektura przetwornika ADC 2-Bitowego Zależności czasowe potokowego przetwornika ADC. 6
Ogólny schemat blokowy prostej realizacji przetwornika A/C pracującego na zasadzie równoważenia wagowego (80C552 Philips) 7
Schemat blokowy modułu przetwornika A/C (realizacja w mikrokontrolerze 80C552 Philips) Rejestry SFR ADCON ADCH 7 6 5 4 3 2 0 ADC. ADC.0 ADEX ADCI ADCS AADR 2 AADR AADR 0 ADC.9 ADC.8 ADC.7 ADC.6 ADC.5 ADC.4 ADC.3 ADC.2 8
BIT Symbol Funkcja ADCON.7 ADC. Pierwszy bit wartości konwersji A/C ADCON.6 ADC.0 Drugi bit wartości konwersji A/C ADCON.5 ADEX Blokada zewnętrznego startu konwersji przez STADC: 0 = konwersja nie może być uruchomiona zewnętrznym sygnałem STADC (pin STADC); = konwersja może być uruchomiona zewnętrznym sygnałem STADC ADCON.4 ADCI Flaga przerwania od przetwornika A/C. Flaga ta jest ustawiana gdy wynik konwersji jest gotowy do odczytu. Flaga musi być zerowana programowo. Start i status przetwarzania. Ustawienie tego bitu rozpoczyna konwersję. Musi być on ustawiany ADCON.3 ADCS programowo lub poprzez zewnętrzny sygnał (pin STADC). Bit ADCS pozostaje w czasie procesu przetwarzania, gdy konwersja zostaje zakończona ADCS zostaje resetowany równocześnie z pojawieniem się przerwania i flagi ADCI. ADCS nie może być zerowany programowo. - / / - ADCON.2 ADCON. ADCON.0 ADCI ADCS AADR2 AADR AADR0 ADCI ADCS OPERACJA 0 0 0 0 PRZETWORNIK A/C WOLNY, KONWERSJA MOŻE SIĘ ROZPOCZĄĆ, PRZETWORNIK A/C ZAJĘTY, BLOKADA STARTU NOWEJ KONWERSJI, KONWERSJA ZAKOŃCZONA, BLOKADA STARTU NOWEJ KONWERSJI, Stan nie możliwy. Wybór wejścia analogowego. Bity te kodują binarnie jedno z 8 wejść analogowych portu P5 jako wybrane do procesu konwersji. Mogą być ustawiane tylko gdy ADCI i ADCS są w stanie niskim. 9
Funkcja przetwarzania przetwornika A/C - Rezultat_dziesiętny_ADC=f(U in ) N Vin AVREF Rezultat 2 AV AV N dł. słowa przetwornika, AV REF- AV REF+ - napięcia referencyjne przetwornika REF REF 20
Uproszczenia w procesie przetwarzania wyniku pomiarowego: V in Rezultat N 2 AVREF AVREF AVREF jeżeli: AV REF 0 [ V] Rezultat V in AV 2 N REF 2
Przykład algorytmu konwersji wyniku przetwarzania A/C przy parametrach: N=0; AV REF 0 [ V] ; AV REF 2.5 [ V] float Vin, AVRef; AVRef=2.5; Vin=(float)((256*ADCH+(ADCON&0xC0))>>6)*AVRef/024; Przykład uproszczonego algorytmu konwersji wyniku przetwarzania A/C (bez stosowania arytmetyki liczb zmiennoprzecinkowych), wynik konwersji jest liczbą typu int reprezentującą wartość napięcia wejściowego w [mv] : N=0; AV REF 0 [ V] AV REF 5.2 [ V ; ] /* uwaga: (5.2/024)*000 = 5 */ int Vin; Vin=5*((256*ADCH+(ADCON&0xC0))>>6); 22
PODSTAWOWE PARAMETRY PRZETWORNIKÓW A/C I C/A PRZETWORNIKI A/C Nieliniowośd całkowa (Integral Nonlinearity) : Max odchylenie dowolnego kodu od linii łączącej punkty końcowe charakterystyki przetwarzania przetwornika A/C (określana w bitach, częściach ułamkowych bitów) np. ±0.3LSB) Nieliniowośd różniczkowa (Differential Nonlinearity): Największa zmierzona różnica pomiędzy dwoma sąsiednimi poziomami sygnału analogowego przy zmianie słowa kodowego o wyrażona (określana w bitach, częściach ułamkowych bitów) np. ±0.3LSB Przesunięcie zera (Offset Error): Przesunięcie charakterystyki przetwarzania od punktu zerowego przy zerowej wartości sygnału wejściowego (określana w bitach, częściach ułamkowych bitów) np. ±4LSB 23
Błąd wzmocnienia (Gain Error): Przesunięcie charakterystyki przetwarzania od końcowego punktu przy sygnale wejściowym pełnego zakresu pomiarowego (po uprzedniej adjustacji przesunięcia zera) (określana w bitach, częściach ułamkowych bitów) np. ±2LSB 24
Stosunek sygnału do szumu (Signal to (Noise + Distortion) Ratio ): Stosunek sygnału do szumu określa się dla sygnału sinusoidalnego o max. amplitudzie, stosunek częstotliwości fali sinusoidalnej do częstotliwości próbkowania powinien być liczbą niewymierną. Teoretyczna wartość stosunku sygnał szum dla N-bitowego przetwornika: Dla N=2 S/N=74dB ( S / N) max (6.02N.76) db Całkowite zniekształcenia harmoniczne (Total Harmonic Distortion) Całkowite zniekształcenia harmoniczne to stosunek sumy wartości średniokwadratowych harmonicznych do sygnału podstawowego. 25
PRZETWORNIKI C/A Dokładnośd względna (Relative Accuracy) Dokładność względna jest mierzona jako max odchylenie punktów charakterystyki przetwarzania od linii prostej przechodzącej przez punkt końcowy charakterystyki przetwarzania C/A, odniesioną do napięcia pełnego zakresu przetwarzania i wyrażona w procentach. Pomiar powinien być dokonywany po przeprowadzeniu adjustacji błędu przesunięcia zera i błędu pełnej skali przetwornika. Czas ustalania napięcia wyjściowego (Voltage Output Settling Time) Jest to wartość czasu upływającego do momentu osiągnięcia specyfikowanego poziomu napięcia wyjściowego na skutek zmiany na wejściu odpowiadającej pełnemu zakresowi. 26
Zakłócenia szpilkowe sygnału wyjściowego (GLITTCH) (Digital-to-Analog Glitch Impulse) Powstają w wyniku stanów przejściowych zmiany słów kodowych. Określane powierzchnią obszaru szpilek w nv/s. U U FS szpilka napięciowa o najw. polu powierzchni t 27
KWANTOWANIE I KODOWANIE y i y 8 y 8 000 y 7 Q y 7 00 x - y 6 y 5 x 2 x 3 x 4 x 5 Q x 6 x 7 x 8 x 9 +U F x a y 6 y 5 00 0 y 4 y 4 00 y 3 y 3 0 y 2 y 2 0 y e=x a -y i y y 2 y 3 y 4 y 5 y 6 y 7 y 8 y i x x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x a Rys. a). Charakterystyka przejściowa kwantyzatora równomiernego z przesunięciem, b). przykładowe przypisanie słów kodowych oraz c). przebieg zmian błędu kwantyzacji 28
Proces kwantyzacji wprowadza inherentny, nieunikniony błąd. Założenia i oznaczenia, wprowadzamy: elementarny przedział kwantowania q s sygnał wejściowy U I Przedział q s jest określony przez liczbę poziomów kwantowania sygnału zależną od liczby bitów N (prz słowie kodowym w zapisie dwójkowym). Dla kwantyzatora równomiernego z przesunięciem błąd kwantyzacji nie przekracza wartości q s 2. 29
Średniokwadratowa wartośd błędu kwantowania: Można założyć, że wszystkie poziomy nieokreśloności w obszarze kwantowania Ai q s 2 pojawiają się tyle samo razy, co prowadzi do przyjęcia założenia o równomiernej gęstości prawdopodobieństwa w zakresie q s 2 do q s 2. Estymator średniokwadratowej wartości jest równy: q 2 2 2 E d Przy przyjętych założeniach wartość średnia tego błędu jest równa zeru. Błąd kwantyzacji można przedstawić jako napięcie błędu kwantyzacji 2 2 e qns E można zapisać jako: kwantyzacji e s q s 2 2 2 2 qns q s Maksymalna międzyszczytowa amplituda sygnału: N 2 q A 2 a dla większej liczby bitów słowa (N>5): N s pp qs A 2 pp N q s e 2 qns. Wartość skuteczną napięcia błędu 30
Dla takiej wartości A pp można łatwo określić wartość skuteczną sygnału (dla sinusoidy): q ARMS 2 Wartość stosunku sygnału do szumu S N można obliczyć jako: S eqns N ARMS Oraz przeliczając tą wartość na skalę decybelową: 2 N s 2 N 2,5 S N 6,02N, 76dB S N 2 N,5 3
REPREZENTACJE CYFROWE WIELKOŚCI ANALOGOWYCH (liczbowe kody binarne) słowa kodowe A a0a an o długości N bitów, przy czym a i 0,, i 0,, 2, N poszczególnym bitom przypisuje się wagi, MSB bit najbardziej znaczący (największa waga) a N- LSB bit najmniej znaczący (najmniejsza waga) a 0 U FS napięcie pełnej skali przetwarzania D wartość liczbowa reprezentowana przez słowo kodowe wartość napięcia reprezentowana przez słowo kodowe U a a). Przy zapisie słowa kodowego z użyciem liczb ułamkowych wagi bitów posiadają wartości: bi 2 b). Przy zapisie słowa kodowego z użyciem liczb całkowitych i wagi bitów posiadają wartości: b 2 i N i Słowo kodowe (wyjściowe słowo przetwornika) a). U U FS D a UFS D b). Ua N 2 (w naszych rozważaniach proponuję przyjąć sposób b. ) D N i0 b i a i 32
Wagi bitów słowa kodowego a i 7 6 5 4 3 2 0 b i =2i 28 64 32 6 8 4 2 255 b i = N i 2 2 4 8 6 32 64 28 256 255 256 kody unipolarne: reprezentacja napięć z przedziału (0, U FS ) kody bipolarne: reprezentacja napięć z przedziału (-U FS, +U FS ) 33
34 Kody binarne przetworników A/C naturalny kod binarny 0 N i b i a i D kod uzupełnień do dwóch 2 0 N i N N i i a b b a D kod binarny przesunięty 0 N i N i i b b a D kod znak-moduł 0 N i i i N a b a z D 0 N N N a dla a dla a z kody dwójkowo-dziesiętne (dziesiętno-binarne) (BCD, CCD,...) o pozycyjne o symboliczne
Przykład binarnych kodów prostych Wartość reprezentowana przez kod U U D a FS Naturalny kod binarny Kod uzupełnień do 2 Kod binarny przesunięty Kod znak-moduł a 7a6a5a4a3a2aa0 a 7a6a5a4a3a2aa0 a 7a6a5a4a3a2aa0 a 7a6a5a4a3a2aa0 U FS Q 0 0 U FS 2Q 0 0 0 0 0 0 2U FS Q 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2U FS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2U FS Q 0 0 0 0 0 0 Q 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q 0 0 0 0 0 0 0 2U FS Q 0 0 0 0 0 0 0 0 0 0 0 0 2U FS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2U FS Q 0 0 0 0 0 0 0 0 U FS 2Q 0 0 0 0 0 0 0 0 0 0 0 0 0 0 U FS Q 0 0 0 0 0 0 0 0 0 0 0 0 0 U FS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 35