Elektronika i elektryka
Ćwiczeni nr 5
Przetwornik analogowo-cyfrowy
Autorzy:
Katarzyna Szafraniak
Kamil Marciniak
Teoria:
Przetworniki A/C przetwarzają sygnał analogowy w postaci ciągłej postać cyfrową w kodzie np. binarnym.
Przetworniki A/C mogą być częścią układów wejściowych ( interfejsów), które to układy służą do wprowadzenia do komputera informacji o przebiegu procesu technologicznego.
Wartości wielkości fizycznych charakteryzujących dany proces jak
np. temperatura, prędkość obrotowa, przesunięcie są przetwarzane za pomocą czujnika na sygnał napięciowy a następnie wprowadzane do układów wejściowych. Układy te składają się z siatki filtrów, komutatorów, wzmacniaczy, liczników, mikrokontrolerów, rezystorów służących do odpowiedniego obrobienia sygnału analogowego i odpowiedniego przetwornika A/C służącego do przetworzenia sygnału napięciowego ( analogowego ) na sygnał cyfrowy podawany do komputera w postaci kodu 0 1 ( np. dwójkowego ).
Schemat układu rejestracji i przetwarzania danych
Podstawowymi parametrami przetworników A/C są:
Rozdzielczość
Szybkość przetwarzania
Zakres sygnału wejściowego
Długość słowa wyjściowego
Dokładność i szybkość przetwarzania
Rozdzielczość określa minimalna zmianę wartości napięcia wejściowego która spowoduje zmianę stanu na wyjściu. Im więcej bitów na przetwornik tym mniejsza jest rozdzielczość i dokładniej możemy odtworzyć wartości napięcia wejściowego ale wymaga to stosowania słów wyjściowych zawierających więcej bitów co zwiększa czas przetwarzania. Dlatego dobiera się tak rozdzielczość aby nie był za długi czas przetwarzania Rozdzielczość inaczej to najmniejsza zmiana sygnału wyjściowego
$$U = \ \frac{U_{\text{odn}}}{2^{n}}$$
n – liczba bitów słowa wyjściowego
Szybkość przetwarzania związana jest i może być określana przez:
czas konwersacji ( przetwarzania ), jest to czas jaki upływa między podaniem sygnału wejściowego rozpoczynającego przetwarzanie a pojawieniem się na wyjściu sygnału cyfrowego
częstotliwość przetwarzania, określająca liczbę cykli w jednostce czasu, czyli odwrotność czasu przetwarzania
Im jest mniejsza rozdzielczość to również zmniejsza się tzw. błąd kwantyzacji ( ± U/2 lub LBS/2 ) czyli odchyłka rzeczywistej charakterystyki schodkowej od charakterystyki idealnej. Charakterystyka rzeczywista dąży do idealnej.
Charakterystyka przejściowe przetwornika A/C.
Przetwarzanie A/C tworzÄ… trzy etapy:
Próbkowanie
Kwantyzacja ( dyskrecja )
Kodowanie
Próbkowanie inaczej pomiar napięcia analogowego. Im więcej będzie próbek tym sygnał wyjściowy ( cyfrowy ) będzie wierniej odtwarzał sygnał analogowy. W wyniku tego procesu tworzy się sygnał dyskretny reprezentujący sygnał ciągły za pomocą ciągu wartości zwanych próbkami. Liczba próbek zależy od częstotliwości.
Zamiana wartości analogowej na cyfrową wymaga zakwantowania, czyli podziału na przedziały zakresu zmian napięcia wejściowego w zależności od liczby ,,n’’ bitów przetwornika Uwe = 2n oraz przypisania każdemu przedziałowi odpowiedniego kodu cyfrowego ( kodowanie ).
W operacji kwantowania sygnał spróbkowany przetwarzany jest w sygnał o dyskretnej strukturze amplitudowej.
Kwantyzacja
Sygnał analogowy (np. napięcie, prąd) może przyjmować dowolne wartości, systemy cyfrowe natomiast są w stanie przetwarzać tylko sygnały reprezentowane słowami o skończonej liczbie bitów. Taka reprezentacja wymaga zatem skończonej liczby poziomów reprezentacji.
W tym przypadku kwantyzacja to proces polegający na przypisaniu wartości analogowych do najbliższych poziomów reprezentacji, co wiąże się z nieuniknioną i nieodwracalną utratą informacji. W procesie analogowo-cyfrowego przetwarzania sygnału, czyli zamiany analogowego na cyfrowy, kwantyzacja jest najczęściej etapem następującym po próbkowaniu. Wejściowy sygnał analogowy jest zatem aproksymowany poziomami reprezentacji, a różnica pomiędzy wartością skwantowaną i oryginalną jest nazywana błędem kwantyzacji. Rozmieszczenie i liczba poziomów kwantyzacji oraz rozmieszczenie poziomów decyzyjnych determinują dokładność.
Schemat stanowiska pomiarowego:
Objaśnienia:
Przetwornika serii ADC 080x to wykonane w technologii CMOS 8-bitowe przetworniki A/C, działają metodą kolejnych przybliżeń ( kompensacji wagowej, kolejnych porównań). Są one przystosowane do współpracy z mikroprocesorami 8-bitowymi i dlatego nie wymagają dodatkowych logicznych układów sprzęgających. Mają one różnicowe wejścia napięcia analogowego, co zmniejsza współbieżne zakłócenia przetwarzanego sygnału. Mogą być zasilane pojedynczym napięciem + 5V. Na rysunku przedstawiono symbol graficzny, topologie wyprowadzeń oraz schemat funkcjonalny;
Tabela pomiarowa;
Lp | Sygnał wejściowy U[V] | ΔU [V] | Sygnał wyjściowy |
---|---|---|---|
1 | 0 | 0 | 00000000 |
2 | 0,013 | 0,013 | 00000001 |
3 | 0,033 | 0,02 | 00000010 |
4 | 0,065 | 0,032 | 00000100 |
5 | 0,141 | 0,076 | 00001000 |
6 | 0,298 | 0,157 | 00010000 |
7 | 0,589 | 0,291 | 00100000 |
8 | 1,191 | 0,602 | 01000000 |
9 | 2,386 | 1,195 | 10000000 |
10 | 4,71 | 2,324 | 11111111 |
11 | 0,180 | 0,014 | 00001010 |
12 | 0,194 | 0,021 | 00001011 |
13 | 0,215 | 0,018 | 00001100 |
14 | 0,233 | 0,018 | 0001101 |
15 | 0,251 | 0,027 | 00001110 |
16 | 0,278 | 0,013 | 00001111 |
17 | 0,291 | 0,019 | 00010000 |
18 | 0,310 | 0,017 | 00010001 |
19 | 0,327 | 0,023 | 00010010 |
20 | 0,350 | 0,014 | 00010011 |
Obliczenia;
Podstawowy cykl pracy układu, polegający na ustawieniu słowa dwójkowego reprezentującego wartość napięcia w rejestrze RKP oraz przypisaniu go do zatrzasków wyjściowych, zawiera 8 taktów pracy rejestrów RP i RKP.
Pełny zakres przetwarzania wynosi 5 V. Przetwornik 8-bitowy kwantuje ten zakres na 28 przedziałów, czyli LSB = 5/28 = 19,5 [mV] (rozdzielczość)
Rozdzielczość jest wartością napięcia przypadająca na jeden bit. Odpowiada ona wartości napięcia wejściowego, gdy przetwornik na wyjściu ma ustawiony w stan H najmłodszy bit – bit LSB. Dlatego często się podaje rozdzielczość jako wartość bitu LSB.
Błędy przetwarzania określają następujące parametry:
Nieliniowość całkowa jest określana jako maksymalne względne
odchylenie (ΔU)max rzeczywistej charakterystyki przetwarzania N = f(U) od charakterystyki idealnej, będącej prostą łączącą skrajne punkty zakresu przetwarzania. Charakterystykę rzeczywistą wyznacza się jako linię łączącą środki przedziałów napięcia U, odpowiadających kolejnym wartościom cyfrowym na wyjściu przetwornika.
Nieliniowość różniczkowa określa się przez wyznaczenie różnic między sąsiednimi wartościami napięcia wejściowego, powodującymi zmianę słowa wyjściowego o wartość najmniej znaczącego bitu. Nieliniowość różniczkowa jest podawana w procentach jako maksymalne względne odchylenie tej różnicy od jej wartości średniej w całym zakresie przetwarzania. Jest szczególnie ważna w przetwornikach służących do zdejmowania histogramów – np. w technice jądrowej w analizatorach amplitudy impulsów, które służą do zdejmowania widm energetycznych promieniowania jądrowego. Błąd nieliniowości różniczkowej może w tym przypadku powodować zniekształcenia uzyskanego widma, utrudniające jego obróbkę i interpretację.
Błąd przesunięcia zera (błąd niezrównoważenia) jest określany przez wartość napięcia wejściowego potrzebną do przejścia od zerowej wartości słowa wyjściowego do następnej większej wartości. Błąd ten jest mierzony jako przesunięcie w stosunku do charakterystyki idealnej. Należy podkreślić, że wartość błędu przesunięcia zera jest rzadko podawana w katalogach, gdyż jest możliwa całkowita kompensacja tego błędu w większości nowoczesnych przetworników.
Współczynnik zmian cieplnych napięcia przesunięcia zera wyrażany w μV/°C lub w %/°C (w odniesieniu do pełnego zakresu przetwarzania).
Błąd skalowania (błąd wzmocnienia, błąd kwantyzacji) wynika ze zmiany nachylenia charakterystyki przetwarzania N – f(U) w stosunku do charakterystyki idealnej i jest określony przez odchylenie rzeczywistej wartości napięcia U, odpowiadającej maksymalnej wartości słowa wyjściowego, od wartości idealnej. Dla badanego przetwornika odchylenie to wynosi ok 0,7 [V]
Szybkość przetwarzania przetwornika a/c może być określana przez:
czas przetwarzania, czyli czas, w którym zachodzi pełny cykl przetwarzania;
częstotliwość przetwarzania, będąca odwrotnością czasu przetwarzania,
tzw. szybkość bitową, określoną przez liczbę bitów wyniku przetwarzania,
uzyskanych w jednostce czasu (bitów/s)
Przykłady i interpretacja graficzna typowych błędów przetwarzania A/C:
charakterystyka przejściowa przetwornika A/C, przesunięcie ½ LSB w zerze
liniowy błąd skali
błąd nieliniowości ± ½ LSB (oznacza możliwość wystąpienia błędu 1 LSB), nieliniowość różniczkowa 1 LSB ( zachowuje monotoniczność )
niemonotoniczność ( nieliniowość > ± ½ LSB )
Stabilność napięcia odniesienia decyduje o dokładności i stabilności przetwarzania. Źródła napięcia odniesienia zawierają diody zenera lub tranzystory o temperaturowej kompensacji napięcia baza-emiter.Komparatory decydują o szybkości i dokładności przetwarzania.
Błędy przetworników A/C wynikają przede wszystkim z samego przetwarzania sygnału ciągłego na sygnał dyskretny. Sygnałem dyskretnym jest kod liczbowy o skończonej pojemności. Sygnał analogowy natomiast może przyjmować nieskończenie wiele wartości w pewnym przedziale zmienności tego sygnału. Przetwornika A/C pobierając jedną próbkę sygnału może ją zapisać tylko jako jedną wartość liczbową (w niektórych przetwornikach wartość liczbowa sygnału jest średnią arytmetyczną kilku próbek sygnału).
Proces przetwarzania wejściowego napięcia o wartości 3 V na sygnał cyfrowy:
Ustawienie 1 na pozycji Q7 w rejestrze RP i przesłanie jej do RKP; na wyjściu rejestru RKP wystąpi słowo 10000000 = 12810, które w przetworniku C/A zostanie przetworzone na napięcie o wartości
U1 = 128*5/256 V = 2.5 V. W wyniku porównania w komparatorze napięcia wejściowego (mierzonego) z napięciem U1, bit Q7 = 1 zostanie zapamiętany w rejestrze RKP, ponieważ U1< 3 V.
Bit I w rejestrze RP zostaje przesunięty na pozycję Q6 i przesłany do RKP. Aktualne słowo w rejestrze RKP wynosi 11000000 = 19210,
U2 = 192*5/256 V = 3,75 V. Ponieważ U2> 3 V, bit Q6 zostaje wyzerowany i w rejestrze RKP będzie zapamiętany na pozycji Q6 stan 0. a cale słowo będzie miało postać 10000000.
Bit 1 w rejestrze RP zostaje przesunięty na pozycję Q5 i przesłany do RKP. Aktualne słowo w rejestrze RKP wynosi 10100000 = 16010,
U3= 160*5/256 V = 3,125 V. Ponieważ U3> 3 V, bit Q5 zostaje wyzerowany i w rejestrze RKP zapamiętany będzie na pozycji Q5 stan 0. a całe słowo będzie miało postać 10000000.
Bit 1 w rejestrze RP zostaje przesunięty na pozycję Q4 i przesłany do RKP. Aktualne słowo w rejestrze RKP wynosi 10010000 = 14410,
U4= 144* 5/256 V = 2,8125 V. Ponieważ U4< 3 V, bit Q4 zostaje w rejestrze RKP zapamiętany, a całe słowo będzie miało postać 10010000.
Bit 1 w rejestrze RP zostaje przesunięty na pozycję Q3 i przesłany do RKP. Aktualne słowo w rejestrze RKP wynosi 10011000 = 15210,
U5= 152 *5/256 V = 2,96875 V. Ponieważ U5< 3 V, bit Q3 zostaje w RKP zapamiętany, a całe słowo będzie miało postać 10011000.
Bit 1 w rejestrze RP zostaje przesunięty na pozycję Q2 i przesłany do RKP. Aktualne słowo w rejestrze RKP wynosi 100111000 = 15610,
U6 = 156 * 5/256 V = 3,0468 V. Ponieważ U6> 3 V, bit Q2 zostaje wyzerowany i w rejestrze RKP zapamiętany będzie na pozycji Q2 stan 0, a całe słowo będzie miało postać 10011000.
Bit 1 w rejestrze RP zostaje przesunięty na pozycję Q1 i przesłany do RKP. Aktualne słowo w rejestrze RKP wynosi 10011010 = 15410,
U7 =154*5/256 V = 3,0078 V. Ponieważ U6>3 V, bit Q1 zostaje wyzerowany i w rejestrze RKP zapamiętany będzie na pozycji Q1 stan 0, a całe słowo będzie miało postać 10011000.
Bit 1 w rejestrze RP zastaje przesunięty na pozycję Q0 i przesłany do RKP. Aktualne słowo w rejestrze RKP wynosi 10011001 = 15310,
U8 = 153* 5/256 V = 2,988 V. Ponieważ U8< 3 V, bit Q3 zostaje w RKP zapamiętany, a całe słowo będzie miało postać 10011001. Jest to wynik przetwarzania.
W ósmym takcie bit 1 z rejestru RP zostaje przepisany do Zatrzasku 1 i sygnał wyjściowy z tego zatrzasku przestawia przerzutnik INTR w stan wysoki, co jest sygnałem końca cyklu przetwarzania i jednocześnie zatrzaskuje aktualny stan rejestru RKP w buforze wyjściowym.
Wnioski:
Ćwiczenie miało na celu przetworzenie dwóch wybranych zakresów sygnału wejściowego analogowego na sygnał cyfrowy. Sygnał wejściowy w wybranych zakresach zmieniano tak aby uzyskać kolejne stany odpowiadające mu na wyjściu czyli teoretycznie o 19,5 [mV].
0 – 5 [V]. Zgodnie z tym zakresem i obliczeniami na wyjściu cyfrowym powinien pojawić się stan 11111111 gdy napięcie jest niewiele mniejsze niż 5 [V]. W praktyce przetwornik wszedł w ten stan przy napięciu ok. 4,30 [V], jest to spowodowane błędem skalowania. Aby uniknąć przekroczenia dopuszczalnego zakresu napięcia wejściowego w układzie zastosowano odpowiedni filtr. Zaobserwowano jednak że przy zmianie sygnału wejściowego o wartość odbiegającą od teoretycznie założonej( ΔU tabela ) następowała zmiana stanu na wyjściu, jest to spowodowane błędem nieliniowości