|
Hardwaremässig wird der SPI-Anschluss auf Seite des Programmiergerätes wie der zu programmierenden Platine standardmässig über 6 oder 10-polige Messerstecker (Pfostenstecker, “Wannenstecker”) realisiert, das Programmierkabel hat an den Enden entsprechende Pfostenbuchsen.
Für die praktische Realisierung eines SPI-ISP-Adapters für AVRs gibt es sehr vielfältige Möglichkeiten (siehe [2]) Hier das Open-Source-Projekt von Thomas Fischl “USBasp” (USB basiertes Programmier- gerät für Atmel AVR Mikrocontroller), für den es auch einen preiswerten “offiziellen” Bausatz gibt. (Schaltbild) Grundlage ist ein ATmega88, der per Software eine USB-Schnittstelle nachbildet.[4]
Das Programmiergerät wird über die USB-Schnittstelle mit +5 V versorgt. Die grüne LED zeigt die Stromversorgung an, die rote Datenverkehr.
Belegung der drei Jumper (normal - offen):
JP1 - SCK option - Low Speed, wenn zu programmierender AVR mit weniger als 1,5 MHz betrieben wird (notwendig bei neuen Mikro- controllern die mit 1 MHz Taktfrequenz vom internen RC-Ozillator arbeiten)
JP2 Firmware Upgrade - erlaubt das Programmieren des eingebauten ATmega8 mit einem anderen Programmiergerät
JP3 Power Target - bei geschlossenen Jumper kann die Zielschaltung mit Strom vom Programmiergerät versorgt werden oder - wenn der AVR im USBasp mit einem zweiten Programmiergerät selbst programmiert werden soll, der AVR mit Strom versorgt werden (USBasp nicht am USB-Port anschließen).
USBasp benötigt unter Windows einen Treiber [3], im Geräte-Manager wird beim 32-Bit-Vista eine libusb-win32 device hinzugefügt.
Der Programmer verwendet für die Programmierung seine eigenen 5 V, sollen AVR mit einer niedrigeren Spannung (3,3 V) programmiert werden, gibt es möglicherweise Probleme (High-Pegelerkennung). Abhilfe schafft eine kleine Hardwareänderung - 2 Si-Dioden und Durchlassrichtung in der Stromversorgung des ATMega88 bewirken, das dieser mit ca. 3,6 V betrieben wird. Siehe den Beitrag von Vlad Tepesch.
Als Programmiersoftware unter Windows eignet sich u.a. Avrdude (Kommandozeilen- programm) bzw. Avrdude mit grafischer Benutzeroberfläche.
Falls man nicht den AVR-Mikrocontroller in einer Zielschaltung mit SPI-ISP-Interface programmieren will, benötigt man noch irgendeinen Adapter mit den entprechenden IC-Sockeln. Hierfür eignet z.B. das von “Pollin” (www.pollin.de) als Bausatz und Fertiggerät vertriebene preiswerte “Atmel Evaluationsboard” (Ver. 2.01):
|