Programmieradapter

Werbung
Mikrocontrollertechnik
2011
Selbstbau-Programmieradapter
Der folgende Programmieradapter ist für Mikrocontroller der 8­Bit­AVR®­Familie der Firma ATMEL® geeignet. Er wurde von Christian Ulrich (www.ullihome.de) entwickelt und wird mit „USB AVR Lab“ bezeichnet.
Er wird einfach mit einem ATmega8 oder ATmega8A Baustein aufgebaut. Die Schnittstelle USB 1.1 wird dabei softwaremäßig im ATmega8 implementiert. Der Programmieradapter funktioniert mit Studio 4 und Bascom unter Windows, bzw. mit avrdude unter Linux und auch unter MacOS (X).
Das USB AVR Lab ist aber noch viel mehr. Über ein Bootloader­Programm und eine komfortable PC­Software lässt sich die Funktion der Schaltung fast beliebig verändern. Neben verschiedenen Programmiergeräten (STK500v2, AVRISPmk2, USBasp) kann das Lab als Entwicklungsplattform, Oszilloskop, Boundary Scan Interface, Protokoll­Logger (z.B. I2C), USB­EIA232 Wandler oder als Schalter benutzt werden.
Das USB AVR Lab bietet eine direkte UART Schnittstelle zum Zielsystem an dem 10­poligen ISP­Stecker Pin 4 und 6! (diese sind sonst mit Masse belegt). Es ist also möglich direkt ohne EIA232­Wandler vom Zielsystem (Target) serielle Daten an die virtuelle Com­Schnittstelle des PC zu senden.
Weitere Informationen zu den vielen Möglichkeiten findet man auf
"www.ullihome.de"
Vorgehensweise beim Bau des AVR-Lab
Die Anleitung bezieht sich auf den Bau einer DIP­Version mit 5 V.1
Zuerst muss die Schaltung nach folgendem Schaltplan gebaut werden. Hierzu kann zum Beispiel einfach eine Lochrasterplatine verwendet werden. Es ist auf eine sorgfältige Ausführung zu achten und auf eine eingehende Kontrolle vor der Inbetriebnahme.
Es wird im Normalfall nur eine der beiden Programmierbuchsen benötigt.
1 Für wenig Geld kann man auch eine äußerst kleine 3V SMD­Version bei Christian Ulrich bestellen.
Selbstbau-Programmieradapter
1
Mikrocontrollertechnik
2011
Schaltplan:
Beispiel: schneller Aufbau auf Lochrasterplatine (ältere Version):
2
Selbstbau-Programmieradapter
Mikrocontrollertechnik
2011
Nach dem Bau wird der ATmega8 mit dem Bootloader­Programm: BOOTLOADER_M8.hex
(extrahiert aus avrisp_bootloader_m8_2009­04­01.zip) programmiert. 2 Die Hexfile ist erhältlich unter:
"Firmware, Aktuelle Firmware, Bootloader für ATMega8 Stand 01.04.2009"3 auf: "http://www.ullihome.de/index.php/USBAVR­ISP­Download/de".
Die Fuse­Bits müssen auf 0xC8 (High), 0xBF (Low) programmiert werden!
Dies entspricht:
BOOTSZ=00, CKOPT=0
BODLEVEL=1, BODEN=1, CKSEL=1111, SUT=11
(0 bedeutet programmiert)
Auf der gleichen Internetseite kann die PC­Software runter geladen werden. Nach der Installation der AVR Lab Tool (+Programmer) Software kann die Schaltung an den USB­
Bus angesteckt werden. Wenn noch keine Firmware programmiert wurde (außer natürlich dem Bootloader) wird der Bootmodus aktiviert. Unter Windows benötigt der Hardware­
Assistent eine Treiberdatei. Der Pfad (C:\Programme\USB AVR Lab Tool\driver) zu dieser Datei muss dem Hardwareassistent mitgeteilt werden.
Nun kann mit dem Programm "USB AVR Lab Tool" die Firmware aufgespielt werden. AVRISPmkII auswählen und den Programmieren­Button anklicken. Danach den Start­
Button klicken.
Jetzt emuliert der USB AVR Lab einen AVRISP mkII. Erneut muss unter Windows dem Hardwareassistenten der Pfad (C:\Programme\USB AVR Lab Tool\driver) zur Treiberdatei mitgeteilt werden.
Sollte das AVR Lab in den Bootmodus gezwungen werden, um zum Beispiel eine andere Firmware aufzuspielen, so muss einfach der Jumper J3 gesteckt werden, damit der Bootloader erkannt wird.
Weitere Informationen zum
Programmieradapter:
Die grundlegende Software wurde wahrscheinlich zuerst von Ing. Igor Češko entwickelt: (www.cesko.host.sk/IgorPlugUSB_RS232/IgorPlug­USB%20(AVR)%20RS232_eng.htm). Weiterentwickelt von der Firma "object development" aus Österreich:
(www.obdev.at/products/avrusb/index.html).
Abgespeckt, verändert und erweitert von Christian Ulrich (www.ullihome.de).Interessanter Artikel zur Software auf: "www.obdev.at/developers/articles/00003.html"
12 Mhz Quarz da 12 MHz = 8*1,5 Vielfaches der USB Datentransferrate von 1,5 MBit/s.
Bei Problemen mit der USB­Spannung kann ein größerer ELKO verwendet werden, auch wenn man dann gegen die USB­Spezifikationen verstößt. Man kann auch Z­Dioden von 3,3 V statt 3,6 V einbauen.
2 Dies kann mit einem Programmiergerät praktischer weise gleich im Sockel des Lab erfolgen (siehe Steckbrücken).
3 Natürlich kann auch es auch eine aktuellere Version sein.
Selbstbau-Programmieradapter
3
Mikrocontrollertechnik
2011
LEDs:
Den Bootmodus erkennt man daran das die die grüne und die rote LED gleichzeitig leuchten. Alle Firmware­Varianten sollten beim Start für 1 Sekunde die rote LED einschalten.
Grün:
an:
Zielhardware richtig angeschlossen (wenn Jumper zur
Targetversorgung gesetzt ist leuchtet sie Dauer-Grün)
Rot:
an
Programmiervorgang läuft
blinkend:
Zielhardware falsch angeschlossen
Blau (gelb):
Zeigt die PC Verbindung an
aus:
keine Verbindung
an:
Verbindung kein Datentransfer
sporadisch aus:
LED ist während Datentransfers aus.
Steckbrücken:
Das AVR Lab kann auch dazu benutzt werden, einen ATmega8 (im Sockel des Lab) mit einem anderen Programmiergerät zu programmieren, um zum Beispiel den Bootloader aufzuspielen. Dazu müssen J1 und J2 gesteckt sein.4 J1:
Im normalen Betrieb nicht gesteckt!
J1 wird nur gesteckt zum Programmieren eines ATmega8 im Sockel des AVR Lab!
J2:
Bei eigener Versorgung des Target nicht gesteckt!
Targetversorgung VT = 5 V kann bis zu 100 mA ins Target speisen wenn gesteckt.
(MICES kann so sogar für meiste Anwendungen über USB gespeist werden).
Muss gesteckt sein um ATmega8 im Sockel des AVR Lab zu programmieren!
J3:
Im normalen Betrieb nicht gesteckt!
J3 gesteckt erzwingt den Bootmodus, um zum Beispiel eine andere Firmware
aufzuspielen.
ISP Frequenzen:
Im Studio 4 lässt sich im "Connect" Dialog unter Board die ISP­Frequenz einstellen. Diese soll immer kleiner als ein Viertel der Taktfrequenz des Zielsystems sein. Da der USB AVR Lab mit einem 12 MHz Quarz arbeitet werden die ISP Frequenzen leicht verändert umgesetzt. Beispiele:
ISP Frequenz Studio 4
1,8432 MHz
460,8 kHz
115,2 kHz
57,6 kHz und kleiner
USB AVR Lab Frequenz
1,5 MHz
375 kHz
93,75 kHz
1 kHz
4 Die Spannungsversorgung erfolgt über das USB Kabel.
4
Selbstbau-Programmieradapter
Herunterladen