AVR

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. prosince 2015; ověření vyžaduje 41 úprav .

AVR  je rodina osmibitových mikrokontrolérů , dříve vyráběných společností Atmel , poté společností Microchip . Rok vývoje - 1996 .

Historie architektury AVR

Myšlenka vývoje nového jádra RISC patří dvěma studentům Norské univerzity vědy a technologie (NTNU) z norského města Trondheim - Alf-Egilu Bogenovi a Vegardu Wollenovi. V roce 1995 se Bogen a Wollen rozhodli navrhnout americké korporaci Atmel , která byla známá svými paměťovými čipy Flash , aby vydala nový 8bitový mikrokontrolér RISC a poskytla mu paměť Flash pro programy na jediném čipu s výpočetním jádrem.

Nápad byl schválen společností Atmel Corp. a bylo rozhodnuto okamžitě investovat do tohoto vývoje. Koncem roku 1996 byl uveden na trh experimentální mikrokontrolér AT90S1200 a v druhé polovině roku 1997 zahájila společnost Atmel Corporation hromadnou výrobu nové rodiny mikrokontrolérů, jejich reklamu a technickou podporu.

Nové jádro bylo patentováno a pojmenováno AVR . Existuje několik výkladů této zkratky. Někdo tvrdí, že se jedná o Advanced Virtual R ISC, jiní věří, že Alf Egil Bogen V egard Wollan R ISC tu být nemohl .

Popis architektury

Mikrokontroléry AVR mají architekturu Harvard (program a data jsou v různých adresových prostorech) a příkazový systém blízký ideologii RISC . Procesor AVR má 32 8bitových obecných registrů sdružených do souboru registrů. Na rozdíl od „ideálního“ RISC nejsou registry absolutně ortogonální:

Příkazový systém

Příkazový systém mikrokontrolérů AVR je vysoce vyvinutý a obsahuje 90 až 135 [1] různých instrukcí v různých modelech.

Většina instrukcí zabírá pouze 1 paměťové místo (16 bitů).

Většina příkazů se provádí v 1 cyklu .

Celou sadu příkazů mikrokontroléru AVR lze rozdělit do několika skupin:

Periferní zařízení jsou ovládána přes datový adresní prostor. Pro pohodlí jsou zde "zkrácené příkazy" IN / OUT.

Rodiny mikrokontrolérů

Standardní rodiny:

Čísla za prefixem zpravidla označují velikost vestavěné flash paměti (v KB) a úpravu ovladače. Konkrétně, maximální mocnina dvou za prefixem udává velikost paměti a zbývající čísla určují modifikaci (například ATmega128 - 128 KB paměť; ATmega168 - 16 KB paměť, modifikace 8; ATtiny44 a ATtiny45 - 4 KB paměť, modifikace 4 a 5).

Na základě standardních rodin jsou vyráběny mikrokontroléry přizpůsobené pro konkrétní úlohy:

Kromě výše uvedených rodin vyrábí ATMEL 32bitové mikrokontroléry rodiny AVR32 , která zahrnuje podrodiny AT32UC3 (taktovací frekvence až 66 MHz) a AT32AP7000 (hodinová frekvence až 150 MHz).

Verze ovladačů

AT (mega/tiny)xxx je základní verze.
ATxxx L  - verze regulátorů pracující se sníženým (Nízkým) napájecím napětím (2,7 V).
ATxxx V  - verze regulátorů pracující na nízké napájecí napětí (1,8 V).
ATxxx P  - verze s nízkou spotřebou (až 100 nA v režimu Power-down), je použita technologie picoPower (oznámena v červenci 2007), pin-out a funkčně kompatibilní s předchozími verzemi.
ATxxx A  - snížena spotřeba proudu, pokryt celý rozsah hodinových frekvencí a napájecích napětí dvou předchozích verzí (u některých modelů jsou také přidány nové funkce a nové registry, ale zachována plná kompatibilita s předchozími verzemi). Mikrokontroléry "A" a "non-A" mají obvykle stejný podpis, což způsobuje určité potíže, protože pojistkové bity jsou různé.

Za číslem modelu následuje index označující verzi. Čísla (8, 10, 16, 20) před indexem udávají maximální frekvenci , při které může mikrokontrolér stabilně pracovat při svém normálním napájecím napětí).

První písmeno indexu označuje variantu trupu:

ATxxx- P  - DIP balíček
ATxxx- A  - TQFP
balíček ATxxx - J  - PLCC balíček
ATxxx- M  - MLF
balíček ATxxx- MA  - UDFN/USON balíček
ATxxx- C  - CBGA balíček ATxxx- CK -  LGA balíček ATxxx- S  - EIAJ balíček SOIC ATxxx- SS  - JEDEC SOIC úzký balíček ATxxx- T  - balíček TSOP ATxxx- TS  - balíček SOT-23 (ATtiny4/5/9/10) ATxxx- X  - balíček TSSOP





Následující písmeno znamená teplotní rozsah a výrobní vlastnosti:

ATxxx-x C  - komerční teplotní rozsah (0 °C - 70 °C)
ATxxx-x A  - teplotní rozsah -20 °C - +85 °C, s použitím bezolovnaté pájky
ATxxx-x I  - průmyslový teplotní rozsah (-40 °C C - +85 °C)
ATxxx-x U  - Průmyslový teplotní rozsah (-40 °C - +85 °C), s použitím bezolovnaté pájky
ATxxx-x H  - Průmyslový teplotní rozsah (-40 °C - +85 °C), s použitím NiPdAu
ATxxx-x N  - rozšířený teplotní rozsah (-40 °C - +105 °C), s použitím bezolovnaté pájky
ATxxx-x F  - rozšířený teplotní rozsah (-40 °C - +125 °C)
ATxxx-x Z  - automobilový teplotní rozsah (-40 °C - +125 °C)
ATxxx-x D  - rozšířený automobilový teplotní rozsah (-40 °C - +150 °C)

poslední písmeno R znamená obaly Tape & Reel pro automatizované montážní systémy.

I/O zařízení MK

MK AVR mají rozvinutou periferii:

Poznámka: Ne všechna periferní zařízení lze aktivovat pomocí softwaru. Některé z nich je nutné nejprve aktivovat bity v registrech Fuses, které může změnit pouze programátor.

Vývojové nástroje

Vývojový hardware

Oficiální vývojové nástroje Atmel AVR:

Existuje také mnoho nástrojů třetích stran, zejména amatérských.

Vývojový software

Zdarma
  • Algorithm Builder  je prostředí pro vývoj algoritmického softwaru pro mikrokontroléry s architekturou AVR (poslední aktualizace v roce 2010).
  • AVR-Eclipse je plug-in pro vývojové prostředí Eclipse , který vám umožňuje vyvíjet programy v C/C++ a assembleru, programovat a ladit řadiče pomocí externího toolchainu (Atmel AVR Toolchain, WinAVR)
  • avra je konzolový makro assembler pro Linux/MacOS.
  • Avrdude je nástroj pro flashování mikrokontrolérů.
  • AVRDUDE_PROG 3.1 - vizuální editor.
  • Code::Blocks  je multiplatformní vývojové prostředí.
  • DDD  je grafické rozhraní k avr-gdb.
  • eXtreme Burner - AVR je grafické rozhraní pro programátory USB AVR založené na USBasp.
  • Khazama AVR Programmer je grafické uživatelské rozhraní Windows pro USBasp a avrdude.
  • PonyProg  je univerzální programátor přes LPT-port, COM-port (podporován je i USB-emulátor COM-portu).
  • V-USB je softwarová implementace protokolu USB pro mikrokontroléry AVR.
  • WinAVR je softwarový balík pro Windows , který obsahuje kompilátor, assembler, linker a další nástroje.
  • Zadig 2.3
Proprietární
  • Atmel Studio  je bezplatné IDE od samotného Atmelu
  • IAR AVR  - komerční vývojové prostředí pro mikrokontroléry AVR
  • Bascom-avr  je vývojové prostředí založené na programovacím jazyku typu Basic .
  • CodeVisionAVR - C  kompilátor a programátor - CVAVR, generátor počátečního kódu.
  • Proteus  je simulátor elektrických obvodů, součástek včetně různých MK a dalších periferních zařízení.

Architektura AVR také umožňuje použití operačních systémů při vývoji aplikací, například FreeRTOS , uOS , ChibiOS / RT , scmRTOS ( C ++ ), TinyOS , Femto OS a další, stejně jako Linux na AVR32 . [2]

Viz také

Odkazy

Poznámky

  1. Archivovaná kopie . Získáno 28. ledna 2021. Archivováno z originálu dne 6. května 2021.
  2. AVR32737: AVR32 AP7 Linux Začínáme (únor 2008). Získáno 24. dubna 2017. Archivováno z originálu 29. března 2017.