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

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Mikrokontrolery

ATmega128

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) porównuje wartości wejściowe na nieodwracającej końcówce AIN0 (ang. Analog Input, wejście analogowe) oraz na odwracającej końcówce AIN1:

Gdy napięcie na nieodwracającej końcówce AIN0 jest wyższe od napięcia napięcia na końcówce odwracającej AIN1, to jest ustawiane wyjście komparatora analogowego ACO. Wyjście komparatora można ustawić tak, aby wyzwalało zdarzenie Input Capture w timerze/liczniku 1. Dodatkowo komparator może wyzwalać oddzielne przerwanie, wyłączne dla komparatora analogowego Użytkownik może wybrać wyzwalanie przerwania przy zboczu narastającym, opadającym lub zmianie poziomu logicznego na wyjściu z komparatora na przeciwny. Poniższy rysunek przedstawia schemat blokowy komparatora wraz z otaczającą go siecią logiczną:

Na początek:  podrozdziału   strony 

Multipleksowane wejście komparatora

Możliwe jest wybranie dowolnej z końcówek ADC7..0 jako wejście odwracające komparatora analogowego. Do wyboru tego wejścia wykorzystywany jest multiplekser przetwornika A/C, co w konsekwencji wymaga wyłączenia tego przetwornika w celu skorzystania z tej możliwości. Jeśli bit włączenia multipleksera dla komparatora analogowego (ang. Analog Comparator Multiplexer Enable bit, ACME w rejestrze SFIOR) jest ustawiony, a przetwornik A/C jest wyłączony (bit ADEN w ADCSRA wyzerowany), bity MUX[2:0] w rejestrze ADMUX wybierają końcówkę wejściową jako wejście odwracające dla komparatora analogowego. Jeśli bit ACME jest wyzerowany lub bit ADEN jest ustawiony, to końcówka AIN1 zostanie użyta jako wejście odwracające komparatora analogowego.

Multipleksowane wejście dla komparatora analogowego

ACME ADEN MUX[2:0] Wejście odwracające komparatora analogowego
0 x xxx AIN1
1 1 xxx AIN1
1 0 000 ADC0
1 0 001 ADC1
1 0 010 ADC2
1 0 011 ADC3
1 0 100 ADC4
1 0 101 ADC5
1 0 110 ADC6
1 0 111 ADC7
Na początek:  podrozdziału   strony 

Opis rejestrów

SFIOR – Special Function IO Register –  Rejestr funkcji specjalnych

Bit 7 6 5 4 3 2 1 0  
0x20 (0x40) TSM ACME PUD PSR2 PSR10 SFIOR
Zapis/Odczyt Z/O O O O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bit 3 – ACME: Analog Comparator Multiplexer Enable – Włączenie multipleksera dla komparatora analogowego

Gdy bit ten zostanie zapisany logiczną jedynką, a przetwornik analogowo/cyfrowy jest wyłączony (wyzerowany bit ADEN w rejestrze ADCSRA), multiplekser przetwornika A/C wybiera wejście odwracające dla komparatora analogowego. Jeśli do bitu ACME zostanie wpisane logiczne zero, to jako wejście odwracające komparatora analogowego będzie użyta końcówka AIN1.


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

Bit 7 6 5 4 3 2 1 0  
0x08 (0x28) ACD ACBG ACO ACI ACIE ACIC ACIS1 ACIS0 ACSR
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 w bicie tym zostanie umieszczona logiczna jedynka, wyłączane jest zasilanie komparatora analogowego. Bit można ustawiać w dowolnej chwili w celu wyłączenia komparatora. Spowoduje to zmniejszenie poboru prądu w trybach normalnym i bezczynnym. Przy zmianie bitu ACD należy wyłączyć przerwania z komparatora przez wyzerowanie bitu ACSR. W przeciwnym razie może zostać wygenerowane przerwanie przy zmianie stanu bitu.

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

Gdyn bit ten jest ustawiony, to na wejście nieodwracające komparatora analogowego podawane jest stałe napięcie odniesienia. Gdy bit jest wyzerowany na wejście nieodwracające podawane jest napięcie z końcówki  AIN0. Gdy zostanie użyte napięcie odniesienia, należy odczekać pewien czas, aby napięcie to ustabilizowało się. W przeciwnym razie na początku może dawać złe wartości.

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

Wyjście z komparatora analogowego jest synchronizowane, a następnie łączone bezpośrednio z ACO. Synchronizacja wprowadza opóźnienie 1 lub 2 cykli zegara.

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

Ten bit ustawiany jest sprzętowo, gdy wyjście komparatora wyzwala przerwanie w wybranym trybie przez ustawienia bitów ACIS1 i ACIS0. Procedura obsługi przerwania z komparatora analogowego jest wykonywana, jeśli są ustawione bity ACIE oraz  I w SREG. Bit ACI jest zerowany sprzętowo przy wykonaniu odpowiedniego wektora przerwania. Alternatywnie można go wyzerować poprzez zapis logicznej jedynki do tego znacznika.

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

Gdy bity ACIE oraz I w SREG są ustawione, włączone jest przerwanie z komparatora analogowego. Gdy bit ACIE zostaje wyzerowany, przerwanie to jest wyłączone.

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

Gdy do tego bitu zostanie wpisana logiczna jedynka, to uaktywnia się funkcja Input Capture w timerze/liczniku 1 wyzwalana przez komparator analogowy. W tym przypadku wyjście komparatora zostaje połączone bezpośrednio z logiką Input Capture, co pozwala komparatorowi wykorzystywać układ eliminacji zakłóceń oraz rodzaj zbocza wyzwalającego przerwanie Input Capture timera/licznika 1. Przy zapisie zera nie istnieje żadne połączenie pomiędzy komparatorem analogowym a funkcją Input Capture. Aby komparator wyzwalał przerwanie Input Capture timera/licznika 1, należy ustawić bit TICIE1 w rejestrze maski przerwań timera (ang. Timer Interrupt Mask, TIMSK).

Bity 1:0 – ACIS1, ACIS0: Analog Comparator Interrupt Mode Select – Wybór trybu generacji przerwania przez komparator analogowy

Bity te określają, które ze zdarzeń komparatora wyzwoli przerwanie od komparatora analogowego. Poniższa tabela pokazuje ich ustawienia:

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

Przy zmianie bitów ACIS1/ACIS0 należy wyłączyć przerwanie z komparatora analogowego przez wyzerowanie jego bitu ACIE w rejestrze ACSR. W przeciwnym razie przerwanie może zostać wygenerowane przy tej zmianie.

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
©2021 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.