Przetwornik analogowo-cyfrowy

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
4-kanałowy stereofoniczny przetwornik analogowo-cyfrowy WM8775SEDS firmy Wolfson Microelectronics na karcie dźwiękowej X-Fi Fatal1ty Pro

Przetwornik analogowo-cyfrowy A/C (ang. A/D – analog to digital; ADC – analog to digital converter), to układ służący do zamiany sygnału analogowego (ciągłego) na reprezentację cyfrową (sygnał cyfrowy). Dzięki temu możliwe jest przetwarzanie ich w urządzeniach elektronicznych opartych o architekturę zero-jedynkową oraz gromadzenie na dostosowanych do tej architektury nośnikach danych. Proces ten polega na uproszczeniu sygnału analogowego do postaci skwantowanej (dyskretnej), czyli zastąpieniu wartości zmieniających się płynnie do wartości zmieniających się skokowo w odpowiedniej skali (dokładności) odwzorowania. Przetwarzanie A/C tworzą 3 etapy: próbkowanie, kwantyzacja i kodowanie. Działanie przeciwne do wyżej wymienionego wykonuje przetwornik cyfrowo-analogowy C/A.

Rozdzielczość przetworników[edytuj | edytuj kod]

Rozdzielczość przetwornika określa liczbę dyskretnych wartości jakie może on wytworzyć. Zwykle wyraża się ją w bitach. Przykładowo, przetwornik A/C, który potrafi przetworzyć próbkę sygnału na jedną z 256 wartości liczbowych posiada rozdzielczość równą 8 bitów, ponieważ 2^8 = 256.

Rozdzielczość może być również wyrażona w woltach. Rozdzielczość napięcia przetwornika A/C jest równa jego całkowitej skali pomiaru podzielonej przez liczbę poziomów kwantyzacji:

Przykład 1[edytuj | edytuj kod]

  • Pełna skala pomiaru = od 0 do 10 woltów
  • Rozdzielczość przetwornika jest równa 12 bitów, czyli 2^{12} = 4096 poziomów kwantyzacji
  • Rozdzielczość napięciowa wynosi: (10-0)/4096 = 0,00244 wolta = 2,44 mV.

Przykład 2[edytuj | edytuj kod]

  • Pełna skala pomiaru = od -10 do +10 woltów
  • Rozdzielczość przetwornika jest równa 14 bitów, czyli 2^{14} = 16384 poziomów kwantyzacji
  • Rozdzielczość napięciowa wynosi: (10-(-10))/16384 = 20/16384 = 0,00122 wolta = 1,22 mV

W praktyce, duży wpływ na rozdzielczość ma szum, a dokładniej stosunek sygnału do szumu.

Częstotliwość próbkowania[edytuj | edytuj kod]

Analogowy sygnał jest ciągły w czasie, więc konieczne jest przetworzenie go na ciąg liczb. To, jak często sygnał jest sprawdzany i zamieniany na liczbę zależną od jego poziomu, określane jest mianem częstotliwości próbkowania. Innymi słowy można powiedzieć, że częstotliwość próbkowania jest odwrotnością różnicy czasu pomiędzy dwiema kolejnymi próbkami.

Zwykle, nie jest możliwe odtworzenie dokładnie takiego samego sygnału na podstawie wartości liczbowych, ponieważ dokładność jest ograniczona przez błąd kwantyzacji. Jednak wiarygodne odwzorowanie sygnału jest możliwe do osiągnięcia, gdy częstotliwość próbkowania jest większa niż podwojona, najwyższa składowa częstotliwość sygnału (twierdzenie Nyquista-Shannona).

Rodzaje przetworników A/C i zasady działania[edytuj | edytuj kod]

Ze względu na metodę działania wyróżnia się trzy podstawowe metody pracy:

  • metoda bezpośrednia
  • metoda pośrednia
  • metoda kompensacyjna

Dowolny rodzaj przetworników stosuje jedną z powyższych metod.

Przykładem przetwarzania analogowo-cyfrowego jest wczytanie obrazu przez skaner do postaci bitmapy, gdzie powierzchnia obrazu zostaje podzielona na odpowiednią ilość jednolitych wewnętrznie pikseli, a różnice barw pomiędzy pikselami są ujęte w postaci skokowo zmieniających się wartości w określonej w urządzeniu rozdzielczości kwantowania. Podobnie wygląda kwantyzacja dźwięku, polegająca na zapisaniu zmian w czasie w postaci wartości zmieniających się skokowo, oraz skokowym przedstawieniu obwiedni widma.

Przetwornik o przetwarzaniu bezpośrednim[edytuj | edytuj kod]

Przetwornik o przetwarzaniu bezpośrednim (nazywany także Flash) działa na zasadzie bezpośredniego i zazwyczaj jednoczesnego porównania wartości napięcia wejściowego z szeregiem napięć odniesienia reprezentujących poszczególne poziomy kwantowania za pomocą szeregu komparatorów analogowych. Rezultat tego porównania wprowadzany jest na specjalny enkoder który wyprowadza wartość cyfrową sygnału wejściowego w stosownej formie binarnej. Podstawową zaletą takich przetworników jest szybkość działania (czas przetworzenia) na którą składają się wyłącznie dwa czynniki: opóźnienie na komparatorze analogowym oraz opóźnienie na enkoderze cyfrowym. Uzyskiwane szybkości przetwarzania są nawet od kilku razy do kilku rzędów wielkości większe od pozostałych typów przetworników A/C. Niestety ogromna szybkość okupiona jest relatywnie małą rozdzielczością oraz dokładnością. Zwiększenie rozdzielczości o kolejny bit wymaga podwojenia ilości elementów i zwiększenia precyzyjności napięć odniesienia uzyskiwanych zazwyczaj z dzielnika rezystorowego wysokostabilnego napięcia odniesienia wewnętrznego lub zewnętrznego. Dodatkowo zwiększanie ilości komparatorów czyli poziomów kwantowania lub inaczej rozdzielczości bitowej przetwornika, powoduje zwiększenie jego pojemności wejściowej a co za tym idzie ograniczenia pasma wejściowego sygnału co niekorzystnie wpływa na jego parametry funkcjonalne. Przetworniki tego typu stosowane są wszędzie tam gdzie wymagana jest bardzo duża częstotliwość próbkowania i jednocześnie nie jest wymagana bardzo duża dokładność przetwarzania (najczęściej nie większa niż 8- lub 9-bitowa).

Przetwornik z próbkowaniem analogowym[edytuj | edytuj kod]

Działa na zasadzie zliczania impulsów z generatora wzorcowego o dużej częstotliwości (względem czasu pomiaru) w czasie proporcjonalnym do napięcia wejściowego. Czas zliczania impulsów jest szerokością impulsu bramkującego generowanego przez układ sterujący na podstawie porównania napięcia wejściowego z liniowo narastającym napięciem odniesienia przez komparator analogowy. Parametry tego typu przetwornika bardzo mocno zależą od jakości (dokładności) generowania napięcia odniesienia (jest to przebieg piłokształtny) jego liniowości oraz powtarzalności szybkości narastania a także od stabilności generatora wzorcowego. Szybkość przetwarzania czyli częstotliwość próbkowania w tego typu przetwornikach równa jest częstotliwości przebiegu z generatora napięcia odniesienia. Uzyskiwane rozdzielczości zależą od szerokości bitowej licznika i częstotliwości generatora wzorcowego. Ze względu na to iż stosunkowo łatwo jest zaprojektować i wytworzyć cyfrowe liczniki binarne o znacznych szerokościach słowa oraz generatory wzorcowe o dobrych parametrach, można w ten sposób uzyskać bardzo dobrą rozdzielczość przetwornika ograniczoną wyłącznie parametrem stosunku sygnału do szumu (SNR) części analogowej.

Przetwornik z sukcesywną aproksymacją[edytuj | edytuj kod]

Przetwornik z sukcesywną aproksymacją (próbkowaniem bitowym) działa na zasadzie porównywania wartości napięcia wejściowego z napięciem odniesienia wytworzonym za pomocą przetwornika cyfrowo-analogowego w iteracyjnym procesie obsługiwanym przez układ sterujący. Algorytm działania układu sterującego polega na ustawianiu (wartość "1") kolejnych bitów słowa danych dla przetwornika C/A poczynając od najważniejszego bitu słowa (MSB) i w przypadku kiedy napięcie wejściowe będzie mniejsze od napięcia odniesienia z przetwornika C/A to dany bit słowa danych jest kasowany (wartość "0") w przeciwnym wypadku jest pozostawiany (wartość "1") i realizowana jest kolejna iteracja algorytmu aż do osiągnięcia ostatniego bitu słowa danych (LSB). Tak ustawione słowo danych jest reprezentacją cyfrową napięcia wejściowego. Ze względu na iteracyjny charakter pracy przetwornika jego częstotliwość próbkowania jest znacząco mniejsza od uzyskiwanej w przetwornikach o przetwarzaniu bezpośrednim i w znacznym stopniu zależy od wielkości słowa danych – rozdzielczości przetwornika, szybkości pracy przetwornika C/A i w końcu komparatora i układu sterującego. Ta metoda przetwarzania A/C wykorzystywana jest we współczesnej telekomunikacji. Wraz z układami kompresji i ekspansji (kompandacji) tworzy kodeki PCM pracujące zgodnie ze standardem G.711.

Przetwornik podwójnie całkujący[edytuj | edytuj kod]

Metoda podwójnego całkowania jest jednym z najdokładniejszych sposobów na przetwarzanie sygnału analogowego na cyfrowy. Przetwornik podwójnie całkujący zamienia wartość średnią napięcia mierzonego na czas tX. W pierwszym cyklu całkowania do integratora doprowadzone jest napięcie mierzone UX. Całkowanie tego napięcia trwa zawsze tyle samo, czyli najczęściej 20 ms. W drugiej fazie całkowania do wejścia integratora dołączone jest napięcie wzorcowe o biegunowości przeciwnej do napięcia UX. Licznik cały czas zlicza impulsy z generatora zegarowego. Pojemność licznika jest tak dobrana, że maksymalną liczbę impulsów zlicza w ciągu 20 ms. Kiedy napięcie wejściowe z integratora osiągnie wartość zero przerzutnik RS zmienia stan na przeciwny. Blokuje bramkę i kończy się zliczanie impulsów.

Przetworniki o architekturze potokowej[edytuj | edytuj kod]

Przetworniki o architekturze potokowej nie są tak naprawdę oddzielnym typem przetworników A/C i w swoim działaniu wykorzystują wcześniej opisane rodzaje przetworników. W swoim działaniu opierają się na potokowym przetwarzaniu danych.

Parametry przetwornika A/C[edytuj | edytuj kod]

Najważniejszymi właściwościami przetworników A/C są parametry określające ich dokładność i szybkość przetwarzania. Dokładność przetwarzania jest ograniczona przez błędy powstające w procesie przetwarzania, które można ogólnie podzielić na błędy cyfrowe i analogowe, co wynika z charakteru samego przetwornika, mającego cechy zarówno układu analogowego, jak i cyfrowego. Do parametrów określających błąd analogowy należą:

  1. Nieliniowość całkowa (ang. integral nonlinearity) jest określana jako maksymalna (spośród wszystkich kanałów) różnica (∆UI)max napięcia wejściowego pomiędzy rzeczywistą charakterystyką przetwarzania N = f(UI) a charakterystyką idealną, odniesiona do maksymalnej wartości napięcia przetwarzania Umax, wyrażona w procentach. Charakterystykę idealną wyznacza się jako prostą łączącą skrajne punkty zakresu przetwarzania, charakterystykę rzeczywistą natomiast jako linię łączącą środki przedziałów napięcia UI, odpowiadających kolejnym wartościom cyfrowym na wyjściu przetwornika.
    \varepsilon_{r}=\pm\frac{\left(\Delta UI\right){}_{max}}{U_{max}}\times100\%

  2. Nieliniowość różniczkowa (ang. differential nonlinearity) 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. Określa więc błąd jednorodności szerokości kanałów przetwornika. Nieliniowość różniczkowa jest podawana w procentach jako maksymalna różnica pomiędzy szerokością kanału rzeczywistego Ur a szerokością kanału nominalnego Un, odniesiona do szerokości nominalnej Un. 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ę.
    \varepsilon_{d}=\pm\frac{\left|U_{r}-U_{n}\right|_{max}}{U_{n}}\times100\%

  3. 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.
  4. Współczynnik zmian cieplnych napięcia przesunięcia zera wyrażany w μV/°C lub w %/°C (w odniesieniu do pełnego zakresu przetwarzania).
  5. Błąd kwantyzacji (zwany również szumem kwantyzacji) zniekształca ciągły sygnał analogowy, zaokrąglając jego wartości do najbliższych, odpowiadających mu wartości dyskretnych, wskutek czego nie można odróżnić dwóch różnych próbek o zbliżonych do siebie wartościach. Zwiększenie rozdzielczości przetwornika zmniejsza błąd kwantyzacji.
  6. Błąd skalowania (błąd wzmocnienia) wynika ze zmiany nachylenia charakterystyki przetwarzania N = f(UI) w stosunku do charakterystyki idealnej i jest określony przez odchylenie rzeczywistej wartości napięcia UI, odpowiadającej maksymalnej wartości słowa wyjściowego, od wartości idealnej.
  7. 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).

Błędy analogowe przetwornika A/C są również wywołane przez wpływ zmian napięcia zasilania, wpływ długoczasowych zmian wartości elementów itd. Te wpływy są jednak w nowoczesnych przetwornikach pomijalnie małe.

Błąd cyfrowy przetwornika A/C jest uwarunkowany liczbą bitów słowa wyjściowego. Błąd cyfrowy, czyli zdolność rozdzielcza przetwornika, stanowi granicę jego dokładności wynikającą z samej istoty procesu dyskretyzacji (kwantowania) napięcia wejściowego przy przetwarzaniu go na wielkość cyfrową. W prawidłowo zaprojektowanym przetworniku długość słowa wyjściowego jest tak dobrana, że wartość błędu analogowego jest mniejsza od błędu cyfrowego. Zwiększanie długości słowa ponad granicę wynikającą z wielkości błędu analogowego nie ma sensu, gdyż nie poprawia już dokładności przetwarzania. Tak więc, przy prawidłowo wyznaczonych parametrach przetwornika, wartość katalogowej rozdzielczości powinna określać jego dokładność. Inne błędy nie powinny przekraczać wartości odpowiadającej najmniej znaczącemu bitowi (LSB).

Oprócz najważniejszych wymienionych parametrów przetwornika A/C związanych z jego dokładnością i szybkością definiuje się też inne właściwości o charakterze eksploatacyjnym, jak np.:

  • maksymalny zakres i polaryzacja napięcia wejściowego,
  • impedancja wejściowa,
  • rodzaj kodu słowa wyjściowego,
  • obciążalność wyjść,
  • rodzaj zasilania.

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]