www.blafusel.de

  Home  |   Privat  |   Impressum  |   Bücher  |   Computer  |   Mikrocontroller  |   Misc  |   OBD  |   Forum

µC mit AVR ATmega8

Nach dem ich die C-Control als für mich unzureichend abgehakt hatte, machte ich mich auf die Suche nach einem neuen Prozessor. Die Wahl viel auf den AVR ATmega8 (Advanced Virtual RISC) von Atmel. In der Familie der AVR 8-Bit RISC Devices gibt es zwar leistungsfähigere Prozessoren mit mehr Speicher etc. aber der ATmega8 hat den Vorteil, in einem 28-poligen Gehäuse handlicher zu sein, als die 40-poligen Varianten. Außerdem reichen die Eckwerte aus: 8-Kbyte self-programming Flash Program Memory, 1-Kbyte SRAM, 512 Byte EEPROM, bis zu 23 I/O-Leitungen, max. 8MHz (ATmega8L8)/16MHz (ATmega8-16). Vorteilhaft ist auch der günstige Preis von unter € 3,- (bei Reichelt; wenn man bedenkt, daß Conrad dafür fast € 10,- verlangt, lohnt sich sich die Bestellung eines einzelnen Bausteins trotz der Versandkosten und man kann ja noch ein sowieso immer notwendiges USB-Kabel oder so ordern, was man ja fast geschenkt bekommt angesichts der Tastsache, daß man für den Preis sonst nicht einmal 5m ordinäres Kabel ohne Stecker bekommt) und der minimalistische Aufwand externer Bauteile. Selbst der Quarz könnte weggelassen werden, da der Prozessor dann mit einem 1MHz internen Taktgeber arbeitet. Da der externe Takt nicht intern geteilt wird, wie bei der C-Control, und pro Befehl nur 1-2 Takte benötigt werden, lassen sich bei einem 8MHz Quarz bis zu 1 Millionen einfache Ein-Aus Schaltvorgänge pro Sekunde an einem Port erreichen. Durch externe Bauteile sind eine RS232- oder I2C-Schnittstelle einfach zu realisieren.

Durch ISP (In System Programming) kann der Baustein direkt auf der fertig aufgebauten Schaltung mit Hilfe eines einfachen Programmieradapters programmiert werden. Zur Verfügung stehen als Programmiersprache Assembler (AVR-Studio, kostenlos), Basic (BASCOM-AVR, € 80,-) und ANSI C (AVR-GCC/WinAVR, kostenlos). Das AVR-Studio enthält einen guten Simulator, der auch die von Basic und C erzeugten HEX-Dateien verarbeiten kann und u. a. die Ports darstellt usw. Ich nutze das hervorragende C, das keine Wünsche offen läßt und zu dem es auch eine größere Nutzergemeinde gibt, die sich im Forum austauscht.

Wie bei jedem µC gibt es nur eine begrenzte Anzahl an Schreib-/Löschzyklen (bei unbegrenzter Anzahl von Lesezyklen). Beim ATmega8 sind das 10.000 für den Flash-Speicher, der den Programmcode aufnimmt und 100.000 für den EEPROM. Auch deshalb lohnt es sich, mit dem billigen ATmega8 zu beginnen, da er ohne finanziellen Ruin schnell ersetzt werden kann, wenn man viel mit der Programmierung experimentiert hat. Angesichts von vielleicht 50-100 Schreibzyklen an einem Tag während der Kennenlernphase steht der Austausch aber trotzdem erst nach ca. 100-200 Tagen an.

Abseits des einfachen Weges mit der C-Control ist man bei wohl jedem einzeln verfügbaren Prozessor auf die teilweise unbefriedigenden und widersprüchlichen Dokumentationen (im Web) angewiesen. Es handelt sich um ein Projekt für Tüftler, die auch mal ein wenig experimentieren wollen, dafür aber mit einer leistungsfähigen CPU und individuellen, maßgeschneiderten Lösungen für wenig Geld (ca. € 20,- im Selbstbau für ein Experimentierbord mit ISP-Adapter) belohnt werden. Erfahrung beim Programmieren und vor allem Lesen von Anleitungen, Handbüchern und Datenblättern sollten vorhanden sein bzw. bereitwillig gelernt werden. Einige Tips gebe ich hier deshalb zum Besten. Eine halbwegs brauchbare Einführung in den Aufbau eines einfachen µC findet man bei mikrocontroller.net. Hier wird aber noch der ausgelaufene ältere Typ beschrieben. Der ATmega8 benötigt keinen externen Taktgeber. Roland Walter bietet eine weitere Einsteigerseite.

Nutze das Diskussionsforum!