AVR
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 20MHz
- Betriebsspannung von 1,8-5,5 V
- Speicher
- Peripherie: AD-Wandler, Timer, SPI, I²C (TWI), UART, externer SRAM
- JTAG bei den größeren ATmegas
Software
- AVR-Studio: Kostenlose Enwicklungsumgebung mit Simulator
- KontrollerLab: Kostenlose Entwicklungsumgebung für KDE
- AVR Eclipse: Plugin-basierte kostenlose Entwicklungsumgebung (Win, Linux, Mac)
- AVR-GCC: Kostenloser C-Compiler
- Bascom AVR, FastAVR: beliebte Basic-Compiler
- AVRCo Pascal Compiler
- amforth: interaktives ANS Forth für AVR unter GNU Lizenz (Open Source)
Boards & Starterkits
- diverse im Mikrocontroller.net-Shop
- STK200
- STK500
- STK600
- AVR Butterfly
- AVR-ISP / AVR-ISP mkII
- AVR-Dragon
- AVR JTAG-ICE
- RN-Control
- C-Control PRO
- myAVR Board
- AVR Lehrbuch und -bausatz
- preiswerte Starterkits sowie Lösungen für RFID-125kHz und EtherNet
- Rumpus von lochraster.org, ist ein günstiges und gut dokumentiertes Starterkit mit Atmega 168
- Laborboard von das-labor.org - Bauplan Lochrasterplatine mit Atmega32
Projekte
- PWM_foxlight - LED Lampe mit PWM
- Digitaler Funktionsgenerator
- Midi Rekorder mit MMC/SD-Karte
- Schrittmotor-Controller (Stepper)
- Pulsuhrempfänger mit AVR Butterfly
- DCF77-Funkwecker mit AVR
- Fahrradcomputer
- Einfacher und billiger Webserver mit AtMega32
- AVR RFM12
- Selbstbau Schachcomputer SHAH mit ATMega88V
- Giess-o-mat - vollautomatische Blumengiessanlage
Tutorials
Literatur
- W.Trampert AVR-RISC Mikrocontroller Franzis 2002 ISBN 3772354742
- M.Schwabl-Schmidt Programmiertechniken für AVR-Mikrocontroller Elektor 2008 ISBN 3895761761 Webseite des Autors
- M.Schwabl-Schmidt Systemprogrammierung für AVR-Mikrocontroller Elektor 2009 ISBN 3895762180
- C.Kühnel Programmieren der AVR RISC Mikrocontroller mit BASCOM-AVR 2008 ISBN 3898119378
- C.Kühnel Programmieren der AVR RISC Microcontroller mit BASCOM-AVR ISBN 3907857046
- AVR-RISC: Embedded Software selbst entwickeln ISBN 3772341071
- AVR: Hardware und C-Programmierung in der Praxis ISBN 3895762008
- Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie... ISBN 3486587900
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 herausholen 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.