Hallo und Willkommen im AVR-PRAXiS-Forum!
Um etwas mit dem ATmega8 zu entwickeln, benötigst du eigentlich kein Entwicklungsboard. Es würde ausreichend, den Mikrocontroller (
ATmega8) auf eine
Lochrasterplatine zu löten (zu stecken) oder auf ein
Breadboard zu stecken, eine 5V Spannungsversorgung hinzuzufügen (Steckernetzteil und/oder Linearregler 7805 o.ä.), danach noch die gewünschte Peripherie hinzufügen (LEDs, Taster...), fertig.
Quarz (Systemtakt)
Die AVR Mikrocontroller haben sogenannte Fuses, mit denen stellst du über den Programmer zum Beispiel die Systemtaktquelle ein. Ausgeliefert werden die Mikrocontroller immer mit der Systemtaktquelle "interner RC-Oszillator". Für die ersten Schritte reicht es aus, hiermit zu arbeiten. Wenn du einen Quarz (zB 16MHz) an die Pins XTAL1/2 (mit 2 Cs 22pF nach GND) anschließt, und die Systemtaktquelle über die Fuses auf Quarzoszillator einstellst, ist der Systemtakt höher als der vom RC-Oszillator (1MHz) und auch genauer. Verwendest du in deinem Projekt den USART, bei dem die Baudrate wichtig ist, dann ist der Quarzoszillator besser geeignet, da die Fehlergrenzen kleiner sind als beim RC-Oszillator, bei vielen Sachen reicht aber wirklich der interne RC-Oszillator. Aber aufpassen: Wählst du eine falsche Fusebiteinstellung, kann es passieren, dass sich der Mikrocontroller nicht mehr über ISP programmieren läßt (Programmierschnittstelle deaktiviert oder eine Systemtaktquelle gewählt, die nicht existiert).
Programmierung
Wenn du kein Entwicklungsboard (zum Beispiel STK500) mit on-board Programmer einsetzt, benötigst du noch einen Programmer. Hier würde ich keinen low-cost Programmer einsetzen. (für low-cost Programmer von ebay oder anderen Quellen kann ich selber übrigends keine Unterstützung geben, das machen ggf. aber andere User hier im Forum). In der Version 2 ist der
AVRISPmkII (Atmel) sehr gut, diesen kann ich dir empfehlen (setze ich u.a. selber ein). Der Programmer beherrscht die Programmierschnittstellen ISP, PDI und TPI. Er zerstört sich nicht gleich, wenn du hier etwas falsch anschließt. Für AVR Mega verwendest du ISP-Programmierung. Bei den keineren AVRs liegt die ISP Programmierschnittstelle an SCK, MISO, MOSI, RESET\ bei den größeren Megas an SCK, RXD0, TXD0, RESET\.
Entwicklungsboard
Du kannst zum Beispiel das
STK500 einsetzen, das Board ist allerings inzwischen schon etwas älter. Das Board hat eine RS232 Schnittstelle, du benötigst sicherlich ein USB-nach-RS232-Adapter. Du kannst dir auch einmal das
Nano Board anschauen, dies ist eine Alternative zum STK500 und unabhängig von der Entwicklungsumgebung, die Bediensoftware läuft auf Windows (ist eine Eigenentwicklung). Es gibt noch diverse andere Boards, für die ich allerdings kein Support leiste, aber hier wird sicherlich der eine oder andere User bei Problemen helfen können.
Für größere Mikrocontroller (zum Beispiel ATmega128 oder ATmega2560 oder auch Xmega128A1) gibt es fertige Minimalsysteme. Zum Beispiel die AVR-Mikrocontrollermodule
Mega128-USB (aktuell nicht verfügbar, in der Fertigung),
Mega2560-USB.
Das waren nun erst mal ein paar Informationen. Ich habe dir einige Links eingefügt, diese verweisen auf den
mikrocontroller-praxis.de Onlineshop (hiermit finanzieren wir auch das AVR-PRAXiS-Forum).
Zusammengefasst würde ich so anfangen:
- ATmega8 auf Lochraster oder Breadboard
- erst einmal internen Oszillator verwenden, wenn Takt und Genauigkeit ausreicht (Fuses nicht ändern)
- Spannungsversorgung 5V (zB feriges PowerSupply für Breadboard)
- AVRISPmkII Programmer (Atmel)
- Atmel Studio 6 (C für angehenden Ingenieur )
Viel Spaß noch bei der Entwicklung
Dirk