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

©2025 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Mikrokontrolery

ATtiny2313A/4313

Komparator analogowy

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

Opis

Komparator analogowy (ang. Analog Comparator) jest modułem mikrokontrolera AVR, który porównuje wartości napięć wejściowych na końcówce nieodwracającej AIN0 i na końcówce odwracającej AIN1. Gdy napięcie na wejściu nieodwracającym AIN0 jest wyższe od napięcia na końcówce odwracającej AIN1, to zostaje ustawione na 1 wyjście komparatora analogowego ACO (ang. Analog Comparator Output). Wyjście to można wykorzystać do wyzwolenia funkcji Input Capture (rejestrowanie zdarzenia wejściowego) w timerze/liczniku 1. Dodatkowo komparator może wywołać oddzielne przerwanie, przydzielone wyłącznie komparatorowi analogowemu. Użytkownik może ustawić wyzwolenie tego przerwania przy zboczu narastającym, opadającym lub zmianie sygnału na wyjściu komparatora. Poniższy rysunek przedstawia schemat blokowy komparatora wraz z otaczającą go siecią logiczną:


do podrozdziału  do strony 

Opis rejestrów

ACSR – Analog Comparator Control and Status Register – Rejestr sterowania i stanu komparatora

Bit 7 6 5 4 3 2 1 0  
0x08 (0x28) ACD ACBG ACO ACI ACIE ACIC ACIS1 ACIS0 ACSRA
Zapis/Odczyt Z/O Z/O O Z/O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 N/A 0 0 0 0 0  

Bit 7 – ACD: Analog Comparator Disable – Wyłączenie komparatora analogowego

Gdy do tego bitu zostanie wpisana logiczna jedynka, wyłączane jest zasilanie komparatora analogowego. Bit można ustawiać w każdej chwili w celu wyłączania komparatora analogowego. Spowoduje to zmniejszenie poboru prądu w trybie aktywnym i  w trybie bezczynności. Przy zmianie bitu ACD należy wyłączyć przerwanie z komparatora analogowego przez wyzerowanie bitu ACIE. W przeciwnym razie może wystąpić przerwanie przy zmianie tego bitu.

Bit 6 – ACBG: Analog Comparator Bandgap Select – Wybór napięcia odniesienia dla komparatora analogowego

Gdy bit ten zostanie ustawiony, to na wejście nieodwracające komparatora analogowego zostaje podane wewnętrzne napięcie odniesienia o ustalonej wartości. Gdy bit ACBG jest wyzerowany, to wejście nieodwracające komparatora połączone jest z zewnętrzną końcówką AIN0. Gdy jako wejście komparatora użyte zostanie napięcie odniesienia, to stabilizuje się ono po pewnym czasie, dlatego pierwszy pomiar może nie być dokładny.

Bit 5 – ACO: Analog Comparator Output – Wyjście komparatora analogowego

Wyjście komparatora analogowego jest synchronizowane i następnie podłączane bezpośrednio do ACO. Synchronizacja wprowadza opóźnienie 1 ... 2 taktów zegara.

Bit 4 – ACI: Analog Comparator Interrupt Flag – Znacznik przerwania z komparatora analogowego

Ten bit jest ustawiany sprzętowo, gdy wyjście komparatora wyzwala przerwanie w trybie zdefiniowanym w bitach ACIS1 i ACIS0. Procedura obsługi przerwania z komparatora analogowego jest wykonana, jeśli bit ACIE zostanie ustawiony oraz jest ustawiony bit I w rejestrze stanu SREG. Bit ACI jest zerowany sprzętowo przy wykonaniu odpowiedniego wektora przerwania. Alternatywnie ACI można wyzerować przez zapis jedynki do tego znacznika.

Bit 3 – ACIE: Analog Comparator Interrupt Enable – Włączenie przerwań z komparatora analogowego

Gdy bity ACIE i I w rejestrze stanu SREG są ustawione na 1, aktywowane jest przyjmowanie przerwań z komparatora analogowego. Gdy w bicie tym zostaje zapisane 0 logiczne, przerwanie to jest wyłączane.

Bit 2 – ACIC: Analog Comparator Input Capture Enable – Włączenie Input Capture z komparatora analogowego

Gdy w bicie zostanie zapisana logiczna jedynka, uaktywniana jest funkcja Input Capture w timerze/liczniku 1, która będzie wyzwalana przez komparator analogowy. Wyjście komparatora zostaje połączone bezpośrednio z obwodem Input Capture, co powoduje, iż komparator korzysta z układów zmniejszania szumu oraz wyboru zbocza dla przerwania Input Capture z timera/licznika 1.

Po zapisie zera logicznego nie istnieje połączenie pomiędzy komparatorem analogowym a funkcją Input Capture. Aby komparator mógł wyzwalać przerwanie Input Capture w timerze/liczniku 1, musi być ustawiony bit ICIE1 w rejestrze maskowania przerwań timerów/liczników TIMSK.

Bity 1:0 – ACIS[1:0]: Analog Comparator Interrupt Mode Select – Wybór trybu przerwań dla komparatora analogowego

Bity te określają, które ze zdarzeń komparatora wyzwoli przerwanie z komparatora analogowego. Ich ustawienia są pokazane w poniższej tabeli:

ACIS1 ACIS0 Tryb przerwania
0 0 Przerwanie z komparatora analogowego przy zmianie stanu wyjścia.
0 1 Zarezerwowane
1 0 Przerwanie z komparatora analogowego przy opadającym zboczu na wyjściu.
1 1 Przerwanie z komparatora analogowego przy narastającym zboczu na wyjściu.

Przy zmianie stanu bitów ACIS1/ACIS0 należy wyłączyć przerwanie z komparatora analogowego przez wyzerowanie bitu ACIE. W przeciwnym razie może wystąpić przerwanie przy zmianie tego bitu.


DIDR – Digital Input Disable Register – Rejestr wyłączania wejść cyfrowych

Bit 7 6 5 4 3 2 1 0  
0x01 (0x21)             AIN1D AIN0D DIDR
Zapis/Odczyt O O O O O O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bity 1, 0 – AIN1D, AIN0D: AIN1, AIN0 Digital Input Disable – Wyłączanie buforów wejść cyfrowych

Gdy dany bit jest zapisany logiczną jedynką, zostaje wyłączony bufor wejścia cyfrowego dla końcówek AIN1/0. Odpowiedni bit rejestru PIN będzie wtedy dawał zawsze odczyt zero. Jeśli dana końcówka jest używana jako wejście analogowe, a jej wejście cyfrowe nie jest potrzebne, to można zmniejszyć zużycie energii w buforze wejść cyfrowych przez zapis logicznej jedynki do danego bitu AIN1D/AIN0D.


do podrozdziału  do strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2025 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.