USB Atmel ISP Programmer

USB_ASP_in_the_BoxUSB_ASP_Platine

Den Bausatz gibt es im Shop.
Natürlich inklusive des bereits programmierten ATmega8 - löten und fertig!

USBasp

Der USB ASP (USB Atmel SPI Programmer) ist kein Projekt von mir. Ich habe hier nur eine neue Platine mit Eagle layoutet. Lange habe ich einen Ersatz für meine LPT Lösung mit den 4 Widerständen gesucht, die bei mir lange Zeit Problemlos im Einsatz war. Allerdings verschwinden die Legacy Devices wie parallel Port und RS232 Schnittstelle, dafür tritt der USB Port immer mehr in den Vordergrund. Somit war es an der Zeit einen neuen Programmer für den USB Port zu finden. Den Programmer den ich gefunden habe, kommt mit nur einem einzigen IC einem Atmel ATmega 8 aus. Somit konnte ich mal wieder eine einseitige Platine erstellen, die ohne SMD Bauteile auskommt. Damit auch noch die Optik stimmt, passt die Platine in ein Alu Design-Gehäuse (Reichelt Bestellnummer:  FR 55 25 80 ME ca. 11€). Der USB-Treiber in der Firmware des ATmega8 stammt von der Firma objective development http://www.obdev.at/products/avrusb/projects-de.html und unterliegt der GPLv2, weiteres ist im SourceCode angegeben.

Hier gibt es alle Dateien für den Selbstbau!         

Layout, Software (19.06.2014)

FAQ:

Was bewirken die Jumper JP1, JP2, JP3?

  • JP1 wird nur zum Programmieren des Atmel ATmega8 auf dem USB Atmel SPI Programmers benötigt.
    Standard: Offen
  • JP2 wählt die Geschwindigkeit zum Programmieren der Zielhardware aus.
    Offen (Standard): maximale Geschwindigkeit / Geschlossen: geringe Geschwindigkeit.
  • Mit JP3 kann die Zielhardware über den USB Port mit Strom versorgt werden (nicht empfohlen).
    Standard: Offen
Ich erhalte folgende Fehlermeldung: "avrdude: error: programm enable: target doesn't answer. 1"  Was nun?
  • Die Geschwindigkeit des Programmers mit JP2 reduzieren.
    (Die AVRs arbeiten im Auslieferungszustand meist mit 1 Mhz internem Takt. Über die Fusebits lässt sich eine höhere Frequenz, oder ein externer Quarz, etc. aktivieren, dann kann JP2 wieder geöffnet werden)
  • Alle Verbindungen kontrollieren: Belegung, Kabelbruch, Kurzschluß, Leitungslänge, ...
Ich erhalte immer eine Fehlermeldung wie etwa: (Device signature = 0x000102, avrdude: Expected signature for ATtiny2313 is 1E 91 0A)
  • Die Zielschaltung nicht per USB über den Programmer mit Strom versorgen, sondern mit zusätzlicher Spannungsquelle. (JP3 öffnen)
  • Verbindungen der ISP-Schnittstelle kontrollieren
  • Den richtigen AVR angeben
USB ASP? ISP? SPI? Was denn nun?
  • USB ASP (USB Atmel SPI Programmer)
  • SPI (Serial Peripheral Interface), Standard für einen synchronen seriellen Datenbus
  • ISP (In-System Programmer), Geräte zum Programmieren von z.B. µC innerhalb von Schaltungen, der hier gezeigte Programmer gehört also zur Familie der ISP. (Oder auch: ... ist ein ISP.)
  • USB (Universal Serial Bus)
Funktionieren die USB-Treiber des Programmers auch mit Windows 7 / Windows Vista?
  • Ja, bei der Treiberinstallation einfach alle Warnungen mit OK bestätigen.
Welche Programmer Bezeichnung muss ich avrdude mitgeben?
  • USBasp (also ggf. im Makefile: AVRDUDE_PROGRAMMER = USBasp)
Gibt es ein grafische Oberfläche um AVRDUDE zu bedienen?
  • Es gibt mehrere Programme, wir empfehlen AVR8-burn-o-mat. Dies ist eine Java-Anwendung und erfordert natürlich eine Java-VM.
Treiber für 64 Bit Windows (Windows XP x64, Vista x64, 7 x64)?
  • Ab Vista x64 beachte readme.txt im Treiberarchiv.

Neues:

22.11.09:
Signierte Treiber (testsigning) für Installation auf Windows Vista x64; Windows 7 x64 hinzugefügt - readme.txt beachten.

08.02.09:
Neuen Treiber oben verlinkt, Text angepasst