Przetwarzanie C/A - Politechnika Rzeszowska

advertisement
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.
Download