Die AVR-Mikrocontroller von Atmel sind Minicomputer in besonders kompakter Bauform, die sich mit ihren zahlreichen Schnittstellen selbst für komplexere Steuer- und Regelaufgaben eignen. Zwar läuft kein Linux-Kernel auf dem Mikrocontroller, für die Software-Entwicklung unter Linux finden Sie jedoch alle nötigen Crosscompiler und Werkzeuge kostenlos im Internet.
|
Hersteller: Atmel [http://www.atmel.com]
Lieferumfang: AVR Butterfly mit Knopfzelle und vorinstallierter Beispiel-Firmware
Funktionsumfang: Uhrzeit, Datum, rudimentäre Soundausgabe, elektronisches Namensschild, Temperatur-, Helligkeits- und Spannungsmessung
Preis: ca. 30 bis 40 Euro
|
AVR-Hardware
Die AVR-Mikrocontroller-Familie[1] von Atmel basiert auf einem 8-Bit-Risc-CPU-Kern mit 32 8-Bit-Registern. Der Befehlssatz der CPU-Familie umfasst etwa 130 Instruktionen und ist sehr gut dokumentiert. Da es sich um eine Risc-CPU handelt, arbeitet sie fast alle Instruktionen in einem Taktzyklus ab. Bei einer Taktrate von 16 MHz erreichen AVR-Controller also fast 16 Mips (Million Instructions Per Second).
Im Controller sind SRAM, Flash und EEPROM integriert. Der Mikrocontroller ist für kleine Applikationen gedacht, der RAM also entsprechend. Der Flash-Speicher dient als Programmspeicher und das EEPROM nimmt kleinere Datenmengen auf, etwa Einstellungen oder Programmparameter.
Die AVR-Controller haben für den Hobbyentwickler einige Vorteile, so ist der Assembler-Befehlssatz sehr komfortabel - Sie brauchen also keine Angst davor zu haben, Programme in Assembler schreiben zu müssen. Für den Programmtransfer zum Mikrocontroller ist außerdem keine aufwändige Programmierhardware erforderlich, eine synchrone serielle Vierdraht-Schnittstelle (SPI) reicht aus. Diese kann zudem unproblematisch mit der seriellen oder parallelen Schnittstelle eines Standard-PC emuliert werden. Das tatsächliche Programmier-Interface reduziert sich damit auf ein paar Drähte, Widerstände und Kondensatoren.
Das Starterkit AVR Butterfly ist ein gut ausgestattetes, fertig aufgebautes und mit 30 bis 40 Euro ungewöhnlich preiswertes System. Ein paar Bezugsquellen nennt Tabelle 1, Ausstattungsdetails beschreibt der Kasten "Hardware-Ausstattung von Butterfly". Highlights sind das LC-Display mit 100 Segmenten, die eingebauten Sensoren und die serielle Schnittstelle mit RS-232-Pegeln. Das Ganze hat Atmel zusammen mit einer 3-Volt-Knopfzelle für die Stromversorgung auf einer Platine von der Größe einer Visitenkarte untergebracht, Butterfly ist also sogar portabel zu betreiben.
- Atmel Atmega 169 AVR Controller
- LC-Display mit 100 Segmenten
- 4 MBit separater Daten-Flash
- 32-kHz-Oszillator zum Betrieb der Realtime-Clock (RTC)
- Vier-Wege-Joystick zur Bedienung
- Lichtsensor (LDR)
- Temperatursensor (NTC)
- Piezolautsprecher
- Serielle Schnittstelle mit RS-232-Pegeln
- A/D-Wandler-Eingang für Spannungen von 0 bis 5 Volt
-
Ein-/Ausgänge für: A/D-Wandler, Spannung, UART, USI,
Port-B JTAG
- Port-D und In-System-Programmer (ISP)
|
Benötigte Teile
Für die Programmierung sind noch einige Bauteile für den Adapter und vor allem ein geregeltes 5-V-Netzteil erforderlich, weil Butterfly normalerweise mit +3-V-Versorgungsspannung betrieben wird, die parallele PC-Schnittstelle aber +5-V liefert. Für den Programmieradapter brauchen Sie noch einen 25-poligen Sub-D-Stecker zum Anschluss an die parallele Schnittstelle, eine mindestens 6-polige und etwa 50 Zentimeter lange Leitung, am besten Flachbandleitung, und eine 2x3-polige Stiftleiste, also zweireihig mit je drei Pins und 2,54 Millimeter Rastermaß.
Der Anschluss erfolgt entsprechend Tabelle 2, die Belegung der ISP-Kontakte am Butterfly zeigt Abbildung 1. Die Stiftleiste löten Sie entweder fest auf die Butterfly-Platine oder stecken sie nur zum Programmieren in die Lötaugen. Die zweite Methode belässt Butterfly in seinem Originalzustand, erfordert aber eine ruhige Hand.
|
|
|
Parallelport
|
Butterfly
|
Netzteil
|
|
19-25
|
GND
|
GND
|
|
1
|
PB1/SCK
|
|
2
|
PB2/MOSI
|
|
11
|
PB3/MISO
|
|
16
|
RESET
|
|
|
VCC
|
+5V
|
Abbildung 1: Butterfly ist für den Anschluss eines Programmierkabels vorbereitet, das Bild zeigt die Signalbelegung des Lötaugen-Felds auf der Platine.
Bevor Sie nun direkt den Lötkolben zücken, entfernen Sie noch die Batterie von der Platine oder isolieren sie mit einem Papierstreifen. Die In-System-Programmer-Schnittstelle dürfen Sie wegen der genannten Spannungsunterschiede ausschließlich mit einer externen Stromversorgung benutzen.
Bei langen Flachbandleitungen sollten Sie - wie in Abbildung 2 gezeigt - neben jeder Signalleitung eine Masseleitung führen, um Einstrahlungen und Übersprechen zu vermeiden - dafür brauchen Sie dann doppelt so viele Adern wie normal. Bei kurzen Kabelstrecken sind die zusätzlichen Masseleitungen nicht erforderlich.
Abbildung 2: AVR Butterfly hat rechts neben dem 100-Segment-Display einen Joystick. Unten ist der Programmier-Adapter mit zusätzlichen Masseleitungen zu sehen.