Atmel-AVR-ISP-Programmer
(zur Programmierung von Atmel-AVR-MicroControllern)
(Eine Unterseite von http://www.oliver-schlenker.dyndns.org)

Beschreibung:

Immer wieder habe ich mal die Anfrage bzw. auch selbst mal das Problem einen ATMega32 oder ATMega644 für das AVR-NET-IO mit einer neuen Firmware zu bespielen. Vor einiger Zeit habe mir mal einen Parallel-Port-Programmer für diese Aufgabe zugelegt. Inzwischen habe ich mal geschaut, ob ich so ein Teil nicht selbst auf die Reihe bekomme. Hier nun das Ergebnis über einen kleinen, guten und günstigen "Selbstbau-Programmer". Diesen Programmer habe ich mit PonyProg von Claudio Lanconelli, Bascom von MCS-Electronics und AVRDude (in Verbindung mit der Oberfläche AVR8-Burn-O-Mat) getestet und mit allen diesen Programmen funktionierte das Teil tadellos. Ein Rechner mit einer nativen LPT-Schnittstelle ist allerdings Voraussetzung!

(Um die Grafiken klarer und detaillierter zu sehen, solltet Ihr einen Klick mit der linken Maustaste
auf der entsprechenden Grafik ausführen!)


Hier mal der Schaltplan (10poliger ISP-Pfostenstecker bei Draufsicht von oben und der
25polige Sub-D-Stecker bei Draufsicht auf die Anschlusspins "von außen"):

Ich habe mir hier einfach eine Pfostenbuchse auf ein 10poliges Flachbandkabel gequetscht und dann die entsprechenden Adern der entsprechenden Pins auf dem 25pol-Sub-D-Stecker verlötet. ACHTUNG: Pin1 = rote Ader liegt links bei Draufsicht auf die Steckkerbe für den ISP-Anschluß. Auf der Pfostenbuchse ist auch normal eine kleiner Pfeil für Pin1 (links von der Steckerkerbe) angebracht.

Hier ein Bild mit den verlöteten 470-Ohm-Widerständen (es geht auch ohne die Widerstände, aber
zum Schutz der LPT-Schnittstelle sollte man die Teile einbauen; kosten ja kaum was):


Hier ein Bild vom fertigen und einsatzbereiten Programmer:


 

Im PonyProg-Programm stellt man dann unter "Setup" - "Interface-Setup" als Programmer-Typ den "DT-006 I/O" ein. Mit einem Druck auf "Probe" kann man anschließend testen, ob der Programmer ordnungsgemäß erkannt wird. Unter "Setup" - "Calibration" wird anschließend noch das korrekte Timing-Verhalten für den Programmer bzw. das Programm auf dem entsprechenden Rechner eingestellt. PonyProg ist mein bevorzugtes Programm, wenn es darum geht Hex-Files (Pollin-Firmware auf einen ATMega32 oder E2000-Firmware auf einen ATMega644) aufzuspielen. Bei Fragen zu den Fusebits könnt Ihr Euch gerne an mich wenden. Ansonsten werden die Fusebits, je nach µController, ja auch im Handbuch (bei Pollin für das AVR-NET-IO-Board) und in den einschlägigen Foren genannt. Beim Bascom-Programm wird der Programmer als Typ "Sample Electronics Programmer" eingestellt und funktioniert dann ebenfalls problemlos. Im Programm AVRDude wird der Programmer als "STK200"-Programmer angesprochen und funktioniert dort auch ohne Probleme.

Ich denke das Programmierkabel ist recht praktisch, um hier selbst mal einen µController (z. B. vom AVR-NET-IO-Board o. ä.) zu flashen, ohne sich gleich einen teuren Programmer kaufen zu müssen. Es wird allerdings eine entsprechende Hardware-LPT-Schnittstelle (LPT1 bis LPT3) vorausgesetzt,
welche auf moderneren Computersystemen eventuell nicht mehr vorhanden sind.
Mit USB-zu-LPT-Adaptern wird die Sache wahrscheinlich nicht funktionieren, da diese Adapter
nach meinen Erfahrungen meistens keine native LPT-Portadresse zur Verfügung stellen und somit
in den MicroController-Programmen dadurch einfach nicht anwählbar sind.
(Der Nachbau dieses Atmel-AVR-Programmers geschieht auf Eure eigene Gefahr.
Ich kann keine Verantwortung für beschädigte Rechner, LPT-Schnittstellen, µController oder
Programmierboards übernehmen. Ich bitte dafür um Euer Verständnis!)

Bei Interesse, Fragen, Wünsche, Anregungen, Lob oder Kritik könnt Ihr mir gerne eine

eMail senden an: Oliver.Schlenker@T-Online.de