Struktury specjalizowane wykorzystywane w mikrokontrolerach Przetworniki analogowo-cyfrowe i cyfrowoanalogowe Interfejsy komunikacyjne Zegary czasu rzeczywistego Układy nadzorujące Układy generacji sygnałów sterujących
Przetworniki A/C Napięcie analogowe, poprzez układ kondycjonowania sygnału, jest dostarczane do układu przetwornika Wartość analogowa jest kwantyzowana do odpowiadającego jej kodu cyfrowego Otrzymany kod może być dalej przetwarzany przez mikrokontroler
Zastosowanie układów A/C Czujniki Parametry elektryczne sieci zasilających i komunikacyjnych Sterowanie (interfejs operatora) Sygnały i obrazy (dźwięk, video)
Parametry przetworników Rozdzielczość przetwornika, R: Najmniejsza wartość napięcia analogowego, którą można przetworzyć na kod cyfrowy; Najmniej znaczący bit (LSB The Least Significant Bit): Wyznacza tylko długość słowa wyjściowego Nie świadczy o wydajności R = Typowe wartości: 8 (coraz rzadziej), 10 (standard małych mikrokontrolerów), 12, 14, 16, 20, 24 bity 2 1 n
Parametry przetworników Szybkość działania czas wykonywania pojedynczej konwersji częstotliwość przetwarzania szybkość bitową liczba bitów wyniku przetwarzania, uzyskanych w jednostce czasu (bitów/s) Dokładność: Stopień dopasowania kodu cyfrowego reprezentującego wartość analogową do jej rzeczywistej wartości; nieliniowość różniczkowa; nieliniowość całkowa; błąd przesunięcia zera błąd wzmocnienia (błąd skalowania)
Parametry przetworników Nieliniowość różniczkowa (DNL Differential Nonlinearity): określa się ją przez wyznaczenie różnic między sąsiednimi wartościami napięcia wejściowego, powodującymi zmianę słowa wyjściowego o wartość najmniej znaczącego bitu. Nieliniowość różniczkowa jest podawana w procentach jako maksymalne względne odchylenie tej różnicy od jej wartości średniej w całym zakresie przetwarzania. odległość między kolejnymi kodami cyfrowymi DNL < ±1LSB daje pewność, że żaden kod nie będzie pominięty jeśli ten błąd nie występuje, przy zmianie napięcia wejściowego w całym jego zakresie wystąpią wszystkie kody cyfrowe
Parametry przetworników Nieliniowość całkowa (INL Integral Nonlinearity): Całka z błędów DNL Określa różnicę między wynikiem konwersji a wartością idealnej charakterystyki przetwarzania Maksymalne względne odchylenie rzeczywistej charakterystyki przetwarzania N = f(ui) od charakterystyki idealnej, będącej prostą łączącą skrajne punkty zakresu przetwarzania. Charakterystykę rzeczywistą wyznacza się jako linię łączącą środki przedziałów napięcia UI, odpowiadających kolejnym wartościom cyfrowym na wyjściu przetwornika
Parametry przetworników Błąd przesunięcia zera (offset): wartość napięcia wejściowego potrzebna do przejścia od zerowej wartości słowa wyjściowego do następnej większej wartości mierzony jako przesunięcie w stosunku do charakterystyki idealnej nie zmniejsza ilości dostępnych kodów cyfrowych możliwa jest całkowita kompensacja tego błędu w większości nowoczesnych przetworników.
Parametry przetworników Błąd wzmocnienia/skalowania (gain error): odchylenie rzeczywistej wartości napięcia UI, odpowiadającej maksymalnej wartości słowa wyjściowego, od wartości idealnej mierzony przy ostatniej zmianie kodu cyfrowego na skali wynika ze zmiany nachylenia charakterystyki przetwarzania N f(ui) w stosunku do charakterystyki idealnej
Błędy przetworników
Żądane parametry przetwarzania Źródło: Texas Instruments
Rodzaje przetworników A/C Układy z porównywaniem bezpośrednim (Flash) Układy całkujące Układy z kompensacją wagową, układy stopniowych przybliżeń (SAR) Układy z przełączanymi pojemnościami Układy Sigma-Delta
Przetworniki z porównywaniem bezpośrednim Bardzo szybkie (czas przetwarzania 10-20ns) Skomplikowane, nieopłacalne w dużych rozdzielczościach
Przetworniki potokowe Wyjście każdego komparatora określa jeden bit Wynik uzyskuje się po n cyklach roboczych Możliwość pracy potokowej
Przetworniki z pojedynczym całkowaniem Licznik zlicza impulsy o znanej częstotliwości Większa częstotliwość impulsów zwiększa dokładność przetwornika Możliwy do zaimplementowania przy użyciu mikrokontrolera, rezystora i kondensatora
Przetworniki z pojedynczym całkowaniem Dokładność pomiaru zależy od tolerancji elementów pasywnych (rezystorów, pojemności). Zmienność parametrów tych elementów skutkuje słabą powtarzalnością pomiarów
Przetworniki z podwójnym całkowaniem Ominięcie problemu zmienności parametrów elementów pasywnych.
Przetworniki z podwójnym całkowaniem Dokładność pomiaru zależy od częstotliwości impulsów taktujących licznik oraz czasu t int
Metoda kolejnych przybliżeń
Przetwornik SAR
Działanie przetwornika Porównywanie napięcia przetwarzanego Ui z napięciem odniesienia Ur wytwarzanym w przetworniku c-a W przypadku przetwornika n- bitowego pełny cykl przetwarzania obejmuje n porównań. Możliwość budowania przetworników wielobitowych o dużej szybkości przetwarzania; czas przetwarzania jest równy nt, gdzie T jest czasem jednego cyklu porównania. Można uzyskać wartość T rzędu 100ns
Przetwornik Sigma-Delta
Działanie przetwornika Analogowy sygnał wejściowy w postaci prądu I I jest całkowany na kondensatorze C. Do kondensatora jest ponadto podłączony jeden z prądów odniesienia I: ładujący lub rozładowujący (jednobitowy przetwornik C/A). Suma prądów ustala napięcie U C na kondensatorze. Jest ono monitorowane przez komparator, który steruje przerzutnikiem bistabilnym PB. Przerzutnik przełączany impulsami zegarowymi systemu f C tworzy 1-bitowy wyjściowy sygnał cyfrowy sterujący przełącznikiem S przełączającym prądy I do kondensatora C. Jeżeli I I =0, a przełącznik S znajduje się w pozycji górnej, kondensator jest ładowany prądem I. Napięcie U C rośnie liniowo aż do momentu, w którym jest ono większe od zera i następuje takt zegara f C. Wtedy PB zmienia stan przełączając w dół przełącznik S. W wyniku tego kondensator zostaje rozładowywany prądem I aż do następnego taktu zegara. W takiej sytuacji na kondensatorze jest wytwarzany przebieg trójkątny o częstotliwości równej połowie f C, a średnia wartość napięcia na nim jest równa zeru. Na wyjściu cyfrowym pojawiają się na przemian zera i jedynki również z połową częstotliwości próbkowania.
Działanie przetwornika Jeśli I I 0, to zmienia się suma prądów wpływających do kondensatora. Jeśli sygnał wejściowy będzie miał wartość ujemną, to ładowanie prądem I będzie przebiegało wolniej niż w poprzednim przypadku. Dlatego kondensator może nie zostać naładowany do wartości większej od zera w czasie jednego okresu zegara. Nie nastąpi wtedy przełączenie przerzutnika a zatem zostanie na wyjściu drugi z kolei symbol 0. W ten sposób zmienia się wzór zerojedynkowy na wyjściu przetwornika. Osiąga on swą średnią wartość równą wartości prądu podanego na wejście przetwornika. Sygnał wyjściowy z przerzutnika PB oznaczony jako "dane 1" jest podawany do dolnoprzepustowego filtru decymacyjnego, a następnie do licznika, na bazie którego formowany jest kod cyfrowy.
Działanie przetwornika
Przykład implementacji
Porównanie różnych rodzajów przetworników
Moduł przetwornika w mikrokontrolerach ATMega32
Przetwornik z przełączanymi pojemnościami
Działanie przetwornika 1. Kondensatory są rozładowywane do napięcia offsetu komparatora. 2. Napięcie wejściowe V s jest próbkowane, a kondensatory są ładowane do jego wartości. 3. Kondensatory przełączane są między masę a wejście komparatora. 4. Kondensator o najwyższej pojemności podłączany jest do VREF. Napięcie między wejściami komparatora wynosi V REF /2 V S. 5. Jeśli V REF /2 <V S komparator wystawia logiczną 1 (MSB) i kondensator pozostaje podłączony do V REF. W przeciwnym razie kondensator przełączony zostaje do masy. 6. Kroki 4-5 powtarza się dla kolejnych kondensatorów, otrzymując wartości kolejnych bitów.