Atmel AVR
Architektura mikrokontrolerów AVR została opracowana przez firmę Atmel w 1996 roku. Jest ona oparta na architekturze mikrokontrolerów Harvard. AVR był jedną z pierwszych rodzin mikrokontrolerów, która używała pamięci flash on-chip do przechowywania programów, w przeciwieństwie do jednorazowo programowalnej pamięci ROM, EPROM lub EEPROM używanej przez inne mikrokontrolery w tym czasie.
Wiele osób uważa, że AVR to skrót od "Risc processor" Alf'a (Egil Bogen) i Vegard'a (Wollan).
Architektura ta zastępuje starszą architekturę MCS-51. Jeden cykl maszynowy MCS-51 zajmuje 12 cykli zegara, a większość instrukcji wykonywana jest w jednym cyklu maszynowym.
Mikrokontrolery AVR (MCU) mogą wykonywać większość instrukcji również w pojedynczym cyklu maszynowym, ale jeden cykl maszynowy zajmuje tylko jeden cykl zegara. Wydajność na cykl zegara jest 12 razy większa w przypadku AVR.
Rdzeń posiada 32 rejestry ogólnego przeznaczenia bezpośrednio połączone z ALU. Pozwala to na dostęp do dwóch niezależnych rejestrów i wykonanie instrukcji z nimi związanych w jednym cyklu maszynowym.
Atmel AVR ATmega8 w 28-pinowej obudowie DIP.
Rodziny podstawowe
tinyAVR
- 0,5-8 kB pamięci programu
- do 0,5 kB SRAM
- do 0,5 kB EEPROM
- do 20 MHz
- 6-32 pinowe opakowanie
megaAVR
- 4-256 kB pamięć programu
- 0,5-16kB SRAM
- 0,5-4 kB EEPROM
- do 20 MHz
- Pakiet 20-100 pin
XMEGA
- 16-384kB pamięci programu
- 2-32 kB SRAM
- Interfejs zewnętrznej magistrali do 16M bajtów SRAM SDRAM
- 1-4 kB EEPROM
- do 32 MHz
- 44-100 pinowy pakiet
Cechy
Każdy AVR posiada pewne porty wejścia/wyjścia. Port posiada do 8 fizycznych pinów na swojej obudowie. Każdy pin może być skonfigurowany jako wejście lub wyjście. Jeśli pin jest używany jako wejściowy, może włączyć wbudowane rezystory podciągające poprzez rejestr PORTx. Jeśli pin jest skonfigurowany jako wyjściowy, może on obsłużyć do 40mA obciążenia na pin i maksymalnie 100mA dla wszystkich pinów portu.
Przetwornik A/D
- 10-bitowy (tinyAVR, megaAVR) z multipleksem do 8 kanałów
- 12-bitowy (XMEGA) z multipleksem do 16 kanałów
Timery/liczniki (8-bitowe lub 16-bitowe)
- Użytkownik może skonfigurować go jako PWM, licznik lub timer.
- W trybie prostego PWM rejestr zliczający pracuje bez zatrzymania i jest porównywany z innym rejestrem. Jeżeli rejestr zliczający jest większy od drugiego rejestru pin Ocx jest ustawiany na "1". W pozostałych przypadkach pin Ocx jest ustawiany na "0".
- Licznik ma jakieś zewnętrzne źródło np. czujnik foto i może zliczać ilość osób, które przejdą przez czujnik foto.
- Timer daje impulsy w dokładnym czasie. Jest on używany do programowania aplikacji zegarowych.
TWI - Two Wire Interface Używa tego samego protokołu co I2C i może być używany jako interfejs I2C
UART/USART UART może być używany do komunikacji RS232/RS485.
SPI - szeregowy interfejs peryferyjny
- bardzo szybka magistrala szeregowa, która służy do przesyłania danych i komunikacji z urządzeniami
- możesz nagrywać/odczytywać program do/z pamięci programu lub EEPROM poprzez tę magistralę
USI - Universal Serial Interface (uniwersalny interfejs szeregowy)
- używane do dwu- lub trzyprzewodowej synchronicznej transmisji danych
JTAG
- interfejs do debugowania online
Przetwornik C/A
- 12-bitowy (tylko XMEGA) z multipleksem do 2 kanałów
Powiązane strony
- Arduino
Pytania i odpowiedzi
P: Kiedy powstała architektura mikrokontrolera AVR?
O: Architektura mikrokontrolera AVR została opracowana w 1996 roku przez firmę Atmel.
P: Na jakiej architekturze oparty jest mikrokontroler AVR?
O: Mikrokontroler AVR jest oparty na architekturze mikrokontrolerów Harvarda.
P: Co odróżnia mikrokontroler AVR od innych mikrokontrolerów w momencie jego tworzenia?
O: Mikrokontroler AVR wykorzystuje do przechowywania programów wbudowaną pamięć flash, w przeciwieństwie do jednorazowo programowalnej pamięci ROM, EPROM lub EEPROM, stosowanej przez inne mikrokontrolery w tamtym czasie.
P: Jakie jest powszechnie uważane znaczenie skrótu AVR?
O: Wiele osób uważa, że AVR oznacza procesor Risc Alf'a (Egil Bogen) i Vegarda (Wollan).
P: Jaką architekturę zastąpił mikrokontroler AVR?
O: Mikrokontroler AVR zastąpił starszą architekturę MCS-51.
P: Ile cykli zegara trwa jeden cykl maszynowy MCS-51?
O: Jeden cykl maszynowy MCS-51 trwa 12 cykli zegara.
P: Jaka jest przewaga mikrokontrolerów AVR nad MCS-51 pod względem wydajności na cykl zegara?
O: Wydajność na cykl zegara jest 12 razy większa w przypadku mikrokontrolerów AVR.