Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines
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. 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ą:
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 analogowo/cyfrowego, 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 ADCSRB) jest ustawiony, a przetwornik A/C jest wyłączony (bit ADEN w ADCSRA wyzerowany), bity MUX4:0 w rejestrze ADMUX wybierają końcówkę wejściową jako wejście odwracające dla komparatora analogowego.
Multipleksowane wejście dla komparatora analogowego
ACME | ADEN | MUX4:0 | Wejście odwracające komparatora analogowego |
0 | x | xxxxx | AIN1 |
1 | 1 | xxxxx | AIN1 |
1 | 0 | 00000 | ADC0 |
1 | 0 | 00001 | ADC1 |
1 | 0 | 00010 | ADC2 |
1 | 0 | 00011 | ADC3 |
1 | 0 | 00100 | ADC4 |
1 | 0 | 00101 | ADC5 |
1 | 0 | 00110 | ADC6 |
1 | 0 | 00111 | ADC7 |
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 |
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.
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.
Wyjście z komparatora analogowego jest synchronizowane, a następnie łączone bezpośrednio z ACO. Synchronizacja wprowadza opóźnienie 1 lub 2 cykli zegara.
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.
Gdy bity ACIE oraz I w rejestrze stanu są ustawione, włączone jest przerwanie z komparatora analogowego. Gdy bit ACIE zostaje wyzerowany, przerwanie to jest wyłączone.
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 ICIE1 w rejestrze maski przerwań timera (ang. Timer Interrupt Mask, TIMSK1).
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 zmianie.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x03 (0x23) | BIN | ACME | - | ADLAR | - | ADTS2 | ADTS1 | ADTS0 | ADCSRB |
Zapis/Odczyt | Z/O | Z/O | O | Z/O | O | Z/O | Z/O | Z/O | |
Wartość początkowa | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
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.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x01 (0x21) | 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 |
Gdy w bicie zostanie zapisana logiczna jedynka, zostaje wyłączony bufor cyfrowy połączony z daną końcówką. Wtedy odpowiadający mu bit w rejestrze PINA będzie zawsze dawał odczyt 0. Gdy do końcówki AIN1/0 zostaje przyłożone napięcie analogowe, a nie jest potrzebne wejście cyfrowe z tej końcówki, odpowiedni bit ADC2D/ADC1D powinien zostać ustawiony w celu zmniejszenia poboru prądu w cyfrowym buforze wejścia.
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.