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
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ą:
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 |
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 |
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 | |
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 SREG 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 TICIE1 w rejestrze maski przerwań timera (ang. Timer Interrupt Mask, TIMSK).
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.
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.