Politechnika Rzeszowska Projekt z przedmiotu „Systemy akwizycji i przesyłania informacji” „Przetworniki cyfrowo - analogowe ” Bartłomiej Ungeheuer Janusz Żelazko Sem. 4 ZUMFL 1. Podstawy teoretyczne 1.1. Kwantowanie i kodowanie Wielkości analogowe, takie jak napięcie lub prąd, mogą przyjmować nieskończenie wiele wartości. Przy próbie przedstawienia tych wielkości w postaci cyfrowej pojawia się problem odwzorowania nieskończonego zbioru różnych wartości do zbioru skończonego, którego liczność jest nie większa od liczby różnych słów kodowych, jakie mogą wystąpić w reprezentacji cyfrowej. Problem ten można rozwiązać przeprowadzając tzw. kwantyzację. Kwantyzacja polega na tym, że w nieskończonym zbiojze wartości analogowych wyróżnia się skończony zbiór M+1 wartości xi oraz zbiór M wartości yi, takich że xi<=yi<=xi+1 , i = 1,2, ...,M,M+1, a następnie przyjmuje się, że wartość yi; będzie reprezentowała wszystkie wartości z przedziału [xi,xi+1). Poglądowo ilustruje to rys. 1.1. Rys. 1.1. Ilustracja procesu kwantowania Z kolei, wartościom yi można przypisać odpowiednie słowa kodowe zgodnie z przyjętym sposobem kodowania. Jeżeli zbiór wartości yi zawiera nie więcej niż 2n elementów, to z każdą wartością yi może być związane inne słowo binarne N-bitowe .Proces konwersji analogowocyfrowej można więc rozważać jako sekwencję dwóch czynności: kwantowania i kodowania, wykonywanych przez dwa różne układy: kwantyzator i enkoder połączone jak na rys. l .2, na którym xa oznacza analogową wartość napięcia (prądu), a Ai — słowo kodowe przypisane skwantowanej wartości yi. Rys. 1.2. Dwustopniowa realizacja procesu konwersji analogowo-cyfrowej W ramach podanej wyżej charakterystyki procesu kwantyzacji możliwa jest realizacja kwantyzatorów o różnych charakterystykach przejściowych. Różnice mogą dotyczyć zarówno dopuszczalnego przedziału zmian wartości analogowej xa (szerokość tego przedziału określana jest jako zakres kwantyzatora), jak też wyboru wartości xi oraz wartości yi. Na rysunku 1.3a przedstawiono charakterystykę przejściową kwantyzatora, dla którego przedział zmian napięcia wejściowego jest ograniczony wartościami —UFS oraz +UFS. Wartości xi określone są w wyniku podziału tego przedziału na 2n równych przedziałów o szerokości Q (N = 3 na rys. 1.3), a wartości yi są równe wartościom xi . Na rysunku 1.4a przedstawiono charakterystykę przesuniętą w stosunku do charakterystyki z rys. 1.3 a w ten sposób, że wszystkie wartości x2, x3, .... XM zmniejszono o wartość równą połowie szerokości pojedynczego kroku kwantowania Q. Skutkiem tego jest zmniejszenie szerokości pierwszego przedziału [x1, x2] do 0,5Q oraz zwiększenie szerokości przedziału ostatniego [XM,XM+1) do 1,5Q. Wartości yi ; są równe wartościom środkowym 0,5(xi+ xi+1) dla każdego przedziału z wyjątkiem krańcowych, dla których odpowiednio y1 = x1 i yM =xM + 0,5Q. Analizując działanie kwantyzatorów, możemy zauważyć analogie do procesów obcinania Rys. 1.3. a) Charakterystyka przejściowa kwantyzatora równomiernego i b) przebieg zmian błędu kwantyzacji i zaokrąglania wielkości liczbowych będących na przykład wynikami pomiarów bądź obliczeń. Konsekwencją przypisania w procesie kwantyzacji jednej wartości yi wszystkim wartościom xa ∈ [xi,xi+1] jest występowanie błędu kwantyzacji. Błąd kwantyzacji e określa różnicę między rzeczywistą wartością napięcia xa ∈ [xi,xi+1] a wynikającą z procesu kwantyzacji wartością yi: e = xa - yi Wartość błędu kwantyzacji może zmieniać się w zakresie określonym przedziałem [xi,xi+1] oraz położeniem wartości yi w tym przedziale. Rys. 1.4. przebieg zmian błędu kwantyzacji Na rysunku 1.3 b pokazano, jak zmienia się wartość błędu kwantyzacji dla charakterystyki kwantyzatora z rys. 1.3a. Podobnie, na rys. 1.4 pokazano zmiany błędu kwantyzacji dla charakterystyki przesuniętej. W pierwszym przypadku błąd kwantyzacji zmienia się od zera do Q, podczas gdy w drugim od -0,5Q do +0,5Q. W ogólnym przypadku na wejściu kwantyzatora może pojawiać się przypadkowy ciąg wartości napięć xa. Wtedy ciąg wartości błędów kwantyzacji będzie również ciągiem przypadkowym. Na ogół wartości błędów dla poszczególnych wartości . xa nie są znane i dla celów analizy skutków kwantowania przyjmuje się, że: 1) ciąg wartości błędów jest realizacją stacjonarnego procesu losowego ; 2) ciąg wartości błędów jest nieskorelowany z ciągiem dokładnych wartości napięć na wejściu kwantyzatora; 3) błąd kwantyzacji jest białym szumem, tzn. zmienne losowe tworzące proces błędu są nieskorelowane; 4) rozkład prawdopodobieństwa procesu błędu jest rozkładem równomiernym w zakresie błędu kwantyzacji. Przy tych założeniach można korzystać ze statystycznego modelu procesu kwantowania. Rys. 1.5. Funkcja gęstości rozkładu prawdopodobieństwa błędu kwantyzacji Jeśli przyjmiemy, że funkcja gęstości rozkładu prawdopodobieństwa błędu p (e) jest taka jak na rys. 1.5, średniokwadratowy błąd kwantowania można określić jako +∞ 1 + Q 1 2 σ e2 = ∫ e 2 p(e)de = ∫ e 2 de = 12Q 2 Q −1Q −∞ 2 Wielkość błędu średniokwadratowego jest więc proporcjonalna do szerokości kroku kwantowania Q. Podkreślmy, że błąd kwantowania jest nieodłącznie związany z procesem kwantowania i nie można go wyeliminować. Możemy go jedynie zmniejszać, zmniejszając szerokość kroku kwantowania Q (oczywiście w sensownych granicach określonych względami technicznymi). Przy ustalonym zakresie napięć wejściowych –UFS ÷ +UFS jest to możliwe jedynie przez zwiększenie liczności zbioru yi, co wymaga zwiększenia długości słowa kodowego N, przy czym liczność zbioru yi musi być mniejsza od 2N. Traktując błąd kwantowania jako addytywny sygnał szumowy, możemy operować pojęciem stosunku sygnału do szumu. Jeśli oznaczymy symbolem σ2x średniokwadratową wartość napięcia wejściowego xa, to stosunek sygnału do szumu wynosi : σ SNR = σ 2 x 2 e 12σ = σ SNR = 10 log σ 2 x 2 e = 6,02 N + 10,79 + 10 log σ Q 2 2 x = 12 * 2 2 N σ x2 lub w mierze logarytmicznej 2 x Stąd widać, że stosunek sygnału do szumu zwiększa się o około 6 dB, przy zwiększeniu długości słowa kodowego o l bit. Pokazana na rys. 1.3 a charakterystyka kwantyzatora jest przykładem charakterystyki z kwantowaniem równomiernym, dla której szerokości przedziałów kwantowania są stałe i równe Q (z wyjątkiem przedziałów krańcowych. W praktyce stosowane są również charakterystyki z kwantowaniem nierównomiernym. 1.2. Reprezentacja cyfrowa wielkości analogowych W scalonych układach przetworników analogowo-cyfrowych i cyfrowo-analogowych do reprezentacji wielkości analogowych wykorzystuje się liczbowe kody binarne, przy czym spośród wielu znanych kodów praktycznie stosowane są tylko niektóre. W przetwornikach N-bitowych informacja cyfrowa jest na ogół reprezentowana w postaci słów kodowych A = a1a2 ... aN o długości N bitów, przy czym an = {O, 1}, n = l, 2, ..., N. Poszczególnym bitom przypisywane są wagi. Bit, któremu w słowie A jest przypisana największa waga, jest określany jako bit najbardziej znaczący (MSB); jest to najczęściej bit a1. Bit, któremu jest przypisywana waga najmniejsza, jest określany jako bit najmniej znaczący (LSB); jest to bit aN. Jeżeli największą wartość napięcia, jaką może przyjąć sygnał analogowy, oznaczymy UFS, to wartość napięcia reprezentowaną przez słowo kodowe A można określić z zależności: U(A) = UFS L(A) gdzie L (A) określa wartość liczbową reprezentowaną przez słowo kodowe A. Jeżeli wagi poszczególnych bitów an mają wartości 1/2n, to L(A) jest liczbą ułamkową. Wśród kodów stosowanych w przetwornikach można wyróżnić kody unipolarne wykorzystywane w przypadku przetwarzania wyłącznie napięć dodatnich z przedziału (O , UFS) oraz kody bipolarne stosowane przy przetwarzaniu napięć przyjmujących wartości zarówno dodatnie jak i ujemne z przedziału (-UFS, UFS). Ponadto wyróżnia się kody binarne i dziesiętno-binarne. Poniżej opisano poszczególne rodzaje kodów. Kody binarne W naturalnym kodzie binarnym wartość liczbową L(A) reprezentowaną przez słowo A określa się z zależności: N a L( A) = ∑ nn n =1 2 Kod ten umożliwia reprezentację tylko liczb ułamkowych nieujemnych. Stąd też określany jest często jako kod unipolarny. Za pomocą naturalnego kodu binarnego można przedstawiać liczby od zera (słowo A zawiera same zera) do l-2-n (słowo A zawiera same jedynki). Stąd największa wartość napięcia, jaką można przedstawić za pomocą tego kodu, wynosi: ym = UFS-Q. W kodach bipolarnych jeden z bitów słowa kodowego niesie informację o znaku. Pełny zakres zmian napięcia bipolarnego wynosi 2UFS, a więc przy tej samej wartości UFS szerokość kroku kwantowania Q dla N-bitowego kodu bipolarnego będzie dwukrotnie większa od szerokości kwantowania Q dla N-bitowego kodu unipolarnego. W przetwornikach scalonych spośród różnych kodów bipolarnych wykorzystuje się następujące: kod uzupełnień do dwóch, kod binarny z przesunięciem, kod znak-moduł oraz odpowiednie kody komplementarne. W kodzie uzupełnień do dwóch wartość liczbową reprezentowaną przez słowo kodowe A określa się z zależności: N an n −1 n=2 2 L( A) = − a1 + ∑ Dla liczb dodatnich bit a1 = O, a poza tym kod jest podobny do naturalnego kodu binarnego. Liczby ujemne są reprezentowane przez uzupełnienie do dwóch kodu liczby dodatniej odpowiadającej wartości bezwzględnej liczby ujemnej (dla znalezienia uzupełnienia do dwóch neguje się wszystkie bity i dodaje jedynkę na najmniej znaczącej pozycji). Dla każdej liczby ujemnej a1 = 1. Zakres wartości napięć reprezentowanych przez kod uzupełnień do dwóch obejmuje wartości od - UFS do UFS -Q. W kodzie binarnym przesuniętym słowu A odpowiada wartość liczbowa określona zależnością: N an n −1 n =1 2 L( A) = −1 + ∑ W kodzie binarnym słowo kodowe składające się z samych zer jest przypisywane najmniejszej wartości napięcia -UFS, a słowo zawierające same jedynki jest przypisywane wartości największej, tj. UFS - Q. Porównując kody uzupełnień do dwóch oraz binarny przesunięty, możemy zauważyć, że różnica między nimi polega jedynie na zanegowaniu najstarszego bitu. Z kolei można zauważyć również, że różnica między naturalnym kodem binarnym a przesuniętym kodem binarnym polega jedynie na zmianie zakresu napięć, którym są przypisywane słowa kodowe, z zakresu 0÷UFS na zakres –UFS ÷ +UFS, a tym samym wartości napięć yi oraz wartości Q, jeżeli w obu wypadkach słowo kodowe ma tę samą długość N. W kodzie znak-moduł wartość liczbową reprezentowaną przez słowo kodowe A wyraża zależność: N + 1, gdy _ a0 = 0 a L( A) = r (a0 )∑ nn gdzie r (a0 ) = n =1 2 − 1, gdy _ a0 = 1 Zasada tworzenia kodu znak-moduł wynika z naturalnego podejścia do reprezentacji znaku napięcia, polegającego na uzupełnieniu informacji o bezwzględnej wartości napięcia o bit znaku. W kodzie znak-moduł napięcie O V ma dwie reprezentacje cyfrowe: 0+ → 00...0 oraz 0- → 10...0. Przy zmianie znaku napięcia w reprezentacji cyfrowej zmianie ulega wartość tylko jednego bitu (w kodach uzupełnień do dwóch oraz binarnym przesuniętym zmianie ulegają wszystkie bity albo wszystkie poza jednym). Omówione wyżej kody bipolarne określane są jako tzw. kody proste. Obok kodów prostych w przetwornikach scalonych są stosowane kody komplementarne. Kod komplementarny uzyskuje się przez zanegowanie wszystkich bitów w odpowiednim kodzie prostym. Otrzymane w ten sposób słowo kodowe w kodzie komplementarnym reprezentuje tę samą wartość napięcia, którą reprezentuje odpowiednie słowo w kodzie prostym. Kody dziesiętno-binarne W prostym kodzie dziesiętno-binarnym BCD każda cyfra dziesiętna dodatniej wartości napięcia jest reprezentowana przez grupę czterech bitów o wagach 8, 4, 2, 1. W ramach grupy są dopuszczalne tylko słowa kodowe reprezentujące cyfry 0-9. Kolejnym grupom kodów są przyporządkowane wagi dziesiętne. Najbardziej znaczącej grupie (MSD) jest przyporządkowana waga 0,1, kolejnej grupie waga 0,01 itd. Zakres wartości reprezentowanych przez kod BCD obejmuje przedział (O, UFS- Q), gdzie Q jest równe wadze najmniej znaczącej grupy, pomnożonej przez UFS. Czasami wykorzystuje się kod BCD z dodatkowym bitem na pozycji bardziej znaczącej niż grupa MSD. Waga tego bitu jest równa 1,0 (UFS). Pozwala to, zależnie od interpretacji, albo na sygnalizowanie sytuacji, gdy wartość napięcia przekracza dopuszczalny zakres, czyli występowanie tzw. nadmiaru, albo na dwukrotne zwiększenie zakresu przetwornika. Reprezentację zarówno dodatnich jak i ujemnych wartości napięć umożliwia kod znak-moduł BCD. Informację o znaku zawiera w tym wypadku dodatkowy bit znaku (jest to zawsze bit najbardziej znaczący). Dla wartości dodatnich bit znaku jest równy l, dla ujemnych zero . Stosowane są również kody BCD komplementarne, które otrzymuje się z kodów prostych BCD przez zanegowanie wszystkich bitów. Przetwarzanie cyfrowo-analogowe Opisany wcześniej proces kwantowania i następujący po nim proces kodowania są realizowane w praktyce przez układy przetworników analogowo-cyfrowych. Uzyskane w wyniku konwersji słowo kodowe może podlegać przetworzeniu cyfrowemu bądź transmisji. Wyniki takich operacji są często przekształcane na postać analogową. Funkcję tę spełniają przetworniki cyfrowo-analogowe. Zasada działania przetworników cyfrowo-analogowych polega na tym, by dla każdego słowa kodowego wytworzyć sygnał analogowy, napięcie lub prąd, o wartości yi takiej samej, jakiej w procesie analogowo-cyfrowym przypisywane jest dane słowo kodowe. Ilustruje to rys. 1.6, na którym pokazano charakterystykę idealnego 3-bitowego przetwornika cyfrowo-analogowego. Rys. 1.6. Charakterystyka przejściowa przetwornika cyfrowo-analogowego W procesie konwersji cyfrowo-analogowej słowu kodowemu A przypisuje się napięcie (prąd) o wartości U (A) = UFS L(A) Najmniejsza różnica napięć dla dwóch różnych słów kodowych wynosi Q, Wartość Q jest równa wynikowi podziału zakresu napięć wyjściowych (UFS albo 2UFS) na 2N równych przedziałów, gdzie N jest długością słowa kodowego. Z idealnym przetwarzaniem cyfrowo-analogowym nie jest związany żaden błąd takiego typu jak błąd kwantowania charakterystyczny dla przetwarzania analogowocyfrowego. Stąd, łącząc wyjścia N-bitowego przetwornika AD z wejściami N-bitowego przetwornika DA oraz porównując wyjściowe napięcie z przetwornika DA z wejściowym napięciem przetwornika AD, można — przy zachowaniu warunku idealności układów określić błąd kwantowania. Fakt ten można wykorzystywać do testowania układów przetworników. Próbkowanie sygnału analogowego Omówiony wcześniej proces kwantowania umożliwia cyfrową reprezentację ustalonej wartości wielkości analogowej. Jeżeli jednak, wartość sygnału analogowego zmienia się w zależności od czasu, to dla celów przetwarzania cyfrowego konieczne jest ograniczenie nieskończenie licznego zbioru wartości sygnału analogowego do skończonego zbioru wartości sygnału w ustalonych chwilach. Problem ten można rozwiązać za pomocą procesu próbkowania, który polega na pobieraniu próbek wartości chwilowych sygnału analogowego i zapamiętaniu ich (przynajmniej na czas konwersji AD). Funkcję tę spełniają układy próbkującopamiętające. Zapamiętane próbki mogą być z kolei poddawane kwantowaniu i kodowaniu w procesie przetwarzania analogowo-cyfrowego. Ograniczanie w procesie próbkowania nieskończonego zbioru wartości sygnału analogowego do skończonego zbioru wartości tego sygnału w chwilach tl,t2,... (rys. 1.7) może nasuwać wątpliwości, czy otrzymany zbiór wartości chwilowych można uznać za wiarygodną reprezentację pierwotnego sygnału analogowego. Rys. 1.7. Próbkowanie sygnału analogowego xa(t). xa(ti) — wartość próbki w chwili ti W ogólnym wypadku ilość informacji niesiona przez ciąg próbek jest mniejsza od informacji zawartej w pierwotnym sygnale i na podstawie wartości chwilowych nie można jednoznacznie odtworzyć przebiegu sygnału pomiędzy chwilami próbkowania. Jednak jeżeli ograniczy się szybkość zmian sygnału analogowego oraz będzie się próbkować z dostatecznie dużą częstotliwością, to jest możliwe jednoznaczne odtworzenie sygnału na podstawie znajomości ciągu próbek. Podstawowym twierdzeniem precyzującym wymagane warunki jest twierdzenie o próbkowaniu sformułowane niezależnie przez Shannona i Kotielnikowa. Twierdzenie to mówi, że przebieg o ograniczonym paśmie częstotliwości granicznej fm jest całkowicie określony przez swoje próbki pobierane z częstotliwością większą niż 2fm. W praktyce, na ogół, warunki konieczne z twierdzenia o próbkowaniu nie mogą być spełnione. 2. Przetworniki cyfrowo-analogowe 2.1. Przetwornik idealny Przetwornik cyfrowo-analogowy (D/A lub C/A) jest układem, który na podstawie wejściowego słowa kodowego A i analogowego sygnału odniesienia R (w postaci napięcia odniesienia UR lub prądu odniesienia IR) wytwarza analogowy sygnał wyjściowy przy czym L(A) jest liczbą reprezentowaną przez wejściowe słowo kodowe A. Jeśli słowo kodowe A jest przedstawione w postaci rozwinięcia dwójkowego a1,a2,...,an oraz L ( A) = a1 * 2 −1 + a2 * 2 −2 + ... + a N * 2 − N to sygnał wyjściowy przetwornika ma wartość S = R(a1 * 2 −1 + a2 * 2 −2 + ... + a N * 2 − N ) Zależność ta wyznacza charakterystykę przejściową przetwornika DA przedstawioną w postaci graficznej na rys. 2.1. Rys. 2.1. Charakterystyka przejściowa przetwornika cyfrowo-analogowego Charakterystyka przejściowa przetwornika DA jest funkcją nieciągłą: sygnał wyjściowy, zwykle napięcie lub prąd, może zmieniać się jedynie skokami, a najmniejsza taka zmiana zwana jest krokiem kwantowania i została tu oznaczona literą Q. Liczba poziomów sygnału wyjściowego lub inaczej liczba kroków kwantowania (kwantów) wynosi 2N dla N-bitowego przetwornika. Dla przetworników 8-bitowych i 12-bitowych wynosi to odpowiednio 256 i 4096 kroków. Liczba N oznaczająca liczbę bitów przetwornika zwana jest jego rozdzielczością. Kształt idealnej charakterystyki przejściowej (linia na rys. 2.1) nie zależy od liczby bitów przetwornika, a wartość maksymalna UFS, określana również jako zakres przetwornika unipolarnego, nie jest nigdy osiągana przez sygnał wyjściowy. Wartość 2N −1 maksymalna sygnału wyjściowego wynosi U FS dla przetwornika unipolarnego. Jeśli 2N nominalny zakres przetwornika wynosi np. 10 V, to przetwornik 8-bitowy osiąga wartość 255 4095 maksymalną 10V = 9,9976 V. 10V = 9,961 V, a 12-bitowy wartość 256 4096 W obydwu wypadkach jest to o jeden krok kwantowania mniej niż zakres przetwornika. Dla wygody i prostoty definicji zakres przetworników definiuje się jako zakres nominalny, nie zaś rzeczywistą wartość maksymalną sygnału wyjściowego wytwarzanego przez konkretną realizację przetwornika. Dla przetwarzania sygnałów bipolarnych niezbędne jest podanie informacji dotyczącej znaku sygnału wyjściowego. Najczęściej wykorzystuje się w tym celu rozwinięcia liczb dwójkowych w postaci kodu z uzupełnieniem do dwóch, kodu binarnego przesuniętego, kodu znak-moduł lub odpowiednich kodów komplementarnych. Charakterystykę przejściową przetwornika bipolarnego, w którym wyjściowe słowo kodowe A jest przedstawione w kodzie z uzupełnieniem do dwóch, pokazano na rys. 2.2. Zauważmy, że ta charakterystyka jest Rys. 2.2. Charakterystyka przejściowa bipolarnego przetwornika cyfrowo-analogowego niesymetryczna - sygnał wyjściowy nie może osiągnąć maksymalnej wartości dodatniej, osiąga ją zaś dla swych wartości ujemnych. Zakres przetwornika bipolarnego wynosi 2UFS. W odróżnieniu od idealnego przetwornika analogowo-cyfrowego, który ma nie dający się zredukować błąd przetwarzania (zwany błędem kwantowania), idealny przetwornik cyfrowo-analogowy przetwarza wejściowe słowo kodowe na dokładnie odpowiadającą mu wartość analogową. Ze względów technicznych (łatwość wykonania dwójkowo ważonych źródeł prądowych lub dwójkowych drabinkowych dzielników napięcia) oraz z tego powodu, że sygnały wejściowe przetworników DA pochodzą z komputerów pracujących prawie wyłącznie w kodach dwójkowych, przetworniki pracują zwykle w kodach dwójkowych (prostym, przesuniętym i z uzupełnieniem do dwóch), nie spotyka się natomiast ich realizacji w innych kodach (np. w kodzie Graya). Dla zastosowań w numerycznym sterowaniu maszyn i mechanizmów stosuje się także przetworniki DA w dwójkowo kodowanym dziesiętnym kodzie prostym lub komplementarnym. Taka realizacja nie odbiega jednak zasadniczo od realizacji czysto dwójkowych, gdyż polega na wykonaniu dwójkowych 4-bitowych prze- tworników kolejnych cyfr dziesiętnych i połączeniu ich za pomocą dobranych dzielników międzystopniowych. 2.2. Przetwornik rzeczywisty 2.2.1. Błędy statyczne Charakterystyka przejściowa rzeczywistego przetwornika cyfrowo-analogowego wykazuje wiele odstępstw od idealnej charakterystyki przejściowej pokazanej na rys. 2.1 i 2.2. Dla uproszczenia rozważać będziemy teraz jedynie przetworniki unipolarne, których sygnał wyjściowy jest napięciem dodatnim. Rozważania te łatwo jest przenieść na przypadek przetworników bipolarnych. Spośród najczęściej występujących odstępstw od idealnej charakterystyki przejściowej wymienić należy: błąd przesunięcia zera (offset), błąd wzmocnienia i błąd nieliniowości (całkowitej i różnicowej). Na ogół wszystkie te odstępstwa występują jednocześnie w każdym przetworniku DA. Co gorsze, ich wartość ulega zmianie w czasie na skutek starzenia się elementów przetwornika i wskutek zmian temperatury. Na rysunku 2.3 pokazano idealizowane charakterystyki przejściowe przetwornika DA przesunięte lub zniekształcone wskutek błędów przetwarzania. Na rysunku 2.3a charakterystyka rzeczywista jest przesunięta w górę w stosunku do charakterystyki idealnej o wartość definiowaną jako przesuniecie zera (offset). Definiuje się ją zwykłe w woltach lub w procentach zakresu przetwornika. Na rysunku 3.3b charakterystyka przejściowa przetwornika ma nachylenie różne od nachylenia charakterystyki idealnej. Rys. 2.3. Błędy nieidealnego przetwornika DA Błąd wzmocnienia definiowany jest jako procentowe odstępstwo zakresu rzeczywistego od zakresu nominalnego przetwornika. Charakterystyka przejściowa z rys. 2.3c wykazuje błąd liniowości, odstępstwo od linii prostej. Nieliniowość całkowitą określa się jako maksymalną różnicę między charakterystyką rzeczywistą a charakterystyką idealną, wyrażaną zwykle w procentach zakresu lub w wartościach kroku kwantowania Q. Praktycznie wszystkie przetworniki wykazują wszystkie te błędy jednocześnie, ale na ogół przewidziano w nich możliwość zewnętrznej regulacji błędów przesunięcia zera i błędów wzmocnienia. Nie istnieje natomiast możliwość regulacji błędów liniowości. W zasadzie istnieje tylko jedna metoda zmniejszania błędów liniowości : użycie przetwornika wysokiej jakości o dużej liniowości lub użycie przetwornika o większej rozdzielczości (liczbie bitów) niż niezbędne minimum. Przypuśćmy, że potrzebny jest przetwornik 8-bitowy o bardzo dobrej liniowości. Większość przetworników ma liniowość nie gorszą niż 0,5Q. Jeśli użyć lepszego, 12-bitowego przetwornika o liniowości 0,5Q w odniesieniu do 12 bitów, to 1 Q w odniesieniu do 8 bitów. używając jedynie 8 z tych 12 bitów otrzymamy liniowość 32 Definicja błędów liniowości jako maksymalnego odstępstwa rzeczywistej charakterystyki przejściowej od idealnej nie jest jednoznaczna. Jeżeli przesunięcie zera przetwornika zostało usunięte i wzmocnienie tak wyregulowane, że charakterystyka przejściowa przetwornika przechodzi przez drugi koniec charakterystyki idealnej, to definiowana na jej podstawie liniowość całkowita (lub raczej błąd nieliniowości całkowitej) jest tzw. definicją dwóch końców. Można jednak tak przesunąć charakterystykę rzeczywistą, aby charakterystyka idealna była jej najlepszym przybliżeniem (np. według metody najmniejszych kwadratów). W tym przypadku błąd liniowości tego samego przetwornika będzie mniejszy niż przy definicji dwóch końców, pojawi się natomiast błąd wzmocnienia. Porównanie graficzne tych definicji pokazano na rys. 2.4. Ponieważ jednak obliczenie najlepszego liniowego przybliżenia Rys. 2.4. Porównanie różnych definicji błędu liniowości Rys. 2.5. Różnicowa nieliniowość przetwornika charakterystyki rzeczywistej w czasie testowania przetwornika jest trudne i pracochłonne, większość producentów przetworników posługuje się definicją dwóch końców. Aby zmierzyć liniowość przetwornika, trzeba najpierw usunąć przesunięcie zera i wyregulować wzmocnienie przetwornika tak, aby jego charakterystyka przechodziła przez obydwa punkty krańcowe. Przy tej definicji liniowości jest ona gorsza (błąd liniowości jest większy) niż przy definicji najlepszego przybliżenia. Liniowość (nieliniowość) różnicowa przetwornika jest miarą odstępstwa rzeczywistej wartości kolejnych zmian sygnału wyjściowego od wartości kroku kwantowania Q. Jeśli przetwornik ma błąd liniowości różnicowej nie większy niż 0,5Q, to oznacza, że kolejne zmiany sygnału wyjściowego mogą zawierać się w zakresie 1/2Q i 3/2Q. Na rysunku 2.5 pokazano rzeczywistą charakterystykę przejściową 3-bitowego przetwornika DA, w którym trzy pierwsze kroki mają wartość nominalną, następny ma wartość 1/2Q, kolejny Q i następny 3/2Q. Z pojęciem liniowości różnicowej ściśle związane jest pojęcie monotoniczności. Przetwornik DA jest monotoniczny, jeśli jego charakterystyka przejściowa jest monotoniczna, to znaczy dla kolejnych słów kodowych na wejściu sygnał wyjściowy nie maleje. Łatwo zauważyć, że jeśli błąd liniowości różnicowej przetwornika jest mniejszy niż Q, to przetwornik jest monotoniczny. Jednym z ważniejszych parametrów przetwornika jest jego dokładność. dla celów pomiarowych używana jest definicja dokładności bezwzględnej, a dla porównania różnych przetworników między sobą używa się definicji dokładności względnej. Dokładność bezwzględna określa, jaka jest największa różnica między rzeczywistą wartością wyjściowego sygnału przetwornika a wartością, jaka powinna wystąpić na wyjściu, po przyłożeniu na wejście określonego słowa kodowego. Źródłem błędów przy pomiarze dokładności bezwzględnej są zarówno błędy wzmocnienia, przesunięcia zera, liniowości, jak i szumy i zakłócenia w układzie pomiarowym. Dokładność bezwzględna jest zwykle porównywalna z wielkością kroku kwantowania Q i na ogół nie przekracza ±0,5Q. Jednakże w wielu zastosowaniach dokładność przetwornika może być znacznie lepsza niż wynika to z rozdzielczości przetwornika. I tak na przykład, skokowo regulowane napięcie odniesienia o rozdzielczości 4 bitów może przyjmować tylko 16 poziomów wyjściowych wybieranych cyfrowo, ale dokładność każdego z tych poziomów może wynosić 0,01% wartości nominalnej. Dokładność względna przetwornika mierzona jest jako największe względne odchylenie sygnału wyjściowego przetwornika od wartości, jaka powinna wystąpić na wyjściu przy przyłożeniu określonego słowa kodowego, mierzone po wyregulowaniu błędów wzmocnienia i usunięciu przesunięcia zera, odniesione do zakresu przetwornika. Dokładność względna E określona jest więc z zależności: Uo −U N U FS gdzie U0 jest sygnałem wyjściowym przetwornika dla określonego słowa kodowego na wejściu; UN - oczekiwaną wartością sygnału wyjściowego przetwornika przy przyłożeniu na wejście tego samego słowa kodowego; UFS - zakresem przetwornika (nominalnym). Dokładność względna wyrażana jest zwykle w procentach lub częściach kroku kwantowania Q. Ponieważ oczekiwane wartości wyjściowego sygnału przetwornika leżą na linii prostej (idealnej charakterystyce przejściowej), dokładność przetwornika może także być interpretowana jako miara jego nieliniowości całkowitej. E= 2.2.2. Wpływ temperatury Przy określaniu dokładności przetworników oprócz podania wartości jego podstawowych parametrów w stałej temperaturze pracy (na ogół 25° C) niezbędne jest uwzględnienie wpływu zmian tych parametrów w zależności od zmian temperatury. Na podstawie specyfikacji statycznych trudno wyrobić sobie zdanie na temat dokładności przetwornika w pełnym zakresie temperatur jego pracy. Często okazuje się, że przetwornik 12-bitowy w temperaturach ekstremalnych może mieć dokładność odpowiadającą 8 lub 9 bitom. W praktyce określenie najgorszego i średniokwadratowego odstępstwa od specyfikowanej dokładności statycznej przetwornika jest stosunkowo proste na podstawie znajomości dryftu temperaturowego różnych jego parametrów. Dryft temperaturowy przetwornika ma trzy zasadnicze składowe: dryft przesunięcia zera, dryft wzmocnienia i dryft liniowości całkowitej. Temperaturowy dryft przesunięcia zera powoduje przesunięcie całej charakterystyki przejściowej przetwornika o określoną wartość w stosunku do położenia początkowego, a dryft wzmocnienia powoduje obrócenie całej charakterystyki w stosunku do początku układu (patrz rys. 2.3). Przy uwzględnianiu temperaturowego dryftu wzmocnienia często trudne jest oddzielenie go od wpływu temperaturowego źródła napięcia odniesienia. Zwłaszcza dotyczy to tego przypadku, gdy przetwornik ma wewnętrzne źródło napięcia odniesienia. W takim przypadku zamiast podawania dryftu wzmocnienia podaje się współczynnik dryftu skali uwzględniający także wpływ wewnętrznego źródła napięcia odniesienia. Typowe wartości dryftu przesunięcia zera wynoszą ±5÷10-6/K, a dryftu skali ±20÷10-6/K dla 12-bitowych przetworników z wewnętrznym źródłem napięcia odniesienia. Na podstawie współczynnika temperaturowego błędu liniowości różnicowej można określić zakres temperatur pracy, w którym przetwornik będzie monotoniczny. Przyjmując na przykład, że początkowy błąd liniowości różnicowej wynosi ±0,5Q, łatwo zauważyć, że jeśli błąd wynikający ze zmian temperatury nie będzie większy od 0,5Q, to przetwornik będzie monotoniczny. 2.2.3. Błąd całkowity przetwornika Przy określaniu pożądanej dokładności przetworników powszechnie popełnia się błąd, przyjmując, że jego dokładność wynika bezpośrednio z liczby bitów, to jest z rozdzielczości. W rzeczywistości osiągana dokładność może znacznie odbiegać od przyjętej rozdzielczości, zależnie od parametrów przetwornika i warunków pracy. Najlepsza metoda określenia rzeczywistej dokładności (względnej) przetwornika polega na obliczeniu jego błędu całkowitego największego (w najgorszym przypadku) i średniokwadratowego (statystycznego). Obliczenie takie wykonamy poniżej na przykładzie 12-bitowego przetwornika DA o następujących danych katalogowych: rozdzielczość 12 bitów nieliniowość różnicowa ±0,25Q współczynnik temperaturowy nieliniowości różnicowej ±2*10-6/K współczynnik temperaturowy wzmocnienia ±20*10-6/K współczynnik temperaturowy przesunięcia zera ±5÷10-6/K zależność napięcia wyjściowego od napięcia zasilania 0,002 %/% Całkowity błąd przetwornika określimy przy założeniu, że przesunięcie zera zostało usunięte, a wzmocnienie poprawnie ustawione, że zakres temperatur pracy wynosi 0÷50° C (odchylenie 25° C w stosunku do punktu pomiarowego) oraz że zmiana napięcia zasilania maksymalna nie przekracza 1%. 2.2.4. Szybkość przełączania Znaczna rozpiętość wartości prądów poszczególnych bitów przetwornika powoduje, że szybkość ich przełączania zależy od przykładanego słowa kodowego. Przy definiowaniu szybkości przetworników trzeba uwzględnić dwa aspekty procesu przełączania, których waga zależy od przewidywanego zastosowania: szybkość narastania sygnału wyjściowego i czas ustalania. Szybkość narastania w przetwornikach z wyjściem napięciowym limitowana jest na ogół szybkością narastania sygnału wyjściowego wzmacniacza operacyjnego. Dla zachowania dokładności przetwornika niezbędne jest użycie precyzyjnych wzmacniaczy operacyjnych o małym prądzie wejściowym i małym napięciu niezrównoważenia, które mają najczęściej stosunkowo małą szybkość narastania sygnału, rzędu kilku do kilkunastu Voltów na mikrosekundę. I właśnie ta szybkość zwykle limituje szybkość narastania sygnału wyjściowego. Szybkość ustalania określa natomiast, po jakim czasie sygnał wyjściowy osiągnie wartość nominalną z dokładnością do połowy kroku kwantowania Q. Pomiar powinien uwzględniać możliwość wystąpienia oscylacji na wyjściu przetwornika i wobec tego nie może dotyczyć pierwszego dojścia do wartości nominalnej, lecz dojścia do wartości ustalonej w granicy błędu. Czas ten jest najdłuższy przy przełączaniu pełnozakresowym, to znaczy od minimalnej do maksymalnej wartości sygnału wyjściowego. Typowe wartości czasu ustalania wynoszą około l µs w przypadku popularnych przetworników z tranzystorami bipolarnymi lub z tranzystorami nMOS, rzędu kilkudziesięciu nanosekund dla przetworników określanych jako szybkie i rzędu kilkunastu nanosekund dla przetworników wizyjnych. Podane wartości dotyczą na ogół prądu wyjściowego przetwornika i są zwykle o rząd wielkości gorsze w przypadku użycia wzmacniacza operacyjnego na wyjściu przetwornika dla uzyskania wyjścia napięciowego. Z przełączaniem przetwornika związany jest jeszcze jeden parametr mający istotne znaczenie, zwłaszcza w zastosowaniach wizyjnych i wyświetlania graficznego i podawany w katalogach jedynie dla takich przetworników. Są to mianowicie zakłócenia przy przełączaniu. Pojawiają się one wszędzie tam, gdzie następuje przełączanie znacznej liczby przełączników w przetworniku. Szybkości wyłączania i włączania przełączników poszczególnych bitów przetwornika są na ogół różne, co powoduje, że na przykład przy przejściu ze słowa kodowego 011 ... l na słowo 100 ... 0 w pewnej chwili włączone mogą być wszystkie przełączniki (gdy czas włączania jest krótszy od czasu wyłączania) lub też wyłączone mogą być wszystkie przełączniki (gdy czas włączania jest dłuższy od czasu wyłączania). Powoduje to powstanie na wyjściu przetwornika zakłóceń o kształcie pokazanym na rys. 2.7. Wielkość zakłóceń przy przełączaniu Rys. 2.7. Zakłócenia przy przełączaniu przetwornika można zmniejszyć przez stosowanie przełączników symetrycznych, dla których czas włączania jest taki sam jak czas wyłączania, oraz przez minimalizację czasu przełączania. Miarą zakłóceń przy przełączaniu może być ładunek zakłócenia dla przetworników z wyjściem prądowym. Typowa wartość tego ładunku wynosi 5÷20 pC, co oznacza, że jeśli czas trwania zakłócenia wynosi 50 ns, to jego amplituda wynosi 0,14÷0,4 mA. Inną miarą zakłóceń może być całkowita powierzchnia zakłócenia liczona w pikowoltosekundach. Miara ta może być stosowana zarówno do przetworników z wyjściem napięciowym jak i prądowym przy danym obciążeniu, na ogół 50 Ω lub 75 Ω. Typowe wartości tego parametru dla szybkich przetworników wynoszą l÷100pVs. W każdej z tych miar zakłóceń od wielkości powierzchni zakłócenia dodatniego odejmuje się zakłócenie ujemne, jeśli zakłócenie jest dwukierunkowe. Możliwości eliminacji zakłóceń przy przełączaniu są na ogół ograniczone, gdyż nie mogą one być wyfiltrowane bez istotnego wydłużenia czasu ustalania przetwornika. Stosunkowo najprostsza metoda eliminacji tych zakłóceń polega na użyciu dostatecznie szybkiego układu próbkująco - pamiętającego za przetwornikiem. Układ taki powinien pamiętać poprzednią wartość przez czas trwania zakłóceń przy przełączaniu, a potem powinien śledzić wartość wyjściową przetwornika. Oczywiście, zastosowanie układu próbkująco - pamiętającego ma sens tylko wtedy, gdy on sam nie wprowadza zakłóceń w trakcie przejścia od stanu śledzenia do stanu pamiętania i odwrotnie. 2.3. Metody przetwarzania cyfrowo-analogowego Istnieje wiele metod przetwarzania równoległego wejściowego kodu dwójkowego na sygnał analogowy. Większość z nich da się zgrupować w następujące kategorie podstawowe: - przetworniki z ważonymi dwójkowo źródłami prądowymi; - przetworniki z drabinką oporową R-2R; Podział ten nie jest ściśle dychotomiczny, istnieją bowiem konstrukcje mieszane, w których korzysta się na przykład z ważonych dwójkowo źródeł prądowych uzyskiwanych za pomocą drabinki oporowej, ale dla wstępnego przedstawienia koncepcji przetworników taki podział jest dostateczny. 2.2.1. Przetworniki z ważonymi dwójkowo źródłami prądowymi 2.3.1.1. Zasada budowy. Koncepcyjnie najprostsze rozwiązanie przetwornika DA zawiera pewną liczbę ważonych dwójkowo źródeł prądowych i odpowiadającą im liczbę przełączników. Sygnał wyjściowy przetwornika uzyskuje się przez zsumowanie prądów kolejnych źródeł prądowych za pomocą przełączników sterowanych sygnałami cyfrowymi. Pozorna prostota tego rozwiązania okupiona została koniecznością użycia źródeł prądowych o bardzo dużej rozpiętości wartości prądów. Jeżeli prąd stopnia najbardziej znaczącego wynosi l mA, to prąd ostatniego 1 ≈ 0,488µA . Oznacza to dalej stopnia w 12-bitowym przetworniku wyniesie 2048 konieczność użycia rezystorów emiterowych źródeł prądowych o wartościach stopniowanych dwójkowo od R do 2048 R. Stosując wartość R=10 kΩ trzeba by było wyprodukować rezystory o wartości 10 kΩ÷20,48 MΩ, co jest niemożliwe do osiągnięcia zarówno w procesie czysto monolitycznym (rezystory dyfuzyjne), jak i w procesie hybrydowym (rezystory cienkowarstwowe). Ze względu na różne wartości prądów kolejnych stopni spadek napięcia emiter-baza kolejnych tranzystorów będzie różny, a zatem i wartości prądów byłyby różne przy zachowaniu dwójkowego stopniowania rezystorów. Dla uniknięcia tego zjawiska układ musi być tak zaprojektowany, aby gęstość prądu emitera kolejnych stopni przetwornika była stała. W tym celu należy tak dobrać powierzchnie emiterów kolejnych tranzystorów, aby 1 1 miały się one do siebie w stosunku 1, ,..., N −1 . Wtedy spadek napięcia emiter-baza tych 2 2 tranzystorów będzie stały, gdyż nie zależy on od wartości prądu emitera, ale od gęstości prądu emitera i nie będzie miał wpływu na wartość prądów źródeł. Dla konwertera 12-bitowego oznacza to jednak konieczność użycia tranzystorów o stosunku powierzchni emiterów 2048:l, co jest niemożliwe do uzyskania ze względów technologicznych (dokładność wykonania), jak i ze względu na zajmowaną powierzchnię. Z wymienionych powodów w monolitycznych konstrukcjach przetworników cyfrowo-analogowych rozwiązania z dwójkowo ważonymi źródłami prądowymi spotykane są dla grup nie więcej niż 4 bitów. Aby uzyskać przetworniki o większej liczbie bitów, grupy takie łączy się za pomocą międzystopniowych rezystancyjnych dzielników prądu. Scaloną konstrukcję przetwornika DA, opartego na omówionej zasadzie dwójkowo ważonych źródeł prądu, omówimy na przykładzie przetwornika AD 563 produkcji firmy Analog Devices. 2.3.2. Przetworniki z drabinką rezystancyjną R-2R Najprostszą postać drabinki rezystancyjnej R-2R przedstawiono na rys. 2.12. Drabinka rezysrancyjna R-2R może być uważana za dwójkowy dzielnik napięć włączanych do jej poszczególnych gałęzi. Cechą charakterystyczną drabinki rezystancyjnej R-2R jest to, że rezystancja każdej z trzech gałęzi dochodzących do jej węzłów Wl, W2, ...WN jest równa 2R. Tak więc prąd I wpływający do (węzła przez którąkolwiek z gałęzi zostaje podzielony na dwie równe części (1/2I), wypływające przez dwie pozostałe gałęzie. Prąd wpływający do którejkolwiek z gałęzi drabinki, wywołany przez dołączenie jej do źródła napięcia odniesienia UR, jest dzielony w kolejnych węzłach drabinki przez dwa i wobec tego położenie włączonego przełącznika w stosunku do węzła wyjściowego drabinki ma zasadnicze znaczenie dla wartości sygnału wyjściowego. Jeżeli źródło napięcia odniesienia włączone jest tylko w gałęzi najbardziej znaczącej, to jest najbliższej wyjścia drabinki to sygnał wyjściowy jest równy 1/3UR. eżeli źródło napięcia odniesienia włączone jest tylko na drugą z kolei gałąź, to wskutek podziału dwójkowego na wyjściu pojawi się sygnał równy 1/6UR. Drabinka rezystancyjną R-2R złożona z takiej sieci rezystorów i przełączników napięcia nie tylko wytwarza napięcia wyjściowe stopniowane dwójkowo, ale także sumuje je z odpowiednimi wagami, zależnie od pozycji i liczby włączonych przełączników, stanowi więc przetwornik cyfrowo-analogowy, w którym Rys. 2.12 Drabinka rezystancyjna R-2R wejściowe słowo kodowe służy do zmiany położenia przełączników. Rezystancja wyjściowa tej drabinki jest stała i wynosi 2/3R, a rezystancja obciążająca źródło napięcia odniesienia jest zmienna i zależy od przyłożonego słowa kodowego.