ATMega1284p: falsche Device ID im AVR Dragon?

OP #3160171
Lesenswert?

Hallo Forum,

mein AVR Dragon zeigt mir für 2 alte (die ich mal mit einem USBasp 
"verfused hatte) sowie für einen grade frisch von ELV gekauften 
ATMega1284p folgende Device ID an:
1
avrdude: Device signature = 0x1e3705
2
avrdude: Expected signature for ATMEGA1284P is 1E 97 05

Die Bedrahtung des HVPP Interfaces habe ich jetzt mehrfach nach
http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRDragon/SCKT3100A3.htm 
überprüft.

Ein Auslesen eines ebenfalls vorhandenen ATTiny85, 2313 sowie eines 328p 
(jeweils mit deren richtiger HVPP Beschaltung) funktioniert.
Testweises setzen von Fuses schlägt ebenfalls schief:
1
$ avrdude -c dragon_pp -p m1284p -P usb -F -U lfuse:w:0x62:m -U hfuse:w:0x99:m -U efuse:w:0xff:m -B 100
2

3
avrdude: AVR device initialized and ready to accept instructions
4

5
Reading | ################################################## | 100% 0.15s
6

7
avrdude: Device signature = 0x1e3705
8
avrdude: Expected signature for ATMEGA1284P is 1E 97 05
9
avrdude: reading input file "0x62"
10
avrdude: writing lfuse (1 bytes):
11

12
Writing | ################################################## | 100% 0.05s
13

14
avrdude: 1 bytes of lfuse written
15
avrdude: verifying lfuse memory against 0x62:
16
avrdude: load data lfuse data from input file 0x62:
17
avrdude: input file 0x62 contains 1 bytes
18
avrdude: reading on-chip lfuse data:
19

20
Reading | ################################################## | 100% 0.05s
21

22
avrdude: verifying ...
23
avrdude: verification error, first mismatch at byte 0x0000
24
         0x62 != 0xff
25
avrdude: verification error; content mismatch
26

27
avrdude: safemode: lfuse changed! Was 62, and is now ff
28
Would you like this fuse to be changed back? [y/n] y
29
avrdude: and COULD NOT be changed
30
avrdude: safemode: Fuses not recovered, sorry
31
avrdude: jtagmkII_close(): bad response to GO command: RSP_ILLEGAL_EMULATOR_MODE
32

33
avrdude done.  Thank you.


Was kann da bloss grade schieflaufen?

Danke,
 Christian (langsam am verzweifeln).
#3160480
Lesenswert?

Christian Thorge S. schrieb:
> Das müsste der Anleitung nach doch HV Pin 8 sein - durchgeklingelt,
> nachgelötet, nochmals durchgeklingelt.
> Selbes Ergebnis... ->
War auch nicht anders zu erwarten.

Sascha Weber schrieb:
> wenn der per HV, also auch parallel angeschlossen ist, dann geht Bit 7
> nicht
Keine Ahnung, was man da, ausser gar nichts, drunter verstehen soll.

Christian Thorge S. schrieb:
>> klemm mal jeweils 100nF zwischen Vcc bzw. Avcc und GND mit ein.
> Werde ich gleich Anfang der Woche mal ausprobieren. Mist, dass die Läden
> am Sonntag zu haben wenn man mal was Dringendes braucht ;)
Von den Dingern sollte man aber immer mindestens, wenn nicht noch mehr 
in der Schublade haben.

mfg.
OP #3160644
Lesenswert?

Thomas Eckmann schrieb:
> War auch nicht anders zu erwarten.
Es hätte doch durchaus ein Kontakt-/Löt-/Kabelesoterikfehler des Pins 8 
sein können...

>> wenn der per HV, also auch parallel angeschlossen ist, dann geht Bit 7
>> nicht
> Keine Ahnung, was man da, ausser gar nichts, drunter verstehen soll.
Ich habe das so aufgefasst, dass Pin 8 (Bit 7 laut Anleitung (die ich 
natürlich erst jetzt "gefunden" habe ;)) kaputt/falsch/nicht beschaltet 
gewesen hätte sein können. Ich fand es (aus der besserwissenden 
Perspektive dessen dem man grade etwas erklärt hat) ganz logisch. War 
halt anscheinend nur nicht oder der Fehler liegt auf dem PCB des Dragon 
selbst.

>>> (...) 100nF (...)
>> (...)
> Von den Dingern sollte man aber immer mindestens, wenn nicht noch mehr
> in der Schublade haben.
Werde ich in Zukunft meiner Kleinteilesammlung in ausreichender Zahl 
hinzufügen.
Was genau wird der Kondensator eigentlich bewirken bzw. was läuft in der 
Schaltung mit Nullkraftsockel "falsch" dass ich die Dinger brauche?
#3160831
Lesenswert?

Christian Thorge S. schrieb:
> Es hätte doch durchaus ein Kontakt-/Löt-/Kabelesoterikfehler des Pins 8
> sein können...
Nö. Wenn Bit7 fehlte, also 0 wäre, würde aus 97 17 und nicht 37 werden.

Christian Thorge S. schrieb:
> Was genau wird der Kondensator eigentlich bewirken bzw. was läuft in der
> Schaltung mit Nullkraftsockel "falsch" dass ich die Dinger brauche?
Das hast du jetzt falsch verstanden. Da läuft nichts falsch. Man kann 
den Kondensator im Nullkraftsockel nur einfach mit einklemmen. Ansonsten 
müsste man ihn einlöten, was aber bei anderen Controllern mit anderer 
Pinbelegung zu Störungen führen würde. Dann müsste man ihn wieder 
auslöten.

mfg.

http://www.atmel.com/images/doc2521.pdf
OP #3161615
Lesenswert?

Es wird ja immer seltsamer.

Ich habe jetzt drei m1284p's - einer davon garantiert neu, s.o.

Wenn ich jetzt meinen USBasp clone anschließe und die Fuses versuche 
auszulesen geht es mit dem Neuen:
1
# avrdude -c usbasp -p m1284p -n -v -F
2

3
avrdude: Version 5.11.1, compiled on Mar 26 2013 at 19:58:26
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2009 Joerg Wunsch
6

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

11
         Using Port                    : unknown
12
         Using Programmer              : usbasp
13
         AVR Part                      : ATMEGA1284P
14
         Chip Erase delay              : 9000 us
15
         PAGEL                         : PD7
16
         BS2                           : PA0
17
         RESET disposition             : dedicated
18
         RETRY pulse                   : SCK
19
         serial program mode           : yes
20
         parallel program mode         : yes
21
         Timeout                       : 200
22
         StabDelay                     : 100
23
         CmdexeDelay                   : 25
24
         SyncLoops                     : 32
25
         ByteDelay                     : 0
26
         PollIndex                     : 3
27
         PollValue                     : 0x53
28
         Memory Detail                 :
29

30
                                  Block Poll               Page                       Polled
31
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
32
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
33
           eeprom        65    10   128    0 no       4096    8      0  9000  9000 0xff 0xff
34
           flash         65    10   256    0 yes    131072  256    512  4500  4500 0xff 0xff
35
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
36
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
37
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
38
           efuse          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          1    0      0     0     0 0x00 0x00
41

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

45
avrdude: auto set sck period (because given equals null)
46
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
47
avrdude: AVR device initialized and ready to accept instructions
48

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

51
avrdude: Device signature = 0x1e9705
52
avrdude: safemode: lfuse reads as 62
53
avrdude: safemode: hfuse reads as 99
54
avrdude: safemode: efuse reads as FF
55

56
avrdude: safemode: lfuse reads as 62
57
avrdude: safemode: hfuse reads as 99
58
avrdude: safemode: efuse reads as FF
59
avrdude: safemode: Fuses OK
60

61
avrdude done.  Thank you.

Mit den zwei "alten", von denen ich davon ausgehe das sie "verfused" 
sind, geht es weiterhin nicht:
1
# avrdude -c usbasp -p m1284p -n -v -F
2

3
(...s.o....)
4
avrdude: auto set sck period (because given equals null)
5
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
6
avrdude: error: programm enable: target doesn't answer. 1
7
avrdude: initialization failed, rc=-1
8
avrdude: AVR device initialized and ready to accept instructions
9
avrdude: Device signature = 0x000000
10
avrdude: Yikes!  Invalid device signature.
11
avrdude: Expected signature for ATMEGA1284P is 1E 97 05
12

13
avrdude done.  Thank you.

Liege ich also richtig in der Annahme, dass ich mich aller 
Wahrscheinlichkeit nach tatsächlich "ausgesperrt" habe und ich mich 
wahrscheinlich tatsächlich nur mit HVPP herausretten kann?

Ausserdem ist interessant, dass der Dragon auch den "heilen" m1284p mit 
der falschen Device ID ausliest:
Da ich jetzt nochmals alles nachgelötet habe und alle Kabel ausgetauscht 
habe (mit besonderer Beachtung der Bits 5 und 7 ;) ist doch wohl dem 
Dragon vorzeitig das Feuer ausgegangen, oder?

Ich muss bald weinen.

 Christian.
(Firma: guloshop.de) #3161646
Lesenswert?

Christian Thorge S. schrieb:
> Liege ich also richtig in der Annahme, dass ich mich aller
> Wahrscheinlichkeit nach tatsächlich "ausgesperrt" habe und ich mich
> wahrscheinlich tatsächlich nur mit HVPP herausretten kann?

Das glaube ich eher nicht...

> avrdude: warning: cannot set sck period. please check for usbasp
> firmware update.

Ich denke, diesen Rat solltest du befolgen. Mit der (inzwischen relativ) 
alten Firmware kann der USBasp nicht mit sehr niedrigen 
Geschwindigkeiten arbeiten. Da hilft auch der immer wieder genannte 
"Jumper 2" nichts, weil der Takt damit nur bis zu einem bestimmten Wert 
runtergesetzt werden kann.

> avrdude: error: programm enable: target doesn't answer. 1
> avrdude: initialization failed, rc=-1

Genau das passiert, wenn der Takt des Programmers zu schnell ist. 
Natürlich kommt dieser Fehler auch, wenn eine der Leitungen falsch oder 
gar nicht angeschlossen ist. Meistens liegts aber doch am Takt.

> avrdude: Device signature = 0x000000
> avrdude: Yikes!  Invalid device signature.
> avrdude: Expected signature for ATMEGA1284P is 1E 97 05

Das ist dann der übliche Folgefehler.

P.S.: Den Rat mit den Kondensatoren solltest du auch ernst nehmen, denk 
ich...
OP #3168923
Lesenswert?

Um es aufzulösen: Der Dragon war kaputt. Nach einem Telefonat mit einem 
(sehr netten) ELV-Techniker innerhalb von zwei Tagen (inkl. 
Postlaufzeit!) Austausch gegen ein nun funktionierendes Modell. Heute 
dann noch die E-Mail Bestätigung dass der Dragon wirklich kaputt war, 
das ist jetzt auch "vom Herstellerservice bestätigt worden" (wie auch 
immer das so schnell geklappt hat ;).

Danke an das Forum für die Tipps und die Ermunterung weiterzumachen!

 Christian.

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