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?
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.
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
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.
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
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?
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.
Ich habe einen solchen hier: http://www.ebay.de/itm/151004745042 In der Beschreibung steht, dass der Adapter für Attiny45 geeignet ist.
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.
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
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 :(
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.
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
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.