PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : USBAsp Fusebits mit Bascom



BenniBiker
08.05.2008, 15:39
Hallo zusammen

Ich habe mir den USBAsp wie hier (http://www.ulrichradig.de/home/index.php/avr/usb-avr-prog) beschrieben aufgebaut und versuche jetzt die Fusebits zu setzen.
Ich benutze dafür einen LPT-Programmieradapter mit 3 Widerständen (z.B. wie diesem (http://thomaspfeifer.net/einfaches_atmel_programmierkabel.htm)).
Ich bekomme den in Ponyprog garnicht ans laufen und mit Avrdude bekomme ich das schreiben der Fusebits nicht hin (gleiches Problem wie hier (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=249619#249619)).
Vielleicht kann ja mal jemand ein Screenshot von seinen Fuses in Bascom machen oder sagen, was ich ändern soll, hab dazu nur Infos zu ner älteren Version von Bascom gefunden, da hat sich ja was mit dem KLA987 geändert...

Vielen Dank schonmal,

Benni


Edit: Am Programmieradapter kann es eigentlich nicht liegen, der hat schon einige µCs programmiert und in Bascom findet der meinen ATmega48 auch

SprinterSB
08.05.2008, 16:11
Schau mal ins Makefile, dass bei der USBasp Firmware dabei ist, da gibt's zB ein "make fuses" und auch "make help".

Im Makefile musst du evtl. Anpassungen machen
-- µC (ATmega8 oder ATmega48)
-- Progger für avrdude
-- Port für Progger

Ansonsten sind die hex-Werte der Fuses auch direkt im Makefile zu sehen.

Besserwessi
08.05.2008, 17:38
Es könnte ein Problem mit der Spannungsverorgung geben. Zum Programieren der Controllers auf den USBASP muß man ja die Schaltungmt 5 V Versorgen. Wenn man die Spannung vom USB nimmt, könnte man Probeleme durch eine Masseschleife oder Störungen vom USB haben. Die Schaltung könnte auch noch einen 2 ten Abblockkondensator gebrauchen.

BenniBiker
08.05.2008, 21:54
Hallo,

danke erstmal für eure antworten.
Ich habe ehrlich gesagt überhaupt keine ahnung von dem ganzen zeugs wie makefile und so, hab da drin auch nichts mit fuses gefunden...
ich hab bis jetzt nur mit Bascom gearbeitet, hab zwar auch vor mir mal C anzugucken, aber erstmal nur Bascom...
Ich hab den µC jetzt programmiert (da sind ja fertige hex-dateien für atmega8 und atmega48 bei), aber die Fusebits sind alle so wie vorher.

Der USBAsp wird auch nur als unbekanntes Gerät erkannt und die Treiber werden scheinbar auch nicht akzeptiert.

Abblockkondensator würde jetzt konkret bedeuten 10nF oder so parallel zu dem Elko oder?

Gruß, Benni

Besserwessi
08.05.2008, 22:40
Die Fusebits sollte man vom BASCOM aus setzen können (Ich kenne zwar nur ältere Versionen die den Mega48 noch nicht kannten, aber das sollte heute eigentlich kein Problem mehr sein).

Die Abblockkondesatoren sind direkt an den Versorgungsspannungspins am Controller 10 nF - 100nF. Das Layout von dem Link ganz oben, könnte noch einen auf der rechten Seite des Kontrollers gebrauchen.

Wie Wird denn die Schaltung mit Strom versorgt, um zu versuchen die Fuse Bits zu programmieren ?

BenniBiker
09.05.2008, 15:32
Ich denke schon, dass das mit den Fusebits im Bascom geht, ich weiß ja nur nicht welche ich setzten soll, weil die in Bascom anders heißen als in Ponyprog und ich habe nur Angaben zu den Fusebits in Ponyprog gefunden und bin deshalb verwirrt.

Mit dem Abblockkondensator werde ich mal sehen was sich machen lässt.

Die Schaltung wird im Moment per USB mit Strom versorgt, allerdings einfach über einen Hub, wo nur Strom angeschlossen ist.
Ich wollte die Schaltung nicht sofort an meinem Mainboard betreiben...

BenniBiker
09.05.2008, 17:04
Also ich habe das mit den Fusebits jetzt hinbekommen, habe mit avrdude-gui gearbeitet und der hat -U lfuse:w:EF -U hfuse:w:C9 ausgeführt.
Hier (http://wiki.elektronik-projekt.de/w/index.php/AVR_Fusebits_Tutorial#Fusebits_mit_AVRDUDE_program mieren) habe ich dann gelesen, dass ein :m hinter den die fusebits muss...
das hat dann zwar funktioniert, aber der USBAsp funktioniert trotzdem noch nicht so ganz, da werde ich jetzt erstmal ein bisschen rumtüfteln.

Trotzdem vielen Dank

BenniBiker
17.05.2008, 17:47
Wenn ich jetzt den USBAsp anschließe leuchtet (bzw. flimmert) die grüne LED und der Rechner meldet dass das Gerät nicht erkannt wurde, bzw. an dem anderen Rechner hängt sich der USB-Hub auf und kann erst nach einem Neustart wieder verwendet werden.
Nachdem ich versucht habe eine ältere Firmware (2007-07-23) zu installieren hat Bascom gemeldet Difference at 00007. Wenn ich nun versuche die neue Firmware (2007-10-23) wieder zu flashen meldet er Difference at 00003.
Dann habe ich einen neuen ATMega genommen und habe da das selbe Problem; USB-Gerät wird nicht erkannt, USB-Hub hängt sich auf und nach ein par flashversuchen kommen im Bascom die selben Fehlermeldungen.
Außerdem leuchtet die grüne LED nicht mehr...

Ich habe die Schaltung überprüft und keine unterbrochenen Leiterbahnen gefunden.

Im Schaltplan stehen 3,9V Z-Dioden, ich habe aber 3,6V, aber das müsste doch eigentlich trotzdem passen oder?

Wenn ich das richtig sehe hat das USB-Signal einen 5V-Pegel, der durch die Z-Dioden auf 3,6V (bzw. 3,9V) heruntergeregelt wird. Wieso?
Der ATMega kommt doch auch mit 5V zurecht oder nicht? Er wird ja auch mit 5V betrieben...

Ich habe außerdem nur den Bottom-Layer geätzt, aber das dürfte ja auch kein Problem darstellen..... (Leiterbahnbrücken habe ich natürlich gesetzt)


Edit: Mir ist grade noch aufgefallen, dass der Schirm des USB-Steckers nicht mit GND der Platine verbunden ist, da die beiden Lötpads für die dicken Beinchen der USB-Buchse keine Verbindung zur Massefläche haben.
Ist das egal?

MichWuhr
17.05.2008, 18:37
Hab ein anderes Problem:

Ich hab die Neueste Firmware auf nem Mega8 drauf.
Wurde beim Einstecken aufgefordert nen Treiber auszuwählen. Da hab ich auch den neuen von 2007 10 23 genommen.

wenn ich in die cmd folgendes eingebe:
avrdude -c usbasp -p m8 -t

erhalte ich folgendes:
avrdude: Error: could not find usb device "USBasp with vid= 0x16c0 pid= 0x5dc

liegts an meiner Schaltung oder an avrdude

hab die Schaltung von Ulrich RAdig 1:1 nachgebaut

WinAVR 20080513 AVRDUDE

gruss michael

BenniBiker
21.06.2008, 20:20
Also ich hab jetzt endlich nochmal etwas Zeit gefunden mich mit meinem USBasp zu beschäftigen.
Ich habe nach langem rumbasteln rausgefunden, dass die Reset-Leitung während dem Programmieren kurz auf high ging (Keine Ahnung wieso).
Ich hab die dann manuell auf low gesetzt und schon gings.

Dann hatte ich das gleiche Problem wie MichWuhr und habe die Lösung auf http://www.ulrichradig.de/ (http://www.ulrichradig.de/site/forum/viewtopic.php?f=31&t=1024&p=3790) gefunden: Neuen treiber installieren, der die neue libusb0.dll unterstützt.

Jetzt scheint alles soweit zu laufen.