Atmel AVR
AVR-mikrokontrollerararkitekturen utvecklades av Atmel 1996. Den är baserad på Harvard-mikrokontrollerararkitekturen. AVR var en av de första mikrokontrollerfamiljerna som använde flashminne på chipet för programlagring, i motsats till engångsprogrammerbart ROM, EPROM eller EEPROM som användes av andra mikrokontroller på den tiden.
Många tror att AVR står för Alf (Egil Bogen) och Vegard (Wollan)'s Risc-processor".
Denna arkitektur ersätter den äldre MCS-51-arkitekturen. En maskincykel i MCS-51 tar 12 klockcykler och de flesta instruktioner utförs i en maskincykel.
AVR-mikrokontroller (MCU:er) kan också utföra de flesta instruktioner i en enda maskincykel, men en maskincykel tar bara en klockcykel. Prestandan per klockcykel är 12 gånger högre med AVR.
Kärnan har 32 register för allmänna ändamål som är direkt kopplade till ALU. Det gör det möjligt att få tillgång till två oberoende register och att utföra instruktioner med dem i en maskincykel.
Atmel AVR ATmega8 i 28-pin DIP.
Grundläggande familjer
tinyAVR
- 0,5-8 kB programminne
- upp till 0,5 kB SRAM
- upp till 0,5 kB EEPROM
- upp till 20 MHz
- 6-32 stiftpaket
megaAVR
- 4-256 kB programminne
- 0,5-16 kB SRAM
- 0,5-4 kB EEPROM
- upp till 20 MHz
- 20-100 stiftpaket
XMEGA
- 16-384kB programminne
- 2-32 kB SRAM
- Externt bussgränssnitt för upp till 16 Mbyte SRAM eller SDRAM.
- 1-4 kB EEPROM
- upp till 32 MHz
- 44-100 stiftpaket
Funktioner
Varje AVR har några ingångs-/utgångsportar. Portarna har upp till 8 fysiska stift på sitt paket. Varje stift kan konfigureras som ingång eller utgång. Om en stift används som ingång kan den aktivera inbyggda pull-up-motstånd via registret PORTx. Om en stift är konfigurerad som utgång kan den hantera upp till 40 mA belastning per stift och max 100 mA för alla stift på porten.
A/D-omvandlare
- 10-bitars (tinyAVR, megaAVR) med multiplex upp till 8 kanaler
- 12-bitars (XMEGA) med multiplex upp till 16 kanaler
Timers/räknare (8-bitars eller 16-bitars)
- Användarna kan konfigurera den som PWM, räknare eller timer.
- I enkelt PWM-läge körs räkningsregistret utan att stanna och jämförs med ett annat register. Om räkningsregistret är högre än det andra registret sätts stift Ocx till "1". I andra fall sätts stift Ocx till "0".
- Counter har en extern källa, t.ex. en fotosensor, och kan räkna antalet personer som passerar fotosensorn.
- Timer ger impulser i exakt tid. Den används för programmering av klockapplikationer.
TWI - Two Wire Interface Detta använder samma protokoll som 2IC och kan användas som 2IC-gränssnitt.
UART/USART UART kan användas för RS232/RS485-kommunikation.
SPI - Seriellt perifert gränssnitt
- Mycket snabb seriell buss som används för dataöverföring eller kommunikation med enheter.
- Du kan bränna/läsa program till/från programminne eller EEPROM via denna buss.
USI - Universal Serial Interface (universellt seriellt gränssnitt)
- Används för synkron dataöverföring med två eller tre trådar.
JTAG
- gränssnitt för felsökning online
D/A-omvandlare
- 12-bitars (endast XMEGA) med multiplex upp till 2 kanaler
Relaterade sidor
- Arduino
Frågor och svar
F: När utvecklades arkitekturen för AVR-mikrokontroller?
S: AVR-mikrokontrollerararkitekturen utvecklades 1996 av Atmel.
F: Vilken arkitektur är AVR-mikrokontrollern baserad på?
S: AVR-mikrokontrollern är baserad på Harvard-mikrokontrollerararkitekturen.
F: Vad skiljer AVR-mikrokontrollern från andra mikrokontroller vid tiden för dess utveckling?
S: AVR-mikrokontrollern använder flashminne på chipet för programlagring, i motsats till engångsprogrammerbart ROM, EPROM eller EEPROM som användes av andra mikrokontroller vid den tiden.
F: Vad är den vanligaste betydelsen av förkortningen AVR?
S: Många tror att AVR står för Alf (Egil Bogen) och Vegard (Wollan) Risc-processor.
F: Vilken arkitektur ersatte AVR-mikrokontrollern?
S: AVR-mikrokontrollern ersatte den äldre arkitekturen MCS-51.
Fråga: Hur många klockcykler tar en maskincykel i MCS-51?
S: En maskincykel i MCS-51 tar 12 klockcykler.
F: Vad är fördelen med AVR-mikrokontroller jämfört med MCS-51 när det gäller prestanda per klockcykel?
S: Prestandan per klockcykel är 12 gånger högre med AVR-mikrokontroller.