AVR Programmierkabel

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 selbst gelötetes Kabel für den Druckerport genügt auch.

Hardware

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 (ja, es geht auch ohne die Widerstände). 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)

Anmerkung: Viele aktuelle PCs haben keine parallele Druckerschnittstelle mehr. Mit einer PCI-Zusatzkarte wurde die u.g. Software erfolgreich getestet. Die Port-Adresse ist in der Systemsteuerung zu finden. USB-Parallel-Adapter funktionieren höchstwahrscheinlich nicht, da diese nicht direkt über eine Port-Adresse angesprochen werden können.

Software

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 graphische Oberfläche bevorzugt, kann auch die Basic-Entwicklungsumgebung Externer LinkBASCOM 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 Atmel AVR Mikrocontroller Projekte Projekt uC diy selbstbau tutorial µC selbstgebaut schaltung schaltplan schema bauplan bauanleitung schematic programmierung elektronik controller embedded Atmega8 Atmega32 arduino bascom avr-gcc avr studio atmega microcontroller isp