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

ATtiny20

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

Komparator analogowy (ang. Analog Comparator)   porównuje wartości wejściowe na wejściu nieodwracającym AIN0 i na wejściu odwracającym AIN1.

obrazek

Gdy napięcie na końcówce nieodwracającej 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. the Analog Comparator Output). Komparator może wyzwalać osobne przerwanie, które jest mu wyłącznie przydzielone. Użytkownik może wybrać wyzwalanie tego przerwania przy narastającym, opadającym lub zmieniającym się sygnale na wyjściu komparatora. Poniższy rysunek pokazuje schemat blokowy komparatora wraz z otaczającymi go układami logicznymi.

obrazek

Bit zmniejszania poboru prądu przez przetwornik A/C (ang. ADC Power Reduction bit, PRADC) musi być wyłączony przy korzystaniu z multipleksera wejść przetwornika A/C. Wykonuje się to przez wyzerowanie bitu PRADC w rejestrze zmniejszania poboru prądu (ang. Power Reduction Register, PRR).

Multipleksowane wejście komparatora analogowego

obrazek

Gdy przetwornik analogowo/cyfrowy (ang. Analog to Digital Converter, ADC) jest skonfigurowany do pracy z kanałami nieróżnicowymi, możliwy jest wybór dowolnej z końcówek ADC[7:0] w celu zastąpienia wejścia odwracającego dla komparatora analogowego. Wybór końcówki dokonywany jest przy wykorzystaniu multipleksera przetwornika A/C. Jeśli zostanie ustawiony bit włączający multiplekser komparatora analogowego (ang. Analog Comparator Multiplexer Enable bit, ACME w rejestrze ACSRB), to bity MUX w rejestrze ADMUX wybierają końcówkę wejściową do zastąpienia wejścia odwracającego komparatora analogowego.

ACME MUX[3:0] Wejście odwracające komparatora
0 XXXX AIN1
1 0000 ADC0
1 0001 ADC1
1 0010 ADC2
1 0011 ADC3
1 0100 ADC4
1 0101 ADC5
1 0110 ADC6
1 0111 ADC7

do podrozdziału  do strony 

Opis rejestrów

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

Bit 7 6 5 4 3 2 1 0  
0x14 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.

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.


ACSRB – Analog Comparator Control and Status Register B – Rejestr B sterujący i stanu komparatora

Bit 7 6 5 4 3 2 1 0  
0x13 HSEL HLEV ACLP - ACCE ACME ACIRS1 ACIRS0 ACSRB
Zapis/Odczyt Z/O Z/O Z/O O Z/O Z/O Z/O Z/O  
Wartość początkowa 0 0 0 0 0 0 0 0  

Bit 7 – HSEL: Hysteresis Select – Wybór histerezy

Gdy bit ten zostanie zapisany logiczną jedynką, jest uaktywniana histereza komparatora analogowego. Poziom histerezy wybierany jest bitem HLEV.

Bit 6 – HLEV: Hysteresis Level – Poziom histerezy

Po uaktywnieniu bitem HSEL bit poziom histerezy można ustawić za pomocą bitu HLEV, jak pokazuje poniższa tabela:

HSEL HLEV Histereza komparatora analogowego
0 X Wyłączona
1 0 20 mV
1 50 mV

Bit 5 – ACLP

Ten bit jest zarezerwowany dla QTouch, zawsze zapisuj go stanem zero.

Bit 4 – Zarezerwowany

Ten bit jest zarezerwowany i przy odczycie zawsze ma stan zero.

Bit 3 – ACCE

Ten bit jest zarezerwowany dla QTouch, zawsze zapisuj go stanem zero.

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

Gdy ten bit zostanie zapisany stanem logicznym jeden i jest wyłączony przetwornik A/C (bit ADEN w ADCSRA ma stan zero), to multiplekser przetwornika A/C wybiera wejście odwracające komparatora analogowego. Gdy w bicie zostanie umieszczone logiczne zero, to do wejścia odwracającego komparatora analogowego zostaje podłączona końcówka zewnętrzna AIN1.

Bit 1 – ACIRS1

Ten bit jest zarezerwowany dla QTouch, zawsze zapisuj go stanem zero.

Bit 0 – ACIRS0

Ten bit jest zarezerwowany dla QTouch, zawsze zapisuj go stanem zero.


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

Bit 7 6 5 4 3 2 1 0  
0x0D ADC7D ADC6D ADC5D ADC4D ADC3D ADC2D ADC1D ADC0D DIDR0
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  

Bity 2:1 – ADC2D, ADC1D: ADC 2/1 Digital input buffer 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 ADC2D/ADC1D.


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.