Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Autor artykułu: mgr Jerzy Wałaszek
Konsultacje: Wojciech Grodowski, mgr inż. Janusz Wałaszek

©2022 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Mikrokontrolery

ATtiny15

Przetwornik analogowo/cyfrowy

obrazek

Educational and Non-Profit Use of Copyrighted Material:

If you use Microchip copyrighted material solely for educational (non-profit) purposes falling under the “fair use” exception of the U.S. Copyright Act of 1976 then you do not need Microchip’s written permission. For example, Microchip’s permission is not required when using copyrighted material in: (1) an academic report, thesis, or dissertation; (2) classroom handouts or textbook; or (3) a presentation or article that is solely educational in nature (e.g., technical article published in a magazine).

https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines

SPIS TREŚCI
Podrozdziały

obrazek

Własności

Mikrokontroler ATtiny15L posiada wbudowany przetwornik analogowo/cyfrowy o następujących własnościach:

Mikrokontroler ATtiny15L posiada 10-bitowy kompensacyjny przetwornik analogowo/cyfrowy, który jest połączony z 4-kanałowym multiplekserem analogowym, który umożliwia przetwornikowi pomiar jednego napięcia różnicowego oraz czterech nie-różnicowych napięć pobranych z końcówek portu B.

obrazek

Wejście różnicowe (PB3, PB4) jest wyposażone w programowalny stopień wzmacniający 26 dB (20 razy) różnicowe napięcie wejściowe przed przetworzeniem w przetworniku A/C. Wejściowe napięcia nie-różnicowe na końcówkach PB2...PB5 są względem  0V (GND).

Przetwornik zawiera wzmacniacz z próbkowaniem i podtrzymaniem próbki w celu zapewnienia, iż napięcie wejściowe dla przetwornika jest stałe podczas przetwarzania. Poniżej przedstawiono schemat blokowy przetwornika A/C.

Udostępnione jest wewnętrzne napięcie odniesienia o wartości nominalnej 2,56V, które może być zewnętrznie odsprzężane na końcówce AREF (PB0) za pomocą kondensatora w celu lepszego uodpornienia go na zakłócenia. Alternatywnie można używać napięcia zasilającego VCC jako napięcia odniesienia dla kanałów nie-różnicowych. Istnieje również opcja użycia zewnętrznego napięcia odniesienia z wyłączeniem wewnętrznego napięcia odniesienia. Opcje te są wybierane bitami REFS1...0 w rejestrze sterującym multiplekserem analogowym ADMUX.

obrazek

Na początek:  podrozdziału   strony 

Działanie

Przetwornik analogowo/cyfrowy zamienia analogowe napięcie wejściowe w 10-bitową wartość cyfrową poprzez kolejne przybliżenia. Wartość minimalna reprezentuje GND, a wartość maksymalna reprezentuje wybrane napięcie odniesienia minus 1 LSB (najmniej znaczący bit).

Napięcie odniesienia dla przetwornika A/C może zostać wybrane przez zapis do bitów REFS1...0 w rejestrze ADMUX, jako VCC, końcówka AREF (PB0) lub wewnętrzne napięcie odniesienia 2,56V. Opcjonalnie wewnętrzne napięcie odniesienia 2,56V może zostać odsprzężone za pomocą zewnętrznego kondensatora na końcówce AREF w celu zwiększenia odporności na zakłócenia.

Wejście analogowego i wzmocnienie różnicowe są wybierane przez zapis do bitów MUX2..0 w rejestrze ADMUX. Jako pojedyncze wejścia analogowe dla przetwornika A/C można wybrać dowolną z czterech końcówek ADC3...0. Końcówki ADC2 i ADC3 mogą zostać wybrane odpowiednio jako wejście nieodwracające i odwracające dla wzmacniacza różnicowego.

Jeśli zostaną wybrane kanały różnicowe, to różnicowy stopień wzmacnia różnicę napięć pomiędzy wybraną parą wejść przez wybrany współczynnik  1 lub 20 razy zgodnie z ustawieniami bitów MUX2...0 w rejestrze ADMUX. Ta wzmocniona wartość staje się następnie wejściem analogowym dla przetwornika A/C. Dla kanałów nie-różnicowych stopień wzmacniający jest całkowicie omijany.

Jeśli wejście ADC2 zostanie wybrane jednocześnie jako wejście nieodwracające i odwracające dla wzmacniacza różnicowego (ADC2 - ADC2), to pozostałe niezrównoważenie w stopniu wzmacniającym oraz w obwodzie przetwornika może być bezpośrednio mierzone jako wynik przetwarzania. Otrzymany rezultat można odejmować od wyników dalszych przetwarzań z tymi samymi ustawieniami wzmocnienia w celu zmniejszenia błędu niezrównoważenia poniżej 1 LSB.

Przetwornik A/C może pracować w dwóch trybach – w trybie przetwarzania pojedynczego (ang. single conversion mode) oraz w trybie przetwarzania ciągłego (ang. free running mode). W trybie przetwarzania pojedynczego każde przetwarzanie będzie musiało zostać zainicjowane przez użytkownika. W trybie ciągłym występuje ciągłe próbkowanie i uaktualnianie rejestru danych przetwornika A/C. Bit ADFR w rejestrze ADCSR dokonuje wyboru pomiędzy tymi dwoma dostępnymi trybami pracy.

Przetwornik jest uaktywniany przez ustawienie bitu włączania przetwornika A/C (ang. ADC Enable bit, ADEN) w rejestrze ADCSR. Wybór napięć odniesienia oraz kanałów wejściowych nie będzie działał, dopóki nie zostanie ustawiony bit ADEN. Gdy bit ADEN jest wyzerowany, przetwornik nie pobiera prądu, zatem zaleca się wyłączenie przetwornika A/C przed wejściem w tryby uśpienia oszczędzające energię.

Przetwarzanie jest uruchamiane przez zapis logicznej jedynki do bitu rozpoczynania przetwarzania w przetworniku A/C (ang. ADC Start Conversion bit, ADSC). Bit ten pozostaje w stanie 1 aż do momentu zakończenia przetwarzania, gdy jest on sprzętowo zerowany. Jeśli podczas wykonywania przetwarzania zostanie wybrany inny kanał danych, przetwornik A/C dokończy bieżącego przetwarzania przed wykonaniem zmiany kanału.

Przetwornik tworzy 10-bitowy wynik, który zostaje umieszczony w rejestrach danych przetwornika A/C (ang. ADC Data Registers, ADCH i ADCL). Standardowo wynik jest wyrównany bitowo do prawej strony (ADCL zawiera 8 dolnych bitów wyniku, ADCH zawiera 2 górne bity wyniku), lecz opcjonalnie wynik może być wyrównywany bitowo do lewej strony (ADCH zawiera 8 górnych bitów wyniku, ADCL zawiera 2 dolne bity wyniku przesunięte o 6 pozycji w lewo) przez ustawienie bitu ADLAR w rejestrze ADMUX. Jeśli wynik jest wyrównany na lewo i nie jest potrzebna dokładność większa niż 8 bitów, wystarczy odczytywać rejestr górnego bajtu wyniku ADCH. W przeciwnym razie należy najpierw odczytać rejestr ADCL, a następnie ADCH, aby mieć pewność, iż zawarość obu tych rejestrów jest wynikiem tego samego przetwarzania. Po odczycie ADCL dostęp przetwornika do rejestrów danych jest blokowany. Oznacza to, że jeśli został odczytany rejestr ADCL, a przetwarzanie kończy się przed odczytem ADCH, to żaden z tych rejestrów nie zostanie uaktualniony i wynik przetwarzania zostaje utracony. Gdy zostaje odczytany rejestr ADCH, przetwornik uzyskuje ponownie dostęp do rejestrów danych.
Przetwornik A/C posiada swoje własne przerwanie, które może być wyzwalane w momencie zakończenia przetwarzania. Gdy dostęp przetwornika do rejestrów danych jest zablokowany pomiędzy odczytem ADCL a ADCH, przerwanie zostanie wyzwolone nawet wtedy, gdy wynik przetwarzania będzie utracony.

Na początek:  podrozdziału   strony 

Preskalowanie i czasy przetwarzania

obrazek

Obwód dokonujący kolejnych przybliżeń wymaga częstotliwości zegara wejściowego pomiędzy 50 kHz a 200 kHz. Większa częstotliwość zmniejsza dokładność przetwarzania. Moduł przetwornika A/C zawiera preskaler, który dzieli częstotliwość zegara systemowego, aby otrzymać na wyjściu częstotliwość zegarową akceptowalną dla przetwornika A/C. Bity ADPSn w rejestrze ADCSR asą wykorzystywane przy generacji właściwej częstotliwości zegara wejściowego dla przetwornika A/C z częstotliwości CK ponad 100 kHz. Preskaler rozpoczyna zliczanie od momentu włączenia przetwornika A/C przez ustawienie bitu ADEN w ADCSR. Preskaler działa tak długo, jak bit ten jest ustawiony na 1 i jest ciągle resetowany , gdy bit ADEN ma stan niski 0.

Przy inicjowaniu przetwarzania przez ustawienie bitu ADSC w  ADCSR przetwarzanie rozpoczyna się od następnego zbocza narastającego cyklu zegara przetwornika A/C. Jeśli wybrane są kanały różnicowe, to przetwarzanie rozpocznie się dopiero od drugiego narastającego zbocza cyklu zegarowego przetwornika A/C po ustawieniu bitu ADEN.

Zwykłe przetwarzanie zajmuje 13 cykli zegarowych przetwornika A/C. W pewnych sytuacjach przetwornik A/C potrzebuje więcej cykli, aby dokonać inicjalizacji i zminimalizować błędy niezrównoważenia. Takie wydłużone czasowo przetwarzanie zajmuje 25 cykli zegarowych przetwornika A/C i występuje jako pierwsze przetwarzanie po jednym z następujących zdarzeń:

Próbkowanie z podtrzymaniem ma miejsce 1,5 cyklu zegarowego przetwornika A/C po rozpoczęciu normalnego przetwarzania i 13,5 cyklu zegarowego przetwornika A/C po rozpoczęciu przetwarzania wydłużonego czasowo. Gdy przetwarzanie się zakończy, wynik zostanie wpisany do rejestrów danych przetwornika A/C, a bit ADIF będzie ustawiony. W trybie przetwarzania pojedynczego bit ADSC jest zerowany równocześnie z ustawieniem ADIF. Oprogramowanie może następnie ustawić bit ADSC ponownie, a wtedy nowe przetwarzanie rozpocznie się przy pierwszym narastającym zboczu zegarowym przetwornika A/C. W trybie pracy ciągłej nowe przetwarzanie rozpocznie się natychmiast po zakończeniu bieżącego, a bit ADSC pozostanie w stanie wysokim 1.

Użycie trybu ciągłego i częstotliwości zegarowej przetwornika A/C 200 kHz daje najkrótszy czas konwersji równy 65 mikrosekund, czyli 15 kSPS.

Wykres czasowy przetwornika A/C, pierwsze przetwarzanie (tryb pojedynczego przetwarzania)
obrazek

Wykres czasowy przetwornika A/C, jedno przetwarzanie
obrazek

Wykres czasowy przetwornika A/C, przetwarzanie w trybie ciągłym
obrazek

Czasy przetwarzania w przetworniku A/C

Warunek Próbkowanie z podtrzymaniem
od startu przetwarzania
Czas przetwarzania
(cykle)
Czas przetwarzania
(mikrosekundy)
Przetwarzanie wydłużone czasowo 13,5 25 125 ... 500
Normalne przetwarzania 1,5 13 65 ... 260
Na początek:  podrozdziału   strony 

Funkcja zmniejszania szumów

Przetwornik A/C posiada opcję zmniejszania szumów, która umożliwia przetwarzanie w trybie zmniejszania szumów dla przetwornika A/C (ang. ADC Noise Reduction mode) (zobacz do opisu bitów rejestru MCUCR) w celu usunięcia szumów indukowanych przez rdzeń mikroprocesora oraz inne moduły we/wy. Jeśli podczas przetwarzania muszą być aktywne inne moduły we/wy, to tryb ten pracuje tak samo jak tryb bezczynny. Aby skorzystać z tej funkcji, powinieneś zastosować poniższą procedurę:
  1. Upewnij się, że przetwornik A/C został włączony i nie jest zajęty przetwarzaniem. Należy wybrać tryb przetwarzania pojedynczego (ang. Single Conversion mode) oraz włączyć przerwania od zakończenia przetwarzania w przetworniku A/C.
    ADEN = 1
    ADSC = 0
    ADFR = 0
    ADIE = 1
  2. Wejdź w tryb zmniejszania szumów dla przetwornika A/C (lub w tryb bezczynny). Przetwornik A/C rozpocznie przetwarzanie po zatrzymaniu mikroprocesora.
  3. Jeśli przed końcem przetwarzania nie wystąpi żadne inne przerwanie, to przerwanie z przetwornika A/C wybudzi mikrokontroler ze stanu uśpienia i spowoduje wykonanie procedury obsługi tego przerwania.
Układy cyfrowe wewnątrz i na zewnątrz mikrokontrolera generują interferencje elektromagnetyczne, które mogą wpłynąć na dokładność pomiarów analogowych. Gdy dokładność przetwarzania jest istotna, to poziom szumów można obniżyć przez zastosowanie poniższych sposobów:

Tam, gdzie wymagana jest wysoka dokładność przetwornika A/C, zaleca się stosowanie trybu zmniejszania szumu. Dobrze zaprojektowany system z właściwie rozmieszczonymi, zewnętrznymi kondensatorami bocznikowymi zmniejsza potrzebę stosowania trybu zmniejszania szumu dla przetwornika A/C.

Na początek:  podrozdziału   strony 

Opis rejestrów

ADMUX – The ADC Multiplexer Selection Register – Rejestr wyboru kanału multipleksera przetwornika A/C

Bit 7 6 5 4 3 2 1 0  
0x07 REFS1 REFS0 ADLAR - - MUX2 MUX1 MUX0 ADMUX
Zapis/Odczyt Z/O Z/O Z/O O O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bity 7:6 – REFS1:0: Reference Selection Bits – Bity wyboru napięcia odniesienia

Bity te wybierają napięcie odniesienia dla przetwornika A/C wg poniższej tabeli. Jeśli zostaną one zmienione podczas przetwarzania, to zmiana ta nie wejdzie w życie aż do zakończenia przetwarzania bit (ADIF w ADCSR jest ustawiony). Zawsze po zmianie tych bitów następne przetwarzanie zabierze 25 cykli zegara przetwornika A/C. Jeśli są używane kanały różnicowe, to stosowanie jako napięcia odniesienia napięcia VCC lub zewnętrznego napięcia odniesienia o wartości wyższej niż VCC - 1V nie jest zalecane, ponieważ wpłynie to na dokładność przetwornika A/C. Opcje wewnętrznych napięć odniesienia nie mogą być stosowane, jeśli zewnętrzne napięcie odniesienia zostało podpięte do końcówki AREF (PB0).

Wybór napięcia odniesienia dla przetwornika A/C

REFS1 REFS0 Wybrane napięcie odniesienia
0 0 VCC jako analogowe napięcie odniesienia, odłączone od końcówki AREF (PB0).
0 1 Zewnętrzne napięcie odniesienia na końcówce PB0 (AREF), wewnętrzne napięcie odniesienia wyłączone. 
1 0 Wewnętrzne napięcie odniesienia bez zewnętrznego kondensatora, odłączone od końcówki PB0.
1 1 Wewnętrzne napięcie odniesienia z zewnętrznym kondensatorem na końcówce PB0 (AREF).

Bit 5 – ADLAR: ADC Left Adjust Result – Wyrównywanie bitowe do lewej strony wyniku przetwornika A/C

Bit ADLAR wpływa na sposób prezentacji wyniku przetwarzania przetwornika A/C w rejestrze danych. Jeśli ADLAR jest wyzerowany, to wynik jest wyrównany bitowo do prawej strony. Jeśli ADLAR jest ustawiony, to wynik jest wyrównany do lewej strony. Zmiana stanu bitu ADLAR wpływa natychmiast na rejestr danych przetwornika A/C bez względu na trwające przetwarzanie. Zobacz na opis rejestrów danych ADCL i ADCH.

Bit 4:3 – Zarezerwowane

Te bity są zarezerwowane w ATtiny15L i przy odczycie zawsze dają wartość zero.

Bity 2:0 – MUX2:0: Analog Channel and Gain Selection Bits – Bity wyboru kanału analogowego oraz wzmocnienia

Wartość tych bitów określa, które z wejść analogowych zostanie połączone z przetwornikiem A/C. W przypadku wejścia różnicowego (PB3 - PB4) można również wybierać tymi bitami wzmocnienie. Wybór PB3 jako obu wejść dla stopnia wzmacniacza różnicowego umożliwia pomiary niezrównoważenia. Szczegóły przedstawia tabela poniżej. Jeśli bity te zostaną zmienione podczas przetwarzania, to zmiana ta nie wejdzie w życie aż do zakończenia przetwarzania ((ADIF w ADCSR jest ustawiony).

Wybór kanału wejściowego oraz wzmocnienia

MUX2:0 Wejście
pojedyncze
Różnicowe
wejście
nieodwracające
Różnicowe
wejście
odwracające
Wzmocnienie
000 ADC0 (PB5) N/A
001 ADC1 (PB2)
010 ADC2 (PB3)
011 ADC3 (PB4)
100(1) N/A ADC2 (PB3) ADC2 (PB3) razy 1
101(1) ADC2 (PB3) ADC2 (PB3) razy 20
110 ADC2 (PB3) ADC3 (PB4) razy 1
111 ADC2 (PB3) ADC3 (PB4) razy 20
Uwaga: 1. Tylko do kalibracji niezrównoważenia.

ADCSR – The ADC Control and Status Register – Rejestr sterowania i stanu przetwornika A/C

Bit 7 6 5 4 3 2 1 0  
0x06 ADEN ADSC ADFR ADIF ADIE ADPS2 ADPS1 ADPS0 ADCSR
Zapis/Odczyt Z/O Z/O Z/O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bit 7 – ADEN: ADC Enable – Włączenie przetwornika A/C

Zapisanie jedynki do tego bitu włącza moduł przetwornika A/C. Zapis zera powoduje wyłączenie przetwornika A/C. Wyłączenie przetwornika podczas wykonywania przetwarzania spowoduje jego przerwanie i zakończenie.

Bit 6 – ADSC: ADC Start Conversion – Rozpoczęcie przetwarzania w przetworniku A/C

W trybie pojedynczego przetwarzania (ang. Single Conversion mode), zapisuj ten bit logiczną jedynką, aby rozpocząć każde przetwarzanie. W trybie ciągłym (ang. Free Running mode) zapisz do tego bitu jedynkę, aby rozpocząć pierwsze przetwarzanie. Pierwsze przetwarzanie po włączeniu przetwornika zajmuje 25 cykli zegarowych przetwornika A/C zamiast standardowo 13. W trakcie tego pierwszego przetwarzania wykonywana jest inicjalizacja przetwornika A/C.

W trakcie przetwarzania bit ADSC będzie dawał odczyt 1. Gdy przetwarzanie się zakończy, wróci do stanu zero. Zapis zera do tego bitu nie daje żadnego efektu.

Bit 5 – ADFR: ADC Free Running Select – Wybór trybu przetwarzania ciągłego

Gdy zostanie ustawiony ten bit, przetwornik A/C będzie pracował w trybie ciągłym (ang. Free Running mode). W trybie tym przetwornik A/C w sposób ciągły próbkuje, przetwarza sygnał wejściowy i uaktualnia rejestry danych. Wyzerowanie tego bitu spowoduje zakończenie pracy w trybie ciągłym. Jeśli są używane kanały różnicowe (ustawiony bit MUX2 w rejestrze ADMUX), to kanał musi zostać wybrany przed wejściem w tryb ciągły. Wybór kanału różnicowego po wejściu w tryb ciągły może doprowadzić do niezdefiniowanego zachowania się przetwornika A/C.

Bit 4 – ADIF: ADC Interrupt Flag – Znacznik przerwania z przetwornika A/C

Ten bit jest ustawiany, gdy ukończone zostanie przetwarzanie w przetworniku A/C i rejestry danych zostaną uaktualnione. Przerwanie przy zakończeniu przetwarzania w przetworniku A/C jest wykonywane, jeśli są ustawione oba bity ADIE i I w rejestrze SREG. Bit ADIF jest zerowany przy wykonaniu odpowiedniego wektora obsługi przerwania. Alternatywnie można wyzerować ADIF przez zapis do tego bitu logicznej jedynki. Miej świadomość, iż odczyt-modyfikacja-zapis rejestru ADCSRA może spowodować zablokowanie oczekującego przerwania. Odnosi się to również do instrukcji SBI i CBI.

Bit 3 – ADIE: ADC Interrupt Enable – Właczenie przerwań od przetwornika A/C

Gdy bit ten zostanie zapisany stanem 1 oraz jest ustawiony bit I w rejestrze SREG, to uaktywnia się przerwanie przy zakończeniu przetwarzania w przetworniku A/C.

Bity 2:0 – ADPS2:0: ADC Prescaler Select Bits – Bity wyboru preskalera

Bity te określają współczynnik podziału pomiędzy częstotliwością zegara CK a częstotliwością wejściową zegara do przetwornika A/C.

ADPS2 ADPS1 ADPS0 Współczynnik podziału
0 0 0 2
0 0 1 2
0 1 0 4
0 1 1 8
1 0 0 16
1 0 1 32
1 1 0 64
1 1 1 128

ADCL i ADCH – The ADC Data Register – Rejestr danych przetwornika A/C

ADLAR = 0 – wynik wyrównany prawostronnie

Bit 15 14 13 12 11 10 9 8  
0x05 - - - - - - ADC9 ADC8 ADCH
0x04 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 ADCL
Bit 7 6 5 4 3 2 1 0  
Zapis/Odczyt O O O O O O O O  
Wartość początkowa 0 0 0 0 0 0 0 0  

ADLAR = 1 – wynik wyrównany lewostronnie

Bit 15 14 13 12 11 10 9 8  
0x05 ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADCH
0x04 ADC1 ADC0 - - - - - - ADCL
Bit 7 6 5 4 3 2 1 0  
Zapis/Odczyt O O O O O O O O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Gdy przetwarzanie w przetworniku A/C dobiegnie końca, wynik znajdzie się w tych dwóch rejestrach. Gdy zostanie odczytany rejestr ADCL (z dolnym bajtem wyniku), rejestr danych przetwornika A/C nie będzie uaktualniany aż do momentu odczytu ADCH (z górnym bajtem wyniku). W konsekwencji, jeśli wynik jest wyrównany lewostronnie i nie jest wymagana precyzja większa od 8 bitów, to wystarczy odczytać rejestr ADCH (otrzymasz 8 najstarszych bitów wyniku przetwarzania). W przeciwnym razie najpierw należy odczytać ADCL, a następnie ADCH. Bit ADLAR w rejestrze ADMUX, wpływa na sposób odczytu wyniku przetwarzania z tych rejestrów. Jeśli bit ADLAR jest ustawiony, to wynik zostaje wyrównany lewostronnie. Jeśli bit ADLAR jest wyzerowany (wartość standardowa), to wynik jest wyrównany prawostronnie.

ADC9:0: ADC Conversion Result – Wynik przetwarzania w przetworniku A/C

Te bity reprezentują 10-bitowy wynik przetwarzania. Dla kanału różnicowego jest to wartość po wyregulowaniu wzmocnienia, co pokazuje poniższa tabelka:

MUX2:0 Wejście
pojedyncze
Różnicowe
wejście
nieodwracające
Różnicowe
wejście
odwracające
Wzmocnienie
000 ADC0 (PB5) N/A
001 ADC1 (PB2)
010 ADC2 (PB3)
011 ADC3 (PB4)
100 N/A ADC2 (PB3) ADC2 (PB3) razy 1
101 ADC2 (PB3) ADC2 (PB3) razy 20
110 ADC2 (PB3) ADC3 (PB4) razy 1
111 ADC2 (PB3) ADC3 (PB4) razy 20

Dla pojedynczych kanałów lub dla kanałów różnicowych, jeśli bit ALDAR lub bit znaku mają wartość 0, wynik 0x000 odpowiada napięciu masy, a 0x3FF odpowiada wybranemu napięciu odniesienia minus jeden bit LSB.

Skanowanie wielu kanałów

Ponieważ zmiana kanału analogowego jest zawsze opóźniana do zakończenia przetwarzania, do skanowania wielu kanałów można stosować tryb pracy ciągłej bez zakłócania przetwarzania w przetworniku A/C. Typowo do zmiany kanału jest używane przerwanie przy zakończeniu przetwarzania w przetworniku A/C. Jednakże użytkownik powinien rozważyć następujący fakt: przerwanie jest wyzwalane w momencie, gdy wynik jest gotowy do odczytu. W trybie pracy ciągłej następne przetwarzanie rozpocznie się natychmiast po wygenerowaniu przerwania. Gdy rejestr ADMUX zostanie zmieniony po wyzwoleniu przerwania, to nowe przetwarzanie już się

Na początek:  podrozdziału   strony 

Parametry przetwornika A/C

Symbol Parametr Warunki Min. Typowo Maks. Jednostki
  Rozdzielczość Zwykłe kanały   10   Bity
Kanały różnicowe
Wzmocnienie x1 lub x20
  8   Bity
  Dokładność bezwzględna Zwykły kanał
VREF = 4V
Zegar przetwornika = 200 kHz
  1 2 LSB
Zwykły kanał
VREF = 4V
Zegar przetwornika = 1 MHz
  4   LSB
Zwykły kanał
VREF = 4V
Zegar przetwornika = 2 MHz
  16   LSB
  Nieliniowość całkowa VREF > 2V   0,5   LSB
  Nieliniowość różniczkowa VREF > 2V   0,5   LSB
  Błąd niezrównoważenia VREF > 2V   1,0   LSB
  Czas przetwarzania Tryb pracy ciągłej 65   260 μs
  Częstotliwość zegarowa   50   200 kHz
VREF Napięcie odniesienia Zwykły kanał 2,0   VCC V
Kanał różnicowy 2,0   VCC - 0,2 V
VINT Wewnętrzne napięcie odniesienia   2,4 2,56 2,7 V
RREF Oporność wejścia napięcia odniesienia   6 10 13
RAIN Oporność wejścia analogowego     100  
Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2022 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.