Ein einfaches Programmierkabel für Atmel-AVR Mikrocontroller

Mit diesem Programmieradapter können AVR-Controller per ISP geflasht werden.

Zum programmieren von AVR-Controller ist nicht gleich ein ausgewachsenes Programmiergerät wie z.B. der USB-Programmer erforderlich. Ein einfaches selbstgelötetes Kabel für den Druckerport genügt auch.

Der Schaltplan des Kabels ist in Bild1 zu sehen. Die Signale werden auf eine 5-polige Buchsenleiste geführt. Die Widerstände R1-R3 begrenzen den Strom im Kurschlussfall auf ungefährliche Werte - wer ganz sicher gehen möchte, sollte eine LPT-Zusatzkarte verwenden.

Schaltplan des Programmierkabels

Bild 1: Schaltplan des Programmierkabels

Der Schaltplan zeigt die Pinbelegung gesehen von der Steckerseite. Pin 1 ist meistens (wenn man genau hinschaut) auf dem Stecker aufgedruckt. Von der Lötseite aus gesehen sollte es so aussehen:

Pinbelegung am Stecker

Bild 2: Pinbelegung am Stecker

Die Pinbelegung des ISP-Steckers (JP10 im Schaltplan) wurde so gewählt, dass die Leiterbahnen bei den meisten Controllern (2313 und ATMega) kreuzungsfrei verlegt werden können. Gegenüber dem üblichen 10-poligen Steckerverbinder ist das zudem noch deutlich platzsparender. Falls man schon ein AVR-Evaluation-Board besitzt, kann natürlich auch die Standard-Belegung verwendet werden:

Pinbelegung gemäß Atmel AVR042 (STK 500 bzw. STK200/300)

Bild 3: Pinbelegung gemäß Atmel AVR042 (STK 500 bzw. STK200/300)

Folgende Software ist zum programmieren geeignet:

Avrdude

Avrdude ist ein Kommandozeilen-Tool, welches als Open-Source für alle gängigen Betriebssysteme (Linux, MacOS, FreeBSD und Windows) Externer Linkverfügbar ist.

Der Aufruf zum flashen sieht beispielsweise so aus:
avrdude.exe -p M8 -c bascom -e -U flash:w:image.hex

Falls man eine PCI-Parallel-Port Karte verwendet, muss evtl. die Port-Adresse mit angegeben werden. Diese ist in der Systemsteuerung im Gerätemanager zu finden. Für die Adresse 0x8c00 sieht der Aufruf dann so:
avrdude.exe -p M8 -c bascom -P 0x8c00 -e -U flash:w:image.hex

Bascom

Wer unter Windows eine graphischer Oberfläche bevorzugt, kann auch die Basic-Entwicklungsumgebung BASCOM von MCS Electronics zum programmieren benutzen. Dazu muss lediglich "Sample Electronics Programmer" in den Einstellungen ausgewählt werden. Die Port-Adresse einer PCI-Parallel-Karte kann hier ggf. auch angeben werden. Der in Bild3 gezeigte integrierte Programmer unterstützt Hex- und Binary-Dateien ebenso wie das Lesen und Schreiben von EEprom und der Fusebits.

Bascom Screenshot

Bild 4: Bascom Screenshot

Tags: programmer kabel programmieren flashen flasher programmierer fuses setzen AVR Mikrocontroller Projekte Projekt uC diy selbstbau tutorial µC selbstgebaut schaltung schaltplan schema bauplan bauanleitung schematic programmierung elektronik controller Atmel embedded Atmega8 Atmega168 arduino bascom avr-gcc

zur�ck zu Elektronik-Projekte mit dem AT90S2313, ATMega8 und anderen AVR-Prozessoren Permalink: http://thomaspfeifer.net/einfaches_atmel_programmierkabel.htm
© 2010 Thomas Pfeifer