Atmel AVR

AVR-mikrocontroller-arkitekturen blev udviklet af Atmel i 1996. Den er baseret på Harvard-mikrocontrollerarkitekturen. AVR var en af de første mikrocontroller-familier, der anvendte on-chip flash-hukommelse til programlagring i modsætning til engangsprogrammerbar ROM, EPROM eller EEPROM, der blev anvendt af andre mikrocontrollere på det tidspunkt.

Mange mennesker tror, at AVR står for Alf (Egil Bogen) og Vegard (Wollan)'s Risc-processor".

Denne arkitektur erstatter den ældre MCS-51-arkitektur. En maskincyklus i MCS-51 tager 12 clockcyklusser, og de fleste instruktioner udføres i én maskincyklus.

AVR-mikrocontrollere (MCU'er) kan også udføre de fleste instruktioner i en enkelt maskincyklus, men en maskincyklus tager kun én clockcyklus. Ydelsen pr. clockcyklus er 12 gange højere med AVR.

Kernen har 32 registre til generelle formål, der er direkte forbundet med ALU'en. Det gør det muligt at få adgang til to uafhængige registre og at udføre instruktioner med dem i én maskincyklus.

Atmel AVR ATmega8 i 28-pin DIP.Zoom
Atmel AVR ATmega8 i 28-pin DIP.

Grundlæggende familier

tinyAVR

  • 0,5-8 kB programhukommelse
  • op til 0,5 kB SRAM
  • op til 0,5 kB EEPROM
  • op til 20 MHz
  • 6-32 pin-pakke


megaAVR

  • 4-256 kB programhukommelse
  • 0,5-16kB SRAM
  • 0,5-4 kB EEPROM
  • op til 20 MHz
  • 20-100 pin-pakke


XMEGA

  • 16-384kB programhukommelse
  • 2-32 kB SRAM
  • ekstern busgrænseflade til op til 16 MB SRAM eller SDRAM med op til 16 MB SRAM
  • 1-4 kB EEPROM
  • op til 32 MHz
  • 44-100 pin-pakke

 

Funktioner

Alle AVR'er har nogle input/output-porte. Porten har op til 8 fysiske pins på sin pakke. Hver pin kan konfigureres som input eller output. Hvis en pin bruges som input, kan den slå indbyggede pull-up-modstande til via register PORTx. Hvis en pin er konfigureret som output, kan den håndtere op til 40 mA belastning pr. pin og maks. 100 mA for alle pins på porten.

A/D-konverter

  • 10-bit (tinyAVR, megaAVR) med multiplex op til 8 kanaler
  • 12-bit (XMEGA) med multiplex op til 16 kanaler

Timere/tællere (8-bit eller 16-bit)

  • Brugerne kan konfigurere den som PWM, tæller eller timer.
  • I simpel PWM-tilstand kører tælleregisteret uden stop og sammenlignes med et andet register. Hvis tælleregisteret er højere end det andet register, sættes pin Ocx til "1". I andre tilfælde sættes pin Ocx til "0".
  • Tælleren har en ekstern kilde som f.eks. en fotosensor og kan tælle antallet af personer, der passerer fotosensoren.
  • Timer giver impulser i nøjagtig tid. Den bruges til programmering af urapplikationer.

TWI - Two Wire Interface Denne bruger den samme protokol som 2IC og kan bruges som 2IC-interface

UART/USART UART'en kan bruges til RS232/RS485-kommunikation.

SPI - Seriel perifer grænseflade

  • meget hurtig seriel bus, der anvendes til dataoverførsel eller kommunikation med enheder
  • du kan brænde/læse programmer til/fra programhukommelse eller EEPROM via denne bus

USI - Universal Serial Interface (universel seriel grænseflade)

  • anvendes til synkron dataoverførsel med to eller tre ledninger

JTAG

  • grænseflade til online fejlfinding

D/A-konverter

  • 12-bit (kun XMEGA) med multiplex op til 2 kanaler

Relaterede sider

  • Arduino

Spørgsmål og svar

Spørgsmål: Hvornår blev AVR-mikrocontrollerarkitekturen udviklet?


A: AVR-mikrocontrollerarkitekturen blev udviklet i 1996 af Atmel.

Spørgsmål: Hvilken arkitektur er AVR-mikrocontrolleren baseret på?


A: AVR-mikrocontrolleren er baseret på Harvard-mikrocontrollerarkitekturen.

Spørgsmål: Hvad adskiller AVR-mikrocontrolleren fra andre mikrocontrollere på det tidspunkt, hvor den blev udviklet?


A: AVR-mikrocontrolleren anvender on-chip flash-hukommelse til programlagring i modsætning til engangsprogrammerbar ROM, EPROM eller EEPROM, der blev anvendt af andre mikrocontrollere på daværende tidspunkt.

Sp: Hvad er den almindeligt antaget betydning af forkortelsen AVR?


A: Mange mennesker tror, at AVR står for Alf (Egil Bogen) og Vegard (Wollan)'s Risc-processor.

Spørgsmål: Hvilken arkitektur erstattede AVR-mikrocontrolleren?


A: AVR-mikrocontrolleren erstattede den ældre MCS-51-arkitektur.

Spørgsmål: Hvor mange clockcyklusser tager en maskincyklus i MCS-51?


A: En maskincyklus i MCS-51 tager 12 clockcyklusser.

Spørgsmål: Hvad er fordelen ved AVR-mikrocontrollere i forhold til MCS-51 med hensyn til ydeevne pr. clockcyklus?


A: Ydelsen pr. clockcyklus er 12 gange højere med AVR-mikrocontrollere.

AlegsaOnline.com - 2020 / 2023 - License CC3