AVR: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 52: | Zeile 52: | ||
* [[Pulsuhrempfänger mit AVR Butterfly]] | * [[Pulsuhrempfänger mit AVR Butterfly]] | ||
* [[Projekt Fahrradcomputer]] | * [[Projekt Fahrradcomputer]] | ||
(siehe auch [[Linksammlung]]) | |||
== Tutorials == | |||
* http://www.mikrocontroller.net/tutorial/ | |||
* http://www.avr-asm-tutorial.net | |||
[[Category:Mikrocontroller]][[Category:AVR]] | [[Category:Mikrocontroller]][[Category:AVR]] |
Version vom 2. Dezember 2004, 17:42 Uhr
Allgemein
- Hersteller: Atmel
- AVR steht für Advanced Virtual RISC (in einem Paper von Alf Egin Bogen und Vegard Wollan)
- 8 Bit
- Architektur ist für Hochsprachen (C) optimiert
- Harvard-Architektur (getrennter Befehls- und Datenspeicher)
- 32 Register, kein Akkumulator
- 3 Pointerregister
- Multiplikationsbefehle bei den neueren ATmegas
- ~60 Befehle
- die meisten Befehle dauern 1 oder 2 Taktzyklen
- 1-128kB Flash-ROM, 128B-4kB EEPROM, 0-4kB RAM
- viele Typen mit ADC, SPI, I2C
- In-System progammierbar
- JTAG bei ATmegas mit mindestens 16 KB ROM (ausgenommen ATmega103)
- Assembler, Simulator und guter C-Compiler kostenlos (AVR-GCC)
Das Design, das an der Universität für Technologie in Trondheim/Norwegen entwickelt wurde, hat Atmel von einer Schwedischen Firma gekauft. Laut Atmel bedeutet AVR garnichts, manche behaubten es bedeute "Alf (Egil Bogen) and Vegard (Wollan)'s Risc processor" oder "Arnes og Vegards RISC"...
Typen
AT90
Die "Basic Line" der AVR Reihe. Sie beinhaltet die ersten AVRs die produziert wurden und beginnen alle mit "AT90". Alle Typen wurden mit der Zeit von den beiden Nachfolgereihen ersetzt: ATMega bzw. ATTiny.
ATMega
Die ATmega-Mikrocontroller sind ein Teil der AVR-Controllerfamilie. Zusammen mit den ATTiny lösen die ATmega die AT90S-Serie schrittweise ab, wobei es in den meisten Fällen weitgehend pin- und funktionskompatiblen Ersatz für die abgekündigten Controller gibt (ATmega8 statt AT90S4433, ATmega8515 statt AT90S8515 usw.).
ATMEL ATmega AVRs werden mit aktiviertem internem Taktgeber ausgeliefert. Schließt man ein andere externe Taktquelle an (Quarz, Quarzoszillator o.ä.), wird diese nicht automatisch genutzt. Zum Aktivieren müssen die Fuse-Bits des Controllers entsprechend eingestellt werden (siehe Datenblatt).
Bei ATmegas mit integriertem JTAG-Interface (z.Zt. solche ab 16kB Flash-Speicher) werden ab Werk mit aktiviertem JTAG-Interface ausgeliefert. Dieses Interface belegt vier Port-Pins (PORTC bei ATmega16/32), die nicht für eigene Anwendungen genutzt werden können, solange das JTAG-Interface aktiviert ist. Das Interface lässt sich über ein Fuse-Bit (JTAGEN) dauerhaft, und über ein Bit im MC-Kontroll-Register (MCUCR) per Software zur Laufzeit an- und abschalten (siehe Datenblatt).
Beim ATmega128 ist ab Werk die Mega103-Kompatibilitätsfuse gesetzt. Um alle Erweiterungen des Mega128 gegenüber dem Mega103 zu nutzen muß diese deaktivert werden. Diese Fuse sorgt außerdem dafür daß das SRAM in einem anderen Adressbereich liegt. Dadurch funktionieren C-Programme nur bis zum ersten Funktionsaufruf.
ATTiny
Die ATTiny stellen das untere Ende der neuen AVR Linie von Atmel da und waren zunächst durch das Fehlen von internem SRAM gekennzeichnet. Mittlerweile gibt es aber so bemerkenswerte Controller wie den ATtiny2313, deren Möglichkeiten und Funktionen den ATMegas in nichts nachstehen. Der ATtiny2313 soll aber leider erst ab September 2004 lieferbar sein.
Ein weiterer Unterschied zu den ATmegas ist der fehlende Hardwaremultiplizierer. Jede Multiplikation muß also in Software ausgeführt werden.
Starterkits
Projekte
- Projekt Digitaler Funktionsgenerator
- Projekt Mr.MIDI - Midi Rekorder mit MMC/SD-Karte
- Projekt Schrittmotor-Controller (Stepper)
- Pulsuhrempfänger mit AVR Butterfly
- Projekt Fahrradcomputer
(siehe auch Linksammlung)