AVR

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2015. december 25-én felülvizsgált verziótól ; az ellenőrzéshez 41 szerkesztés szükséges .

Az AVR  nyolc bites mikrovezérlők családja , amelyet korábban az Atmel , majd a Microchip gyártott . Fejlesztés éve - 1996 .

Az AVR architektúra története

Az új RISC - mag kifejlesztésének ötlete a Norvég Tudományos és Technológiai Egyetem (NTNU) két hallgatója, a norvég Trondheim városából - Alf-Egil Bogen és Vegard Wollen. 1995-ben Bogen és Wollen úgy döntött, hogy javaslatot tesz a Flash memória chipjeiről ismert amerikai Atmel vállalatnak egy új, 8 bites RISC mikrokontroller kiadására, és Flash memóriával való ellátására egyetlen, számítási maggal rendelkező chipen lévő programok számára.

Az ötletet az Atmel Corp. jóváhagyta, és úgy döntöttek, hogy azonnal befektetnek ebbe a fejlesztésbe. 1996 végén megjelent egy kísérleti AT90S1200 mikrokontroller, majd 1997 második felében az Atmel Corporation megkezdte egy új mikrokontroller család tömeggyártását, reklámozását és műszaki támogatását.

Az új magot szabadalmaztatták, és az AVR nevet kapta . Ennek a rövidítésnek többféle értelmezése van. Valaki azt állítja, hogy ez egy fejlett virtuális R ISC, mások úgy vélik, hogy A lf Egil Bogen V egard Wollan R ISC nem lehetett itt.

Az építészet leírása

Az AVR mikrokontrollerek Harvard architektúrájúak (a program és az adatok különböző címterekben vannak), és a RISC ideológiához közel álló parancsrendszerrel rendelkeznek . Az AVR processzor 32 8 bites általános célú regiszterrel rendelkezik , amelyek egy regiszterfájlba vannak kombinálva. Az "ideális" RISC-vel ellentétben a regiszterek nem teljesen ortogonálisak:

Parancsrendszer

Az AVR mikrokontrollerek parancsrendszere rendkívül fejlett, és 90-135 [1] különböző utasítást tartalmaz a különböző modellekben.

A legtöbb utasítás csak 1 memóriahelyet foglal el (16 bit).

A legtöbb parancsot 1 ciklusban hajtják végre .

Az AVR mikrokontroller parancsok teljes készlete több csoportra osztható:

A perifériás eszközök vezérlése az adatcímtéren keresztül történik. A kényelem érdekében vannak "rövidített parancsok" IN / OUT.

Mikrokontrollerek családjai

Normál családok:

Az előtag utáni számok általában a beépített flash memória mennyiségét (KB-ban) és a vezérlő módosítását jelzik. Ugyanis az előtagot követő kettő maximális teljesítménye jelzi a memória mennyiségét, a fennmaradó számok pedig a módosítást (például ATmega128 - 128 KB memória; ATmega168 - 16 KB memória, módosítás 8; ATtiny44 és ATtiny45 - 4 KB memória, 4. és 5. módosítás).

A szabványos családok alapján mikrokontrollereket gyártanak, amelyek speciális feladatokra vannak adaptálva:

A fenti családokon kívül az ATMEL gyártja az AVR32 család 32 bites mikrokontrollereit , amely magában foglalja az AT32UC3 (órajel 66 MHz-ig) és az AT32AP7000 (órajel frekvencia 150 MHz-ig) alcsaládot.

Vezérlőverziók

Az AT (mega/tiny)xxx az alapverzió.
ATxxx L  - csökkentett (alacsony) tápfeszültségen (2,7 V) működő vezérlők változatai.
ATxxx V  - alacsony tápfeszültségen (1,8 V) működő vezérlők változatai.
ATxxx P  - alacsony fogyasztású változatok (legfeljebb 100 nA lekapcsolási módban), picoPower technológiát használnak (2007 júliusában bejelentették), pin-out és funkcionálisan kompatibilis a korábbi verziókkal.
ATxxx A  - az áramfelvétel csökken, a két korábbi verzió órajel-frekvenciáinak és tápfeszültségeinek teljes tartománya le van fedve (egyes modellekhez új funkciók és új regiszterek is hozzáadódnak, de a korábbi verziókkal való teljes kompatibilitás megmarad). Az "A" és a "non-A" mikrokontrollerek általában azonos aláírással rendelkeznek, ami némi nehézséget okoz, mivel a biztosítékbitek különböznek.

A modellszámot a verziót jelző index követi. Az index előtti számok (8, 10, 16, 20) azt a maximális frekvenciát jelzik , amelyen a mikrokontroller normál tápfeszültség mellett stabilan tud működni.

Az index első betűje a hajótest változatát jelöli:

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





A következő betű a hőmérséklet-tartományt és a gyártási jellemzőket jelenti:

ATxxx-x C  - kereskedelmi hőmérséklet tartomány (0 °C - 70 °C)
ATxxx-x A  - hőmérséklet tartomány -20 °C - +85 °C, ólommentes forrasztóanyag
felhasználásával ATxxx-x I  - ipari hőmérséklet tartomány (-40 °C C - +85 °C)
ATxxx-x U  - Ipari hőmérséklet tartomány (-40 °C - +85 °C), ólommentes forrasz
felhasználásával ATxxx-x H  - Ipari hőmérséklet tartomány (-40 °C - +85 °C) , NiPdAu
ATxxx-x N használatával  - kiterjesztett hőmérsékleti tartomány (-40 °C - +105 °C), ólommentes forrasztással
ATxxx-x F  - kiterjesztett hőmérséklet-tartomány (-40 °C - +125 °C)
ATxxx-x Z  - autóipari hőmérséklet-tartomány (-40 °C - +125 °C)
ATxxx-x D  - kiterjesztett autóipari hőmérséklet-tartomány (-40 °C - +150 °C)

az utolsó R betű a Tape & Reel csomagolást jelenti automatizált összeszerelő rendszerekhez.

I/O eszközök MK

Az MK AVR fejlett perifériával rendelkezik:

Megjegyzés: Nem minden perifériát lehet szoftverrel engedélyezni. Ezek egy részét először a Fuses regiszterekben lévő bitekkel kell aktiválni, amelyeket csak a programozó módosíthat.

Fejlesztő eszközök

Fejlesztő hardver

Az Atmel hivatalos AVR fejlesztői eszközei:

Számos harmadik féltől származó eszköz is létezik, különösen az amatőrök.

Fejlesztő szoftver

Ingyenes
  • Az Algorithm Builder  egy algoritmikus szoftverfejlesztő környezet AVR architektúrájú mikrokontrollerekhez (utoljára 2010-ben frissítették).
  • Az AVR-Eclipse egy beépülő modul az Eclipse fejlesztői környezethez , amely lehetővé teszi programok fejlesztését C / C ++ nyelven és assembler, programozás és hibakereső vezérlők külső eszközlánc (Atmel AVR Toolchain, WinAVR) segítségével.
  • Az avra egy konzolmakró-összeállító Linux/MacOS rendszerhez.
  • Az Avrdude egy eszköz a mikrokontrollerek villogtatására.
  • AVRDUDE_PROG 3.1 – vizuális szerkesztő.
  • A Code::Blocks  egy többplatformos fejlesztői környezet.
  • A DDD  az avr-gdb grafikus felülete.
  • Az eXtreme Burner - AVR egy grafikus interfész az USBasp alapú USB AVR programozók számára.
  • A Khazama AVR Programmer egy Windows grafikus felhasználói felület az USBasp és avrdude számára.
  • A PonyProg  egy univerzális programozó LPT-porton, COM-porton keresztül (a COM-port USB-emulátora is támogatott).
  • A V-USB az USB protokoll szoftveres megvalósítása AVR mikrokontrollerekhez.
  • A WinAVR egy szoftvercsomag Windowshoz , amely fordítót, összeállítót, linkert és egyéb eszközöket tartalmaz.
  • Zadig 2.3
Tulajdonos
  • Az Atmel Studio  egy ingyenes IDE az Atmeltől
  • IAR AVR  - kereskedelmi fejlesztési környezet AVR mikrokontrollerekhez
  • A Bascom-avr egy Basic - szerű programozási nyelven  alapuló fejlesztői környezet .
  • CodeVisionAVR - C  fordító és programozó - CVAVR, kezdeti kódgenerátor.
  • A Proteus  elektromos áramkörök, alkatrészek szimulátora, beleértve a különféle MK-kat és egyéb perifériás berendezéseket.

Az AVR architektúra lehetővé teszi az operációs rendszerek alkalmazásfejlesztésben történő használatát is, például FreeRTOS , uOS , ChibiOS / RT , scmRTOS ( C ++ ), TinyOS , Femto OS és mások, valamint Linux AVR32 -n . [2]

Lásd még

Linkek

Jegyzetek

  1. Archivált másolat . Letöltve: 2021. január 28. Az eredetiből archiválva : 2021. május 6..
  2. AVR32737: AVR32 AP7 Linux Kezdő lépések (2008. február). Letöltve: 2017. április 24. Az eredetiből archiválva : 2017. március 29.