Wbudowane układy peryferyjne cz. 3 Wykład 9
Komparator analogowy Komparator analogowy 2
Komparator analogowy Pozwala porównać napięcia na wejściu dodatnim i ujemnym Przerwanie może być wywołane obniżeniem się lub wzrostem napięcia dodatniego względem ujemnego Komparator może współpracować z timerem0 w trybie przechwytywania (komparator wyzwala przechwycenie) Wejście ujemne może być zastąpione dowolnym wejściem multipleksera przetwornika ADC 3
Komparator analogowy 4
Komparator analogowy - rejestry SFIOR: ACME: 0 podłączenie pinu AIN1 do ujemnego wejścia komparatora, 1 podłączenie multipleksera przetwornika ADC do ujemnego wejścia komparatora ACSR: ACD: 1 wyłączenie komparatora analogowego ACBG: 1 - podłączenie do wejścia dodatniego komparatora napięcia odniesienia zamiast pinu AIN0 5
Komparator analogowy - rejestry ACSR c.d: ACO: stan wyjściowy komparatora ACI: flaga przerwania od komparatora analogowego ACIE: włączenie przerwania od komparatora analogowego ACIC: włączenie wyzwalania przez komparator analogowy przechwytywania przez timer1 6
Komparator analogowy - rejestry ACSR c.d.: ACIS1 i ACIS0: tryb wyzwalania przerwania przez komparator ACIS1 ACIS0 Tryb wyzwalania przerwania 0 0 Przerwanie na dowolną zmianę stanu wyjścia komparatora 0 1 zarezerwowane 1 0 Przerwanie na zbocze opadające na wyjścia komparatora 1 1 Przerwanie na zbocze narastające na wyjścia komparatora 7
Komparator analogowy - multiplekser ACME ADEN MUX2..0 Wejście ujemne komparatora 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 8
Przetwornik ADC Przetwornik ADC 9
Przetwornik ADC Pozwala na konwersję napięcia na wejściu na wartość cyfrową Maksymalna rozdzielczość wynosi 10 bitów Posiada 8-kanałowy multiplekser Możliwość pracy w trybie 7-kanałowego komparatora różnicowego lub 2-kanałowego komparatora z opcjonalnym wzmocnieniem x10 lub x200 (kosztem utraty precyzji) 10
Przetwornik ADC Może być wyzwalany jednorazowo lub pracować w trybie ciągłym z próbkowaniem max 15kS/s Zakończenie konwersji może być źródłem przerwania Możliwość pracy asynchronicznej w celu ograniczenia zakłóceń 11
Przetwornik ADC 12
Przetwornik ADC - preskaler 13
Przetwornik ADC - rejestry ADMUX: REFS1, REFS0 wybór źródła napięcia odniesienia REFS1 REFS0 Źródło napięcie odniesienia 0 0 Wejście zasilania AREF, wewnętrzne źródło wyłączone 0 1 Wejście zasilania AVCC z kondensatorem podłączonym do AREF 1 0 zarezerwowane 1 1 Wewnętrzne napięcie odniesienia 2.56V z kondensatorem podłączonym do AREF 14
Przetwornik ADC - rejestry ADMUX c.d.: ADLAR organizacja bitów w wyniku: 0 MSB wyniku w MSB bajta ADCH, 1 LSB wyniku w LSB bajta ADCL MUX4..0: wybór wejścia preskalera i wzmocnienia 15
Przetwornik ADC - rejestry MUX4..0 Pojedyncze wejście Dodatnie wejście różnicowe Ujemne wejście różnicowe 00000 ADC0 - - - 00001 ADC1 - - - 00010 ADC2 - - - 00011 ADC3 - - - 00100 ADC4 - - - 00101 ADC5 - - - 00110 ADC6 - - - 00111 ADC7 - - - Wzmocnienie 16
Przetwornik ADC - rejestry MUX4..0 Pojedyncze wejście Dodatnie wejście różnicowe Ujemne wejście różnicowe 01000 - ADC0 ADC0 10x 01001 - ADC1 ADC0 10x 01010 - ADC0 ADC0 200x 01011 - ADC1 ADC0 200x 01100 - ADC2 ADC2 10x 01101 - ADC3 ADC2 10x 01110 - ADC2 ADC2 200x 01111 - ADC3 ADC2 200x Wzmocnienie 17
Przetwornik ADC - rejestry MUX4..0 Pojedyncze wejście Dodatnie wejście różnicowe Ujemne wejście różnicowe 10000 - ADC0 ADC1 1x 10001 - ADC1 ADC1 1x 10010 - ADC2 ADC1 1x 10011 - ADC3 ADC1 1x 10100 - ADC4 ADC1 1x 10101 - ADC5 ADC1 1x 10110 - ADC6 ADC1 1x 10111 - ADC7 ADC1 1x Wzmocnienie 18
Przetwornik ADC - rejestry MUX4..0 Pojedyncze wejście Dodatnie wejście różnicowe Ujemne wejście różnicowe 11000 - ADC0 ADC2 1x 11001 - ADC1 ADC2 1x 11010 - ADC2 ADC2 1x 11011 - ADC3 ADC2 1x 11100 - ADC4 ADC2 1x 11101 - ADC5 ADC2 1x 11110 1.22V - - - 11111 0V (GND) - - - Wzmocnienie 19
Przetwornik ADC - rejestry ADCSRA: ADEN: 1 włączenie przetwornika ADC ADSC: 1 start konwersji ADATE: 1 włączenie autowyzwalania konwersji ADIF: flaga przerwania od przetwornika ADC ADIE: 1 włączenie przerwania od przetwornika ADC (zakończenie konwersji) ADPS2..0 preskaler przetwornika ADC 20
Przetwornik ADC - rejestry ADPS2 ADPS1 ADPS0 Preskaler 0 0 0 2 0 0 1 2 0 1 0 4 0 1 1 8 1 0 0 16 1 0 1 32 1 1 0 64 1 1 1 128 21
Przetwornik ADC - rejestry ADC (ADCH i ADCL) rejestr wyniku: ADC9..0: dane wynikowe przetwarzania SFIOR: ADTS2..0: tryb wyzwalania (źródło) 22
Przetwornik ADC - rejestry ADTS2 ADTS1 ADTS0 Wyzwalacz 0 0 0 Autowyzwalanie 0 0 1 Komparator analogowy 0 1 0 Przerwanie INT0 0 1 1 Zgodność timera0 1 0 0 Przepełnienie timera0 1 0 1 Zgodność timera1b 1 1 0 Przepełnienie timera1 1 1 1 Przechwycenie timera1 23
Pamięć EEPROM Pamięć EEPROM 24
EEPROM informacje ogólne Pamięć EEPROM jest rodzajem pamięci nieulotnej, o programowaniu i kasowaniu elektrycznym EEPROM gwarantuje nieograniczoną liczbę operacji odczytu oraz ograniczoną liczbę operacji zapisu (ok. 100tys.) Pamięć EEPROM w mikrokontrolerach AVR jest samodzielnym układem peryferyjnym 25
EEPROM - programowanie Podobnie jak pamięć programu FLASH, EEPROM może być odczytywany i zapisywany programowo, a także zapisywany i odczytywany przez dowolny interfejs programujący (SPI, JTAG, równoległy) Domyślnie podczas programowania pamięci FLASH pamięć EEPROM jest czyszczona, można temu zapobiec wykorzystując fusebit EESAVE 26
EEPROM - korzystanie Pamięć EEPROM nie jest dostępna bezpośrednio, a jedynie poprzez dedykowane rejestry funkcyjne W odróżnieniu od większości peryferiów wewnętrznych, nie ma możliwości indywidualnego jej wyłączenia, jest natomiast usypiana w większości trybów oszczędzania energii 27
EEPROM - rejestry EECR rejestr kontrolny: EERIE: 1 włączenie przerwania zgłaszanego w momencie osiągnięcia gotowości po poprzedniej operacji EEMWE: 1 globalne zezwolenie zapisu EEPROM EEWE: 1 zezwolenie na wykonanie operacji zapisu na podstawie informacji z rejestru adresu i danych EERE: 1 zezwolenie na wykonanie operacji odczytu na podstawie informacji z rejestru adresu 28
EEPROM - rejestry EEAR (EEARH i EEARL) - rejestr adresu: EEAR9..0: bity adresu EEDR: rejestr danych 29