AVR

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

Die AVR-Mikrocontroller von Atmel sind besonders in Deutschland sehr beliebt, da sie meist in DIL-Gehäusen verfügbar sind, per In-System-Programming programmiert werden können, und eine Vielzahl von kostenlosen Programmen zur Softwareentwicklung (Assembler, Compiler) existiert. Diese Eigenschaften machen den AVR zum perfekten Mikrocontroller für Anfänger.

Über die Bedeutung des Namens "AVR" gibt es verschiedene Ansichten; manche meinen er sei eine Abkürzung für Advanced Virtual RISC, andere vermuten dass der Name aus den Anfangsbuchstaben der Namen der Entwickler (Alf Egin Bogen und Vegard Wollan) zusammengesetzt wurde. Laut Atmel ist der Name bedeutungslos.

Architektur

Die Architektur ist eine 8-Bit-Harvard-Architektur, das heißt es gibt getrennte Speicher für Programmcode (Flash-ROM) und Daten (RAM). Bei der Programmierung hat das den Nachteil dass sich Konstanten aus dem ROM nicht mit dem gleichen Code laden lassen wie Daten aus dem RAM. Abgesehen davon ist der Aufbau des Controllers recht übersichtlich und birgt wenige Fallstricke.

  • 32 (größtenteils gleichwertige) Register
  • 3 Pointerregister
  • ca. 110 Befehle die meist 1-2 Taktzyklen dauern
  • Taktfrequenz bis 20 MHz
  • Betriebsspannung von 1,8-5,5 V
  • Speicher: 1-256 kB Flash-ROM, 128 B-4 kB EEPROM, 0-8 kB RAM
  • Peripherie: AD-Wandler, SPI, I²C (TWI), UART
  • JTAG bei den größeren ATmegas

Software

Starterkits

Kommerzielle Programmiergeräte (* Hardware-Debugger)

  • STK500
  • AVR-ISP / AVR-ISP mkII
  • AVR-Dragon *
  • AVR JTAG-ICE *

Projekte

Tutorials

Tipps & Hinweise

  • AVR Typen - Die verschiedenen Typen (AT90S, ATmega, ATTiny)
  • AVR Checkliste - Liste mit Hinweisen zur Lösung üblicher Probleme
  • Fuse-Bits - Das Setzen der Fuse-Bits ist ein berüchtigter Fallstrick bei den AVRs; vor dem Rumspielen damit unbedingt diese Hinweise lesen!
  • AVR In System Programmer - Programmierhardware
  • Pony-Prog Tutorial - Hinweise zur Programmiersoftware PonyProg
  • AVRDUDE - Programmiersoftware für die Kommandozeile
  • AVR-GCC-Codeoptimierung - Wie man mehr aus dem Controller rausholen kann, ohne ein Assembler-Guru sein zu muessen.
  • AVR Softwarepool - Verschiedene Softwaremodule und Codeschnippsel aus der Codesammlung

Weitere Verweise (Links) auf externe Informationen und Projekte finden sich in der Linksammlung.