Usbasp funktioniert nicht richtig

OP #3278024
Lesenswert?

Hallo,

Ich habe einen Usbasp von HobbyKing gekauft. Da dieser eine ältere 
Firmware drauf hatte, habe ich ihn mit Hilfe des Usbasp's von einem 
Kollegen die Firmware aktualisiert. Hat soweit auch alles geklappt.

Jetzt wollte ich einen ATtiny2313 programmieren. Den selben Controller 
hatte ich zuvor bereits geflasht.

Leider gehts jetzt nicht mehr. Ich hab auch schon verschiedene Exemplare 
ausprobiert. Zu beginn hat avrdude einfach als Device Signature 0xFFFFFF 
oder 0x000000 zurückgegeben und abgebrochen. Seit neustem bricht avrdude 
bereits zu Beginn wieder ab mit der Fehlermeldung "Target doesn't 
answer".
Ich hab alle Leitungen auf Unterbrücke überprüft und sogar mal ein 
anderes Kabel und Programmiergerät genommen und probiert, von Windows 
und von Mac zu flashen. Hat alles nicht funktioniert.

Wenn ich hingegen den einen Usbasp mit dem andern flashen will, klappt 
es ohne Fehlermeldung! Deshalb hab ich mal probiert, einen ATtiny26 zu 
flashen, hatte aber das selbe Ergebnis wie beim ATtiny2313.

Hat jemand einen Rat, was ich übersehen hab oder was ich noch 
ausprobieren kann?
Gast #3278227
Lesenswert?

Von den chinesendingern hatte ich 2 Stück, keins der beiden hat wirklich 
das getan was es sollte....
kauf dir den mysmartusb light für 15€, das ist der günstigste isp 
programmer mit einer einfach nur super geschriebenen software. (ich mein 
die gui is gut verständlich)
(Firma: guloshop.de) #3278263
Lesenswert?

Sandro L. schrieb:
> Vielen Dank für die schnellen Antworten.
>
> Ich werde mal versuchen, einen ATMega8 zu flashen... Wenn es
> funktionieren sollte, kann es  mit Sicherheit nicht an der Verkabelung
> liegen.
> Dann werde ich auch den avrdude output nachreichen.

Und prüf mal bitte, welcher Takt bei deinen ATinys eingestellt ist. Der 
Programmiertakt muss nämlich deutlich niedriger sein (siehe Datenblatt).

Falls du den Takt nicht kennst, dann stell versuchsweise den 
Programmiertakt auf ganz langsam, das geht bei avrdude mit der Option 
-B, also z.B. -B 600

Und... wie isnah schon schrieb, zeige uns deine Befehlszeile sowie die 
Ausgaben von avrdude, sonst können wir hier nur Rätsel raten. :-)
Bei mir laufen die USBasp nämlich sehr zuverlässig, wenn sie die 
aktuelle Firmware drauf haben.
Gast #3278290
Lesenswert?

Hi, ich bin auch so ein Geiz ist geil Typ, und bin noch einen schritt 
weiter gegengen.
ich habe mir den USB Programmer von Thimas Fishl (Fishl.de) 
selbstgebaut.
ist aber sowies Aussieht genau der Gleiche Programmer und funktioniert 
einwandfrei.
Mein Programmer hat einen Schalter for einen langsamen Programmiermodus, 
und den musste ich beim programmieren von Attinys setzen, bis der 
interne Vorteiler (/8) über die Fuses ausgeschaltet wurde.

viele Grüße
Gast #3278325
Lesenswert?

Peter Shaw schrieb:
> Hi Jojo, kannst du mir das mit dem Schalter mal genauer erklären? Würde
> mich interessieren. (Solange Sandro noch am schrauben ist. - will hier
> ja keinen Thread ownen.)

Bei dem neue Firmware (so viel ich weiss) braucht man nicht stattdessen 
benutzt man in AVRDUDE die Funktion -B bzw. was hier Markus schreib.

Markus Weber schrieb:
> Falls du den Takt nicht kennst, dann stell versuchsweise den
> Programmiertakt auf ganz langsam, das geht bei avrdude mit der Option
> -B, also z.B. -B 600
Gast #3278341
Lesenswert?

Neo schrieb:
> Von den chinesendingern hatte ich 2 Stück, keins der beiden hat wirklich
> das getan was es sollte...

Ich habe einen Sack voll von den Dingern und die tun es alle 
einwandfrei. Allerdings habe ich sie erst ausprobiert und dann mit neuen 
Firmwares experimentiert. Nun ist es schwer fest zu stellen, was hier 
nicht stimmt. Was hier auf jeden Fall noch fehlt: Bitte mal alle 
Jumperstellungen auflisten. Eventuell steht z.B. noch auf 
self-programming...
OP #3278425
Lesenswert?

Die Option -B 200 habe ich auch schon probiert. Hat aber auch nichts 
gebracht.

Mein Usbasp hat 2 Lötjumper (also für eine Lötbrücke). Einer ist für 
self-programming. Dort habe ich zum programmieren ein Stück Metall zum 
verbinden draufgedrückt. Daran kanns also nicht liegen. Die Funktion des 
anderen konnte ich noch nicht in Erfahrung bringen.

Ein normaler Jumper hat es auch drauf, der bestimmt aber nur, ob die 
Schaltung vom USB gespeist wird oder eine externe Spannungsquelle den zu 
programmierenden Controller speist.

Ich kann erst am späten Nachmittag Bilder und den avrdude Befehl mit 
Output posten.
Gast #3278434
Lesenswert?

@Shawn:

der Schalter ist einfach ein Jumper auf dem Board.
Wenn der gesetzt ist wirde der Programmiertakt heruntergeseiach habe da 
halt einen Schalter drauf gemacht.

manche langsamere Kontroller benötigen in der ausgangskonfiguration 
einen langsameren Takt, zumindest bis man Die Fuses richtig eingestellt 
hat.
danach kann man den Schalter (Jumper) wieder umschalten, und in wenigen 
sekunden so ein Teil flashen.
OP #3278955
Lesenswert?

So, hab mal einen ATMega16, den ich gefunden habe, drangehängt (siehe 
Bild) und mit folgendem Befehl getestet:
1
avrdude -c usbasp -P usb -p m16 -B 600 -v -v

Hier der Output:
1
avrdude: Version 5.11.1, compiled on Aug 12 2013 at 20:23:12
2
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
3
         Copyright (c) 2007-2009 Joerg Wunsch
4

5
         System wide configuration file is "/opt/local/etc/avrdude.conf"
6
         User configuration file is "/Users/salu95/.avrduderc"
7
         User configuration file does not exist or is not a regular file, skipping
8

9
         Using Port                    : usb
10
         Using Programmer              : usbasp
11
         Setting bit clk period        : 600.0
12
avrdude: seen device from vendor ->www.fischl.de<-
13
avrdude: seen product ->USBasp<-
14
         AVR Part                      : ATMEGA16
15
         Chip Erase delay              : 9000 us
16
         PAGEL                         : PD7
17
         BS2                           : PA0
18
         RESET disposition             : dedicated
19
         RETRY pulse                   : SCK
20
         serial program mode           : yes
21
         parallel program mode         : yes
22
         Timeout                       : 200
23
         StabDelay                     : 100
24
         CmdexeDelay                   : 25
25
         SyncLoops                     : 32
26
         ByteDelay                     : 0
27
         PollIndex                     : 3
28
         PollValue                     : 0x53
29
         Memory Detail                 :
30

31
                                  Block Poll               Page                       Polled
32
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
33
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
34
           eeprom         4    10   128    0 no        512    4      0  9000  9000 0xff 0xff
35
           flash         33     6   128    0 yes     16384  128    128  4500  4500 0xff 0xff
36
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
37
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
38
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
39
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
40
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
41

42
         Programmer Type : usbasp
43
         Description     : USBasp, http://www.fischl.de/usbasp/
44

45
avrdude: try to set SCK period to 0.0006 s (= 1666 Hz)
46
avrdude: set SCK frequency to 1000 Hz
47
avrdude: AVR device initialized and ready to accept instructions
48

49
Reading | ################################################## | 100% 0.10s
50

51
avrdude: Device signature = 0x1e9403
52
avrdude: safemode: lfuse reads as E1
53
avrdude: safemode: hfuse reads as 99
54

55
avrdude: safemode: lfuse reads as E1
56
avrdude: safemode: hfuse reads as 99
57
avrdude: safemode: Fuses OK
58

59
avrdude done.  Thank you.


Und hier dasselbe mit den ATtiny26
Hier habe ich aber eine kleine Platine gemacht, weil ich diesen 
Controller öfters brauchen werde. Hab das ganz aber auch mit dem Kabel 
wie beim ATmega16 probiert. Kam genau das gleiche raus.

Befehl:
1
avrdude -c usbasp -P usb -p t26 -B 600 -v -v
Output:
1
avrdude: Version 5.11.1, compiled on Aug 12 2013 at 20:23:12
2
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
3
         Copyright (c) 2007-2009 Joerg Wunsch
4

5
         System wide configuration file is "/opt/local/etc/avrdude.conf"
6
         User configuration file is "/Users/salu95/.avrduderc"
7
         User configuration file does not exist or is not a regular file, skipping
8

9
         Using Port                    : usb
10
         Using Programmer              : usbasp
11
         Setting bit clk period        : 600.0
12
avrdude: seen device from vendor ->www.fischl.de<-
13
avrdude: seen product ->USBasp<-
14
         AVR Part                      : ATTINY26
15
         Chip Erase delay              : 9000 us
16
         PAGEL                         : PB3
17
         BS2                           : PB2
18
         RESET disposition             : dedicated
19
         RETRY pulse                   : SCK
20
         serial program mode           : yes
21
         parallel program mode         : yes
22
         Timeout                       : 200
23
         StabDelay                     : 100
24
         CmdexeDelay                   : 25
25
         SyncLoops                     : 32
26
         ByteDelay                     : 0
27
         PollIndex                     : 3
28
         PollValue                     : 0x53
29
         Memory Detail                 :
30

31
                                  Block Poll               Page                       Polled
32
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
33
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
34
           eeprom         4    10    64    0 no        128    0      0  9000  9000 0xff 0xff
35
           flash         33     6    16    0 yes      2048   32     64  4500  4500 0xff 0xff
36
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
37
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
38
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
39
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
40
           calibration    0     0     0    0 no          4    0      0     0     0 0x00 0x00
41

42
         Programmer Type : usbasp
43
         Description     : USBasp, http://www.fischl.de/usbasp/
44

45
avrdude: try to set SCK period to 0.0006 s (= 1666 Hz)
46
avrdude: set SCK frequency to 1000 Hz
47
avrdude: error: programm enable: target doesn't answer. 1 
48
avrdude: initialization failed, rc=-1
49
         Double check connections and try again, or use -F to override
50
         this check.
51

52

53
avrdude done.  Thank you.

Die Spannung, die am Controller anliegt, ist 4.93 V.
Angehängte Dateien:
Gast #3279091
Lesenswert?

Nicht Spannung messen, sondern feststellen, wo die Leiterbahnen lang 
gehen. Wenn du auf GND 5.1v misst, stimmt ganz sicher was nicht... aber 
wohl eher an der Messung. Gegen welchen Bezugspunkt hast das denn 
gemessen?
OP #3279095
Lesenswert?

Als Bezugspunkt habe ich den VCC Pin gleich nebenan genommen (hab also 
die Spannung zwischen VCC und GND gemessen).

Die GND Pins auf dem Usbasp sind mit der Massefläche verbunden. Hab es 
auch mit dem Durchgangsprüfer geprüft. die GND pins sind mit dem 
Masse-Pin des USB-Steckers direkt verbunden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren