Forum: Mikrocontroller und Digitale Elektronik USBASP und Pinbelegung


von Arti (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe eine Frage bezüglich zu der Verbindung zw. dem uC und dem 
USBASP. Ist es so wie gezeichnet richtig angeschlossen?

Kann der USBASP den uC versorgen oder ist der Jumper überflüssig?

von batman (Gast)


Lesenswert?

Kommt auf den USBASP an. Die meisten haben einen Jumper, über den das 
Target versorgt werden kann. Der muß dann möglichst richtig gesteckt 
werden und dann is gut.

von Axel S. (a-za-z0-9)


Lesenswert?

Arti schrieb:

> Ich habe eine Frage bezüglich zu der Verbindung zw. dem uC und dem
> USBASP. Ist es so wie gezeichnet richtig angeschlossen?

Jein. Was sollen die Schottky und der Jumper?

> Kann der USBASP den uC versorgen oder ist der Jumper überflüssig?

Kommt auf die konkrete Hardware an. Die Minimalvariante des usbasp 
verwendet die Betriebsspannung des Targets nicht, um irgendwelche 
Pegelwandler zu parametrisieren. Statt dessen sind GND, MISO, MOSI, SCK 
und Reset des Targets direkt mit den entsprechenden Pins des µC auf dem 
usbasp verbunden. In der Vcc Leitung hat der usbasp bereits einen 
Jumper. Ist dieser gesteckt, versorgt der usbasp das Target. Ist er 
nicht gesteckt, ist dem usbasp die Targetspannung egal.

Langer Rede kurzer Sinn: wenn du das Target aus dem usbasp versorgen 
können willst, schließe den Vcc Pin des ISP-Steckers direkt an Vcc des 
Targets an. Wenn nicht, laß ihn ganz frei.

Eine Besonderheit ergibt sich, wenn targetseitig noch weitere 
Verbraucher an Vcc hängen, die mehr Strom brauchen würden als der usbasp 
liefern kann. Wenn man dann zum Programmieren trotzdem den Target-µC 
über den usbasp versorgen will, kann man entweder einen Jumper zwischen 
µC-Vcc und Rest-Vcc vorsehen (der dann zum Programmieren gezogen wird). 
Oder eine Schottky an Stelle dieses Jumpers in Richtung zum µC.

Beispiel für letzteres: 
Beitrag "noch ein AVR Moodlight - Schaltplan"


XL

von Arti (Gast)


Angehängte Dateien:

Lesenswert?

Shottky habe ich als Verpolschutz für externe Versorgung drin. Du hast 
natürlich Recht, der Jumper sollte auf die VCC-Leitung vom USBASP, weil 
ich evtl. mehr als 100mA brauche. Auf meinem USBASP ist leider nur ein 
Lötjumper für die 5V/3.3V Auswahl. Trotzdem vielen Dank für den Hinweis.
Ich habe das Bild wenig upgedatet, was die USBASP Verbindung aus der 
Sicht der Platine darstellt.

von Arti (Gast)


Lesenswert?

Heute bin ich wieder dazu gekommen was auszuprobieren. Habe USBASP unter 
Atmelstudio eingebunden und konnte nach anfänglichen Problemen 
(Antivirus hat make.exe geblockt) compilieren. Nun sagt AVRDUDE beim 
raufspielen folgendes:

avrdude.exe: set SCK frequency to 32000 Hz
avrdude.exe: warning: cannot set sck period. please check for usbasp 
firmware update.
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to 
override
             this check.

Die Pinbelegung habe ich jedoch überprüft und es sscheint alles zu 
stimmen.
VCC,GND,MOSI,MISO,SCK,/RESET sind am uC angeschlossen. An den Pins 
,MOSI,MISO,SCK,/RESET ist nichts ausßer USBASP dran. Kann es sein, dass 
man MOSI vom USBASP mit MISO des uCs verbinden muss und nicht wie in 
meinem Bild dargestellt?

Arguments vom AVRDude sind folgende (für Attiny45):
C:\WinAVR-20100110\bin\-e -P usb -c USBasp -B 20 -p t45 -e -U 
flash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":a

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Arti schrieb:
> Kann es sein, dass
> man MOSI vom USBASP mit MISO des uCs verbinden muss und nicht wie in
> meinem Bild dargestellt?

Nein, schon richtig, MOSI gehört an MOSI, MISO an MISO.

> avrdude.exe: set SCK frequency to 32000 Hz
> avrdude.exe: warning: cannot set sck period. please check for usbasp
> firmware update.

Da wird eine Warnung angezeigt. Hast du sie ernst genommen und ein 
Firmware-Update durchgeführt?

von Arti (Gast)


Lesenswert?

Kann man die neue Firmware über USB drauf spielen?

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Arti schrieb:
> Kann man die neue Firmware über USB drauf spielen?

Ja, man kann mit einem USBasp einen anderen USBasp neu programmieren. 
Kommt natürlich immer ein bisschen auf den Typ an, USBasp gibts ja 
einige verschiedene. Meistens muss man einen bestimmten Jumper setzen, 
damit sich der USBasp programmieren lässt: Das ist der Anschluss für die 
Reset-Leitung, aber das siehst du am besten im Schaltplan des 
Programmers.

von Arti (Gast)


Lesenswert?

Ich habe einen solchen hier: http://www.ebay.de/itm/151004745042
In der Beschreibung steht, dass der Adapter für Attiny45 geeignet ist.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Arti schrieb:
> Ich habe einen solchen hier: http://www.ebay.de/itm/151004745042
> In der Beschreibung steht, dass der Adapter für Attiny45 geeignet ist.

OK, da wurde dir anscheinend einer mit sehr alter Firmware verkauft. Die 
Versionen bis 2009 unterstützen keine Takteinstellung. Meistens haben 
sie stattdessen einen Jumper, mit dem man die Frequenz etwas 
runtersetzen kann, aber das geht nur bis zu einem bestimmten Grad. 
Trotzdem - einen Versuch wär es natürlich wert.

Die Artikelbeschreibung ist natürlich trotzdem richtig, man kann damit 
auch einen ATtiny45 programmieren. Er muss aber intern auf eine mittlere 
oder hohe Taktfrequenz eingestellt sein.

von Axel S. (a-za-z0-9)


Lesenswert?

Arti schrieb:

> Nun sagt AVRDUDE beim raufspielen folgendes:
>
> avrdude.exe: set SCK frequency to 32000 Hz
> avrdude.exe: warning: cannot set sck period. please check for usbasp
> firmware update.
> avrdude.exe: error: programm enable: target doesn't answer. 1
> avrdude.exe: initialization failed, rc=-1

Die Fehlermeldung besagt, daß dein USBASP eine uralte Firmware drauf 
hat. Eine bei der man die Brenngeschwindigkeit noch nicht per Software 
einstellen kann. Das kann das Problem sein, muß es aber nicht.

> Die Pinbelegung habe ich jedoch überprüft und es sscheint alles zu
> stimmen.
> VCC,GND,MOSI,MISO,SCK,/RESET sind am uC angeschlossen. An den Pins
> ,MOSI,MISO,SCK,/RESET ist nichts ausßer USBASP dran.

Und was ist mit der Betriebsspannung? Versorgst du den µC separat?

Arti schrieb:
> Ich habe einen solchen hier: http://www.ebay.de/itm/151004745042

Da sehe ich auf der Unterseite der Platine einen Lötjumper "power output 
enable". Wenn du deinen µC aus dem USBASP versorgen willst, dann muß der 
geschlossen sein.

Auf der Oberseite der Platine ist ein weiterer Lötjumper: "Slow SCK". 
Wenn der geschlossen ist, verwendet der USBASP seine langsamste 
Brenngeschwindigkeit. Damit könntest du das Problem mit der alten 
Firmware umgehen (wenn es das überhaupt ist).

Direkt neben "Slow SCK" ist ein Jumper "Self Prog". Wenn der gesetzt 
ist, kannst du deinen USBASP über seine 10-polige Stiftleiste 
programmieren (Firmware-Update). Ein direktes Update per USB-Booloader 
geht beim USBASP nicht.

Es ist ein bekanntes Ärgernis, daß die Chinesen auf ebay immer so 
hornalte Firmware in ihren USBASP haben. Deswegen der Tip, gleich 2 
Stück zu kaufen. Dann kann man den einen verwenden, um den anderen 
upzudaten.


XL

von Arti (Gast)


Lesenswert?

Also mein USBASP führt Spannung heraus. Auf der Testplatine habe ich 
ebenfalls die Externe Versorgung und kann per Jumper zw. der USBASP VCC 
oder VCCextern wählen. Beides hilft nicht. Slow SCK Jumper habe ich 
heute kurz geschlossen. Jetzt scheint die USBASP SCK tatsächlich 
langsamer zu laufen (rote LED bleibt länger an), jedoch noch keine 
Verbindung zum uC. Vielleicht ist der an einem ESD Schaden gestorben 
oder ich habe in meinem Aufbau doch noch einen Fehler :(

von Arti (Gast)


Lesenswert?

Ich habe heute via Arduino einen Firmwareupdate vom USBASP gemacht und 
trotzdem bekomme ich den Attiny45 nicht programmiert. Die MCU wird 
schlichtweg nicht erkannt...
Ich habe schon einen neuen Attiny in die Schaltung eingelötet, nichts 
hilft....

5V (extern), GND, MISO, MOSI, REST und SCK sind dran.
Woran könnte es noch liegen?

avrdude.exe: set SCK frequency to 1000 Hz
avrdude.exe: error: programm enable: target doesn't answer. 1
avrdude.exe: initialization failed, rc=-1
             Double check connections and try again, or use -F to 
override
             this check.

von Axel S. (a-za-z0-9)


Lesenswert?

Arti schrieb:
> Ich habe heute via Arduino einen Firmwareupdate vom USBASP gemacht

Gut!

> trotzdem bekomme ich den Attiny45 nicht programmiert. Die MCU wird
> schlichtweg nicht erkannt...
> Ich habe schon einen neuen Attiny in die Schaltung eingelötet, nichts
> hilft.
>
> 5V (extern), GND, MISO, MOSI, REST und SCK sind dran.
> Woran könnte es noch liegen?

Im Prinzip könnte der ATtiny verfused sein, so daß er einen externen 
Quarz/Resonator/Takt erwartet. Wenn allerdings ein fabrikneuer ATtiny 
sich genauso verhält ...

Prüfe nochmal alle Verbindungen. Miß das Kabel durch. Prüfe GND - das 
liegt nach Atmel Spec an insgesamt 5 Pins des 10-poligen Steckers an, 
die alle verbunden sein sollten. Prüfe auch, ob nicht ein 
Pfostenverbinder vielleicht verdreht aufgecrimpt ist.

Hat dein ATtiny einen Abblock-Kondensator von 100nF zwischen Vcc und 
GND? Falls du mit den Fuses nicht sicher bist: lege einen Takt von 
100kHz ... 20MHz (was dein ATtiny kann) an den Takteingang (Pin 2, 
PB3). Z.B. aus einem 555 oder einen Quarzoszillator (Konservendose).


XL

von Helmut H. (helmuth)


Lesenswert?

google mal nach usbasp pinout
Pin 3 des Anschluss-steckers hat nicht bei jedem USBASP GND, ist oft 
auch NC.
Pin 4 und Pin 6 würde ich wegen möglichem Tx und Rx nicht verbinden.

Übrigens bei mir kommt beim Flashen eine 45 oder 85 immer
1
 avrdude.exe: warning: cannot set sck period. please check for usbasp 
2
firmware update.

Das habe ich bisher erfolgreich ignoriert.

: Bearbeitet durch User
von Arti (Gast)


Lesenswert?

Also GND ist bei mir auf der Platine nicht durchgehend verbunden, an NC 
und direkt unter VCC die zwei Pins. Durchpiepen von GND der Platine, 
egal zu welchem Pin am USBASP ist erfolgreich. Also VCC und GND sind da. 
Dadurch, dass ich die FW vom USBASP updaten konnte, gehe ich davon aus, 
dass USBASP auch in Ordnung ist.

Helmut H. schrieb:
> Übrigens bei mir kommt beim Flashen eine 45 oder 85 immer avrdude.exe:
> warning: cannot set sck period. please check for usbasp
> firmware update.
>
> Das habe ich bisher erfolgreich ignoriert.
Wenn du einen Arduino hast, kannst mit Hilfe dieser Anleitung die neuste 
FW raufspielen.
Link: http://www.rogerclark.net/?p=702

Seit dem Update der FW kommt die Meldung "warning: cannot set sck 
period" nicht mehr.

von Helmut H. (helmuth)


Lesenswert?

Um einzugrenzen, auf welcher Seite das Problem liegt, könntest du mal 
versuchen mit dem Arduino direkt den Tiny zu programmieren.

Arti schrieb:
>> Das habe ich bisher erfolgreich ignoriert.
> Wenn du einen Arduino hast, kannst mit Hilfe dieser Anleitung die neuste
> FW raufspielen.

Mich hats bisher nicht gestört, da ich die Tinys mit 5 Volt und 1 oder 8 
MHz betreibe.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.