Atmel AVR

AVR er begrepet som brukes av Atmel om referanse til kjernen i prosessoren og familien av mikrokontrollere som implementerer den.

Beskrivelse

AVR- kjernen har følgende egenskaper:

Sett med 90 til 135 instruksjoner (avhengig av komponent).

De fleste instruksjoner (unntatt instruksjoner om hopp eller minnetilgang) kjøres i en prosessorsyklus . AVR-arkitekturen implementerer en rørledning som gjør det mulig å utføre en instruksjon per klokkesyklus. AVR-kjernen når derfor rundt 1 Mips / MHz.

AVR-kjernen er optimalisert for å kjøre kode produsert av en C-kompilator.

AVR-kjernen har 3 16-bits pekere X, Y og Z tilordnet 8-bitersregistrene r26 til r31 (X = r26 + r27, Y = r28 + r29 og Z = r30 + r31). De tre pekerne tillater forskjellige typer indeksering (indirekte, indirekte med forskyvning) med eller uten pre- eller post-inkrementering.

AVR-mikrokontrollere har i samme boks en AVR-kjerne (mikroprosessor), flashminne (programplass), SRAM (datarom), EEPROM (backup datarom) og forskjellige eksterne enheter .

Hver perifer håndteres av dens tilhørende register (S) (tilgjengelig via i og ut instruksjoner ).

Her er en indikasjon på periferiutstyr som finnes i AVR-mikrocontrollerfamilien:

Ulike familier

AVR-mikrocontrollerfamilien består av 5 hovedgrupper:

Programvare- og maskinvareutvikling

Under Microsoft Windows- miljø tillater AVRstudio levert av Atmel kombinert med WinAVR (win32-versjon av avr-gcc) utvikling på C- språk gratis og uten begrensning.

En Pascal- kompilator eksisterer også for AVR-er (E-LAB Pascal-scm), den bruker en syntaks nær Turbo Pascal .

I FreeBSD- , GNU-Linux- eller MacOS X-miljøer lar avr-gcc (C-kompilator) og uisp, avrdude deg utvikle for disse mikrokontrollerne. Det er også en tilpasning av libc.

Det er også gratis produkter, men begrenset til 4Ko å utvikle i C, Pascal eller Basic. De integrerer en rekke biblioteker for å forenkle applikasjonskoding, samt komplette maskinvaremiljøer for prototyping.

Det er mange programmerere , grensesnittverktøy mellom PCen og mikrokontrolleren som tillater blinking av programminnet, på markedet (Atmel STK-200, 300, 400, 500, 600 eller andre) og mange diagrammer på nettsteder som gjør det mulig for deg å gjøre det selv.

Tre typer grensesnitt tilgjengelig, ISP for å blinke bare minner, grensesnitt, JTAG og DebugWIRE  (in) (feilsøking på en ledning) som brukes til å blinke og feilsøke direkte fra AVRStudio, veldig praktisk å bære til applikasjonspunktet. ISP-grensesnittet er tilstede på alle ATMEL-mikrokontrollere, JTAG- og DebugWire-grensesnittene er avhengig av mikrokontrollerfamilien.

For å betjene en AVR-mikrokontroller er det 'nok' å koble bakken og Vcc- pinnene til potensialet 0 og 5  V (for eksempel) og å sette en opptrekksmotstand på tilbakestillingspinnen (motstand på 10  kΩ mellom tilbakestillingspinnen og vcc). Hvis komponenten ikke har en intern oscillator, eller hvis en presis frekvens er ønsket, må en ekstern oscillator (for det meste krystall ) tilsettes.

Referanser

  1. http://www.nongnu.org/avr-libc/
  2. Mikroelektronika (http://www.mikroe.com/)

Se også

Relaterte artikler

Eksterne linker

Bibliografi