Usbasp: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 12: | Zeile 12: | ||
Vor dem Benutzen sind die Fuse Bits zu setzen, um den externen 12Mhz Oszillator zu verwenden. | Vor dem Benutzen sind die Fuse Bits zu setzen, um den externen 12Mhz Oszillator zu verwenden. | ||
# TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef | # TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef | ||
# TARGET=atmega48 HFUSE=0xdd LFUSE=0xff | |||
== Firmware == | == Firmware == | ||
Zeile 17: | Zeile 18: | ||
Schreibe die [http://www.das-labor.org/files/usbasp.2009-02-28.tar.gz Firmware] Datei "bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex" mit einen funktionierenden Programmieradapter auf den µC (e.g. with avrdude, uisp, ...). | Schreibe die [http://www.das-labor.org/files/usbasp.2009-02-28.tar.gz Firmware] Datei "bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex" mit einen funktionierenden Programmieradapter auf den µC (e.g. with avrdude, uisp, ...). | ||
Jumper J2 aktiviert die Update Funktion des USBasp (Reset Pin des µC lässt sich über den Programmierstecker ansprechen) | Jumper J2 aktiviert die Update Funktion des USBasp (Reset Pin des µC lässt sich über den Programmierstecker ansprechen) | ||
== Firmware flashen == | |||
Wird der neue USBasp (1) mit einem anderen, bereits funktionierendem, USBasp (2) programmiert muss man den LOW-Speed Jumper an (2) setzen. | |||
Jumper J2 aktiviert die Update Funktion des USBasp (1) (Reset Pin des µC lässt sich über den Programmierstecker ansprechen) | |||
Ausserdem muss an (1) und (2) der Supply-Voltage Jumper gesetzt werden. | |||
Mit avrdude wird das HEX-File in (1) geladen und anschliessend die Fuses gesetzt. ''' Wichtig !!!''' | |||
Die Befehle fuer Atmega8, programmiert ueber USBasp sind: | |||
avrdude -c usbasp -p atmega8 -U /home/Downloads/usbasp.2009-02-28/bin/firmware/usbasp.atmega8.2009-02-28.hex | |||
avrdude -c usbasp -p atmega8 -U lfuse:w:0xEF:m -U hfuse:w:0xC9:m | |||
== Alternative Firmware == | == Alternative Firmware == |
Version vom 16. Januar 2010, 18:36 Uhr
Was ist der USBasp?
Das USBasp ist ein USB in-circuit Programmiergerät für Atmel AVR Microcontroller, wie z.b. die ATtiny oder ATmega Serien. Es besteht einfach aus einem ATmega8 (es kann auch ein ATmega48 verwendet werden) und einer Reihe von passiven Komponenten. Die USB funktionalität wird in software implementiert, sodass kein spezieller USB Controller notwendig ist.
USBasp ist unter der GNU GPL Version 2 erhätlich und wurde von Thomas Fischl entwickelt (siehe Links).
Fuses
Vor dem Benutzen sind die Fuse Bits zu setzen, um den externen 12Mhz Oszillator zu verwenden.
- TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
- TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
Firmware
Schreibe die Firmware Datei "bin/firmware/usbasp.atmega8.xxxx-xx-xx.hex" mit einen funktionierenden Programmieradapter auf den µC (e.g. with avrdude, uisp, ...). Jumper J2 aktiviert die Update Funktion des USBasp (Reset Pin des µC lässt sich über den Programmierstecker ansprechen)
Firmware flashen
Wird der neue USBasp (1) mit einem anderen, bereits funktionierendem, USBasp (2) programmiert muss man den LOW-Speed Jumper an (2) setzen.
Jumper J2 aktiviert die Update Funktion des USBasp (1) (Reset Pin des µC lässt sich über den Programmierstecker ansprechen)
Ausserdem muss an (1) und (2) der Supply-Voltage Jumper gesetzt werden.
Mit avrdude wird das HEX-File in (1) geladen und anschliessend die Fuses gesetzt. Wichtig !!!
Die Befehle fuer Atmega8, programmiert ueber USBasp sind:
avrdude -c usbasp -p atmega8 -U /home/Downloads/usbasp.2009-02-28/bin/firmware/usbasp.atmega8.2009-02-28.hex avrdude -c usbasp -p atmega8 -U lfuse:w:0xEF:m -U hfuse:w:0xC9:m
Alternative Firmware
Christian Ulrich hat eine Firmware entwickelt, die auf dem usbasp ohne bauliche Veränderung lauffähig, jedoch wesentlich flexibler einsetzbar ist.
Statt der usbasp Firmware wird der ATmega8 auf dem Board mit einem Bootloader geflasht. Dieser ermöglicht es, mittels dem zugehörigen "Lab Tool" von Christian Ulrich, bei jedem Einstecken des Adapters eine beliebige Firmware zu wählen. Derzeit ist zwischen folgenden Firmwares frei wählbar: AVRISP mkII, STK500v2, JTAGICE mkII und usbasp (Stand: 13.07.2009). Zusätzlich gibt es diverse Firmware, die den Programmieradapter zweckentfremdet, um beispielsweise den I²C-Bus auszulesen.
Alle notwendigen Dateien wie Firmware oder "Lab Tool" sind direkt über die Seite von Christian Ulrich abrufbar. Für weitergehende Informationen siehe Links.
Platinenlayout im SVN
https://www.das-labor.org/trac/browser/microcontroller/doc/Layouts/usbasp
Bauteilliste für USBasp
Stand: 24. März 2009
Diese Bauteilliste dient als Ergänzung zu den PDFs mit dem Platinen-Layout und der Platinen-Bestückung vom 24.03.2009 (Danke Tixiv).
Wer diese Bauteilliste benutzt, möge sich anhand der genannten PDFs vergewissern, dass diese Liste aktuell ist.
( In den Klammern ist die Reichelt Bestellnr. )
== Widerstände == 2 x Widestand 68 Ohm ( 1/4W 68 ) 1 x Widerstand 270 Ohm ( 1/4W 270 ) 2 x Widerstand 390 Ohm ( 1/4W 390 ) 1 x Widerstand 1,5 K-Ohm ( 1/4W 1,5K ) 1 x Widerstand 10 K-Ohm ( 1/4W 10K ) == Kondensatoren == 1 x Elektrolytkondensator ( RAD 10/63 ) 2 x Keramik-Kondensator ( KERKO 27P ) 1 x Folienkondensator 100 nF Rastermaß 7,5 mm ( MKS-4 100N ) alternativ: 1 x Keramik-Kondensator ( KERKO 100N ) == Dioden == 1 x Led rot ( LED 5MM RT ) 1 x Led grün ( LED 5MM GN ) 2 x Zener-Diode 3,6V ( ZF 3,6 ) == IC , Quarz == 1 x IC AVR ATmega8 DIL-28 ( ATMEGA 8-16 DIP) 1 x Standardquarz 12,00 MHz ( 12,0000-HC49U-S ) == Steckverbindungen / Rest == 1 x USB-B-Buchse, gewinkelt ( USB BW ) 1 x Wannenstecker, 10-polig, gerade ( WSL 10G ) 1 x Stiftleiste, gerade, RM 2,54 ( SL 1X36G 2,54 ) 1 x IC-Sockel, 28-polig, schmal ( GS 28P-S ) 3 x Jumper ( JUMPER 2,54 SW)
Bauteilkosten
pi mal Daum 3,-- EUR
HINWEIS
Alternativ zum 100 nF Folienkondensator kann auch ein Vielschicht-Keramik-Kondensator eingesetzt werden. Wer kein Freund von USB-Serie-B ist, der kann auch die flache USB-Serie-A (gewinkelt) nehmen. Die 36-polige Stiftleiste (11 Cent) erscheint angesichts der benötigten 6 Stifte ein wenig overkill, aber bei Reichelt gibt es nichts kleineres.
Es _muss_ ein _gerader_ Wannenstecker verbaut werden.
Viel Spaß mit dem Gerät!