De architectuur van de AVR-microcontroller werd in 1996 door Atmel ontwikkeld. Zij is gebaseerd op de Harvard microcontroller architectuur. De AVR was een van de eerste microcontrollerfamilies die flashgeheugen op de chip gebruikte voor programmaopslag, in tegenstelling tot het eenmalig programmeerbare ROM, EPROM of EEPROM dat door andere microcontrollers in die tijd werd gebruikt.
Veel mensen denken dat AVR staat voor Alf (Egil Bogen) en Vegard (Wollan)'s Risc processor".
Deze architectuur vervangt de oudere MCS-51 architectuur. Eén machinecyclus van MCS-51 duurt 12 klokcycli en de meeste instructies worden in één machinecyclus uitgevoerd.
AVR-microcontrollers (MCU's) kunnen de meeste instructies ook in één machinecyclus uitvoeren, maar één machinecyclus duurt slechts één klokcyclus. De prestaties per klokcyclus zijn 12 keer hoger met AVR.
De kern heeft 32 registers voor algemeen gebruik die rechtstreeks met de ALU zijn verbonden. Hierdoor kunnen twee onafhankelijke registers worden benaderd en kunnen instructies worden uitgevoerd in één machinecyclus.
Atmel AVR ATmega8 in 28-pin DIP.
Basis families
tinyAVR
0,5-8 kB programmageheugen
tot 0,5 kB SRAM
tot 0,5 kB EEPROM
tot 20 MHz
6-32 pin pakket
megaAVR
4-256 kB programmageheugen
0,5-16kB SRAM
0,5-4 kB EEPROM
tot 20 MHz
20-100 pin pakket
XMEGA
16-384kB programmageheugen
2-32 kB SRAM
externe businterface voor maximaal 16 Mbyte SRAM of SDRAM
1-4 kB EEPROM
tot 32 MHz
44-100 pin pakket
Kenmerken
Elke AVR heeft een aantal input/output poorten. De poort heeft maximaal 8 fysieke pinnen op de behuizing. Elke pin kan worden geconfigureerd als ingang of uitgang. Als een pin als ingang wordt gebruikt, kan hij ingebouwde pull-up-weerstanden inschakelen via register PORTx. Als een speld als uitgang wordt geconfigureerd, kan hij tot 40 mA belasting per speld aan en max. 100 mA voor alle spelden op de poort.
A/D-omzetter
10-bit (tinyAVR, megaAVR) met multiplex tot 8 kanalen
12-bit (XMEGA) met multiplex tot 16 kanalen
Timers/tellers (8-bit of 16-bit)
Gebruikers kunnen het configureren als PWM, teller of timer.
In eenvoudige PWM-modus loopt het telregister zonder te stoppen en wordt vergeleken met een ander register. Als het tel-register hoger is dan het tweede register wordt pin Ocx op "1" gezet. In andere gevallen wordt pin Ocx op "0" gezet.
De teller heeft een externe bron zoals een fotosensor en kan het aantal mensen tellen dat de fotosensor passeert.
De timer geeft pulsen in de exacte tijd. Hij wordt gebruikt voor het programmeren van kloktoepassingen.
TWI - Tweedraadsinterface Dit gebruikt hetzelfde protocol als I2C en kan worden gebruikt als I2C-interface
UART/USART De UART kan worden gebruikt voor RS232/RS485-communicatie.
SPI - seriële perifere interface
zeer snelle seriële bus die wordt gebruikt voor gegevensoverdracht of communicatie met apparaten
via deze bus kunt u programma's in/uit het programmageheugen of de EEPROM branden/lezen
USI - Universele seriële interface
gebruikt voor twee- of driedraads synchrone gegevensoverdracht
JTAG
interface voor online debugging
D/A-omzetter
12-bit (alleen XMEGA) met multiplex tot 2 kanalen
Verwante pagina's
Arduino
Vragen en antwoorden
V: Wanneer werd de architectuur van de AVR-microcontroller ontwikkeld?
A: De architectuur van de AVR-microcontroller werd in 1996 ontwikkeld door Atmel.
V: Op welke architectuur is de AVR-microcontroller gebaseerd?
A: De AVR microcontroller is gebaseerd op de Harvard microcontroller architectuur.
V: Wat onderscheidt de AVR-microcontroller van andere microcontrollers ten tijde van zijn ontwikkeling?
A: De AVR-microcontroller gebruikt flashgeheugen op de chip voor programmaopslag, in tegenstelling tot eenmalig programmeerbaar ROM, EPROM of EEPROM dat destijds door andere microcontrollers werd gebruikt.
V: Wat is de algemeen aangenomen betekenis van de afkorting AVR?
A: Veel mensen denken dat AVR staat voor de Risc-processor van Alf (Egil Bogen) en Vegard (Wollan).
V: Welke architectuur heeft de AVR-microcontroller vervangen?
A: De AVR-microcontroller verving de oudere MCS-51 architectuur.
V: Hoeveel klokcycli duurt één machinecyclus van de MCS-51?
A: Eén machinecyclus van de MCS-51 duurt 12 klokcycli.
V: Wat is het voordeel van AVR-microcontrollers ten opzichte van MCS-51 in termen van prestaties per klokcyclus?
A: De prestaties per klokcyclus zijn 12 keer hoger bij AVR-microcontrollers.