Usbasp: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
(liste von kum)
 
Keine Bearbeitungszusammenfassung
 
(26 dazwischenliegende Versionen von 15 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Der USBasp ist ein kleines, preiswertes ISP Programmiergerät für Atmel atiny und Atmega Microcontroller.  
[[Datei:Usbasp.jpg|300px|right]]




== Platinenlayout im svn ==
== Was ist der USBasp? ==


https://roulette.das-labor.org/trac/browser/microcontroller/doc/Layouts/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.


== Bauteilliste für USBasp ==
USBasp ist unter der GNU GPL Version 2 erhätlich und wurde von Thomas Fischl entwickelt (siehe [[Usbasp#weiterführende Links |Links]]).
<pre>
 
Stand: 24. März 2009
== 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 [http://www.fischl.de/usbasp/usbasp.2011-05-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)


Diese Bauteilliste dient als Ergänzung zu den PDFs mit dem Platinen-Layout und der Platinen-Bestückung vom 24.03.2009 (Danke Tivix). Wer diese Bauteilliste benutzt, möge sich anhand der genannten PDFs vergewissern, dass diese Liste aktuell ist.
== Firmware flashen ==


( in Klammern Reichelt Bestellnr. )
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)


== Widerstände ==
Ausserdem muss an (1) und (2) der Supply-Voltage Jumper gesetzt werden.


2 x Widestand 68 Ohm ( 1/4W 68 )
Mit avrdude wird das HEX-File in (1) geladen und anschliessend die Fuses gesetzt. ''' Wichtig !!!'''
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 )


Die Befehle fuer Atmega8, programmiert ueber USBasp sind:


== Kondensatoren ==
  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


1 x Elektrolytkondensator ( RAD 10/63 )
== Alternative Firmware ==
2 x Keramik-Kondensator ( KERKO 27P )
1 x Folienkondensator 100 nF Rastermaß 7,5 mm ( MKS-4 100N )


Christian Ulrich hat eine Firmware entwickelt, die auf dem usbasp ohne bauliche Veränderung lauffähig, jedoch wesentlich flexibler einsetzbar ist.


== Dioden ==
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.


1 x Led rot ( LED 5MM RT )
Alle notwendigen Dateien wie Firmware oder "Lab Tool" sind direkt über die Seite von [http://www.ullihome.de/index.php/USBAVR-ISP-Download/de Christian Ulrich] abrufbar. Für weitergehende Informationen siehe [[Usbasp#weiterführende Links |Links]].
1 x Led grün ( LED 5MM GN )
2 x Zener-Diode 3,6V ( ZF 3,6 )


== Platinenlayout ==


== IC , Quarz ==
[[Medium:Usbasp.tar.gz | Layout und Bestueckungsplan]]


1 x IC AVR ATmega8 DIL-28 ( ATMEGA 8-16 DIP)
Wer es sich zutraut, kann bei [[Benutzer:Suschman|Suschman]] auch eine SMD-Platine des USBASP von [http://www.haka-lp.de/html/body_avr-programmer.html Haka-LP] bekommen. Diese ist aber aufgrund des kompakten Aufbaus erst für Fortgeschrittene zu empfehlen. Hier gibt es einen Reichelt-Warenkorb mit allen Bauteilen für die SMD-Variante: [https://secure.reichelt.de/?;ACTION=20;LA=5010;AWKID=312732;PROVID=2084 USB-ASP SMD "www.haka-lp.de"]. Mit dabei sind auch die 3,3V Zener-Dioden. Der 2,55kOhm Widerstand wurde durch einen 2,2kOhm-Typ ersetzt, die beiden LEDs sollten auch damit zurecht kommen.
1 x Standardquarz 12,00 MHz ( 12,0000-HC49U-S )


== Bauteilliste für USBasp ==


== Steckverbindungen / Rest ==
[[USBaspTeile | Aktuelle Bauteilliste inkl. Reichelt Bestellliste ]]


1 x USB-B-Buchse, gewinkelt ( USB BW )
[http://www.das-labor.org/wiki/Bausätze Der Bausatz kann auch hier im Labor erworben werden.]
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)
</pre>
== Bauteilkosten ==
pi mal Daum 3,-- EUR


== HINWEIS ==
== 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.
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.


Viel Spaß an dem Gerät!
Es '''muss''' ein '''gerader''' Wannenstecker verbaut werden.


Viel Spaß mit dem Gerät!


== weiterführende Links ==
== weiterführende Links ==
[http://www.fischl.de/usbasp Thomas Fischl]
[http://www.fischl.de/usbasp USBasp von Thomas Fischl]
 
[http://www.ullihome.de/index.php/Hauptseite#USB_AVR-Lab AVR ISP von Christian Ulrich]

Aktuelle Version vom 18. Oktober 2013, 15:26 Uhr

Usbasp.jpg


Was ist der USBasp?[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

Vor dem Benutzen sind die Fuse Bits zu setzen, um den externen 12Mhz Oszillator zu verwenden.

  1. TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
  2. TARGET=atmega48 HFUSE=0xdd LFUSE=0xff

Firmware[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

Layout und Bestueckungsplan

Wer es sich zutraut, kann bei Suschman auch eine SMD-Platine des USBASP von Haka-LP bekommen. Diese ist aber aufgrund des kompakten Aufbaus erst für Fortgeschrittene zu empfehlen. Hier gibt es einen Reichelt-Warenkorb mit allen Bauteilen für die SMD-Variante: USB-ASP SMD "www.haka-lp.de". Mit dabei sind auch die 3,3V Zener-Dioden. Der 2,55kOhm Widerstand wurde durch einen 2,2kOhm-Typ ersetzt, die beiden LEDs sollten auch damit zurecht kommen.

Bauteilliste für USBasp[Bearbeiten | Quelltext bearbeiten]

Aktuelle Bauteilliste inkl. Reichelt Bestellliste

Der Bausatz kann auch hier im Labor erworben werden.

HINWEIS[Bearbeiten | Quelltext bearbeiten]

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!

weiterführende Links[Bearbeiten | Quelltext bearbeiten]

USBasp von Thomas Fischl

AVR ISP von Christian Ulrich