ATmega328 lässt sich nicht programmieren

OP #7365869
Lesenswert?

Hallo zusammen!

ich beschäftige mich schon seit einigen Jahren immer mal wieder mit den Themen Mikrocontroller etc. und setze dabei immer wieder auf die Arduino-Plattform. Für ein neues Projekt von mir und weil ich mich an den Bereich SMD-Löten rantrauen wollte, habe ich mir eine Platine designed und diese fertigen lassen. Die Arbeit soll ein ATmega328P verrichten, den ich als TQFP-Package habe. So weit so gut. Da SMD fällt dieses Mal dann natürlich das ganze "uC auf dem Breadboard über einen Arduino als ISP flashen" weg, weswegen ich die ISP-Pins herausgeführt habe. Nun bekomme ich das Ding aber einfach nicht angesprochen. In der Konsole sehe ich immer nur "Invalid Device Signature" mit Signaturen, die für mich nach falscher Verdrahtung aussehen. Ich benutze die MiniCore-Library und einen Arduino als ISP, aber mit einem AVRISP ist es das gleiche Bild. Die Platine habe ich nun auch schon 5 Mal nachgelötet und durchgemessen, das sieht mir alles okay aus. Daher die Frage: Hab ich irgendetwas übersehen? Kann das überhaupt so funktionieren oder war ich zu naiv? Ich kann vor dem Flaschen (bzw. "Uploaden") ja auch die Clock-Speed einstellen. Hier hatte ich den internen 8MHz-Oszillator ausgewählt. Auf dem Board habe ich einen 16-MHz-, aber so weit ich das verstanden habe, kommen die vom Band mit dem internen konfiguriert. Ich habe im letzten Schritt auch den 16MHz-Quarz wieder abgelötet, ohne Veränderung. Vielleicht hat ja jemand eine gute Idee oder sieht, ob in der Schaltung schon irgendwas nicht stimmt. Ich bin für jeden Tipp dankbar!

Viele Grüße!

//Hier noch der Output von avrdude

1
"C:\Users\chris\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\7.1-arduino.1/bin/avrdude" "-CC:\Users\chris\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.2.1/avrdude.conf" -v -V -patmega328p -cstk500v1 -PCOM6 -b19200 "-Uflash:w:C:\Users\chris\AppData\Local\Temp\arduino\sketches\052BDB0EFC0DDF785872F2948AAA9BFF/sketch_mar7a.ino.with_bootloader.hex:i"
2

3
avrdude: Version 7.1-arduino.1
4
         Copyright the AVRDUDE authors;
5
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
6

7
         System wide configuration file is C:\Users\chris\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\2.2.1\avrdude.conf
8

9
         Using Port                    : COM6
10
         Using Programmer              : stk500v1
11
         Overriding Baud Rate          : 19200
12
         AVR Part                      : ATmega328P
13
         Chip Erase delay              : 9000 us
14
         PAGEL                         : PD7
15
         BS2                           : PC2
16
         RESET disposition             : possible i/o
17
         RETRY pulse                   : SCK
18
         Serial program mode           : yes
19
         Parallel program mode         : yes
20
         Timeout                       : 200
21
         StabDelay                     : 100
22
         CmdexeDelay                   : 25
23
         SyncLoops                     : 32
24
         PollIndex                     : 3
25
         PollValue                     : 0x53
26
         Memory Detail                 :
27

28
                                           Block Poll               Page                       Polled
29
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
30
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
31
           eeprom                 65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
32
           flash                  65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
33
           lfuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
34
           hfuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
35
           efuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
36
           lock                    0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
37
           signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
38
           calibration             0     0     0    0 no          1    1      0     0     0 0x00 0x00
39

40
         Programmer Type : STK500
41
         Description     : Atmel STK500 version 1.x firmware
42
         Hardware Version: 2
43
         Firmware Version: 1.18
44
         Topcard         : Unknown
45
         Vtarget         : 0.0 V
46
         Varef           : 0.0 V
47
         Oscillator      : Off
48
         SCK period      : 0.1 us
49

50
avrdude: AVR device initialized and ready to accept instructions
51
avrdude: device signature = 0xffffff (probably .xmega) (retrying)
52
avrdude: device signature = 0xff00ff
53
avrdude main() error: expected signature for ATmega328P is 1E 95 0F
54
        double check chip or use -F to override this check
55

56
avrdude done.  Thank you.
57

58
Failed programming: uploading error: exit status 1
Angehängte Dateien:
#7365873
Lesenswert?

Eiserne Regel von mir für mich: Bei der ersten Programmierung eines bisher unbekannten uCs (Atmel Mega xyz), FINGER WEG VON DEN FUSES. Ich vermute, die hast beim ersten Versuch so verstellt, daß er nicht mehr mit dir redet. Externen Takt anschliessen und nochmal versuchen.

[Edit] Was ganz nett kommt, ist ein C vom Reset auf GND (100nF)

OP #7365882
Lesenswert?

Crazy H. schrieb:

Eiserne Regel von mir für mich: Bei der ersten Programmierung eines bisher unbekannten uCs (Atmel Mega xyz), FINGER WEG VON DEN FUSES. Ich vermute, die hast beim ersten Versuch so verstellt, daß er nicht mehr mit dir redet. Externen Takt anschliessen und nochmal versuchen.

[Edit] Was ganz nett kommt, ist ein C vom Reset auf GND (100nF)

Danke für deine Antwort! Klar, das kann gut sein, dass ich mir da schon was verhunzt habe. Hatte als ich den 16MHz-Quarz noch auf dem Board hatte, auch schon alles mögliche probiert, ohne Erfolg...

Super - danke für den Tipp mit dem Kondensator - werde ich in Zukunft berücksichtigen!

#7365893
Lesenswert?

Wollte ich noch anhängen/editieren, aber da war wer schneller .... wenn der wirklich Spannung hat und er nicht den DOF (death of fuses) gestorben ist, ein Mega328 ist nicht das gleiche wie ein Mega328P, zumindest was die Signatur betrifft.

..... schon wieder wer schneller :-D das Alter .... ja den PB gibts auch noch.

Gast #7365897
Lesenswert?

Kann es sein, dass der Controller um 180° verdreht aufgelötet wurde?

Der Markierungspunkt vom uC soll laut dem hier Richtung Stecker zeigen, wenn ich das richtig deute. https://www.mikrocontroller.net/attachment/590914/render.png

Nach dem Foto hier befindet sich der Punkt aber genau gegenüber. https://www.mikrocontroller.net/attachment/590916/IMG_1103.JPG

Ein besseres Foto vom uC wäre cool :)

OP #7365916
Lesenswert?

Ben K. schrieb:

Die Signatur des IC ist falsch, sagt AVR dude ja. Sicher das es sich um einen ATmega328P handelt und nicht um einen ATmega328PB z.B.? Die haben eine andere Signatur und dann geht es nicht. Lösung dann: MiniCore installieren und den richtigen Chip wählen.

Crazy H. schrieb:

Wollte ich noch anhängen/editieren, aber da war wer schneller .... wenn der wirklich Spannung hat und er nicht den DOF (death of fuses) gestorben ist, ein Mega328 ist nicht das gleiche wie ein Mega328P, zumindest was die Signatur betrifft.

Habe mal Fotos von den Megas gemacht, die ich vom Chinesen bekommen habe. Das ist ein 328PU-TH (?)... Habe aber auch noch 2 andere P-AU im Schrank. Könnte es wirklich daran liegen? Die MiniCore Library bietet mir die Optionen 328P/328PA, 328/328A und 328PB. Mit keiner klappts, hab die schon durchprobiert.

Angehängte Dateien:
OP #7365918
Lesenswert?

Daniel C. schrieb:

Kann es sein, dass der Controller um 180° verdreht aufgelötet wurde?

Der Markierungspunkt vom uC soll laut dem hier Richtung Stecker zeigen, wenn ich das richtig deute. https://www.mikrocontroller.net/attachment/590914/render.png

Nach dem Foto hier befindet sich der Punkt aber genau gegenüber. https://www.mikrocontroller.net/attachment/590916/IMG_1103.JPG

Ein besseres Foto vom uC wäre cool :)

Den Punkt soll Orientierung für den ISP-Stecker sein, nicht für den uC ;) Orientierung passt.

#7365930
Lesenswert?

H. H. schrieb:

Christoph schrieb:

Habe mal Fotos von den Megas gemacht, die ich vom Chinesen bekommen habe.

Du hast dir Fälschungen andrehen lassen.

Ja schaut so aus, der U-TH wird auch als QFN verkauft und das kann nicht sein, daß es die gleiche Bezeichnung für unterschiedliche Gehäuse gibt.

https://forum.allaboutcircuits.com/threads/what-is-atmega328p-u-th.189896/

#7365933
Lesenswert?

Hallo,

messe mal bitte direkt an den Controllerpins, nicht Pad sondern Pin, ohne Programmieradapter nach ob die 5V anliegen. Denn wenn Vtarget 0V meldet geht es nicht weiter. Was hast du für einen Programmieradapter? Ein Programmieradapter dient in der Regel nicht dafür den Controller zu versorgen. Mit meinem avrISPmkII mache ich für einen ersten Verbindungstest nur avrdude -c avrispmkII -p m328p -v Wenn alles okay ist wird Signatur und Vtarget angezeigt.

OP #7365945
Lesenswert?

H. H. schrieb:

Christoph schrieb:

Habe mal Fotos von den Megas gemacht, die ich vom Chinesen bekommen habe.

Du hast dir Fälschungen andrehen lassen.

Crazy H. schrieb:

H. H. schrieb:

Christoph schrieb:

Habe mal Fotos von den Megas gemacht, die ich vom Chinesen bekommen habe.

Du hast dir Fälschungen andrehen lassen.

Ja schaut so aus, der U-TH wird auch als QFN verkauft und das kann nicht sein, daß es die gleiche Bezeichnung für unterschiedliche Gehäuse gibt.

https://forum.allaboutcircuits.com/threads/what-is-atmega328p-u-th.189896/

Oh verdammt... Gute Hinweise! Vielen Dank schon mal! Hatte da schon ein paar mal was drüber gelesen. Sind das dann wohl nachgemachte oder einfach nur "leere" Chips? Da hier noch keiner aufgeschrien hat, dass meine Schaltung kompletter Murks ist, gehe ich mal davon aus, dass das eigentlich funktionieren sollte...? Dann würde ich das Ding mal rauslöten und ersetzen. Sehen die P-AU denn legitim aus? Gibt es noch andere Indikatoren als zu prüfen, welche Bezeichnungs- und Package-Kombination passen?

#7365948
Lesenswert?

H. H. schrieb:

Crazy H. schrieb:

Ja schaut so aus, der U-TH wird auch als QFN verkauft und das kann nicht sein, daß es die gleiche Bezeichnung für unterschiedliche Gehäuse gibt.

https://forum.allaboutcircuits.com/threads/what-is-atmega328p-u-th.189896/

Das allerdings ist Unsinn.

https://www.richis-lab.de/uC01.htm

Da der bei Richard von einem Arduino stammt, ist dessen genaue Herkunft auch ungeklärt. Außerdem findet sich das Marking in keinem der Dateblätter 328/328P/328PB

#7365950
Lesenswert?

Bevor ich TQFPs in die Zielschaltung einlöte, kommen die in einen Yamaichi Programmiersockel mit einem USBasp als Programmierer. Keine Ahnung, ob der Sockel original ist, aber er tut sein Ding. Als Software verwende ich eXtremeburner. eXtremeburner mault zwar eine falsche ID an, kann man aber wegklicken, was ein nicht zu unterschätzender Vorteil ist. Bei Erstprogrammierung ist es ratsam, das Kommunikationstempo runterzusetzen, sonst stellen die die Atinnys und Atmegas auch gerne mal tot. Ich löte die Dinger schon fertig geflasht in die Zielschaltung. Den ISP Anschluß nutze ich dann nur noch für Softwareupdates. Ich habe aus ersten Problemen von 328ern im DIL gehäuse gelernt, wo ich mal eine kalte Löstelle am Quarz hatte und mir nen Wolf gesucht habe, weil das Ding partout nicht mit mir reden wollte ;-)

OP #7365968
Lesenswert?

Veit D. schrieb:

Hallo,

messe mal bitte direkt an den Controllerpins, nicht Pad sondern Pin, ohne Programmieradapter nach ob die 5V anliegen. Denn wenn Vtarget 0V meldet geht es nicht weiter. Was hast du für einen Programmieradapter? Ein Programmieradapter dient in der Regel nicht dafür den Controller zu versorgen. Mit meinem avrISPmkII mache ich für einen ersten Verbindungstest nur avrdude -c avrispmkII -p m328p -v Wenn alles okay ist wird Signatur und Vtarget angezeigt.

Danke für deine Antwort! Messe heute Abend noch einmal nach. Hatte bisher aber immer schon direkt an den Pins gemessen. Ich benutze ich einen Arduino UNO als ISP, habe aber auch einen MKII Nachbau, dann nur mit externen 5V.

#7365983
Lesenswert?

Sebastian R. schrieb:

Aber wird bei ISP nicht auch die Betriebsspannung gemessen, damit die in einem Bereich liegt, in dem der Flash beschrieben werden kann?

Laut AVR068 (beschreibt das STK500v2-Protokoll) wird Vtarget ausschliesslich vom STK500 (also nicht vom AVRISP) unterstützt, um die Ausgangsspannung einzustellen.

Der AVRISP kann zwar theoretisch die Spannung messen (ADC7 hängt über einen Spannungsteiler an VCC), scheint das aber nur zu nutzen, um HVSP zu verweigern, wenn die Target-Spannung nicht zwischen 4.5V und 5.5V liegt.

Anders sieht's beim AVRISP mkII (mit USB-Interface) aus, da ist Vtarget read-only und dürfte die gemessene Spannung liefern.

Beitrag #7365994 wurde von einem Moderator gelöscht.
OP #7366123
Lesenswert?

Stefan F. schrieb:

Probiere mal

avrdude.exe -v -V -patmega328p -cstk500v1 -PCOM6 -b19200 -B20

(ohne Hex Datei) Der Parameter -B20 ist bei jungfräulichen AVR nötig, die mit den initialen 1 MHz getaktet werden. Siehe dazu auch:

http://stefanfrings.de/isp_programmieradapter/index.html http://stefanfrings.de/avr_verfused/index.html

Leider derselbe Fehler...

1
"C:\Users\chris\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\7.1-arduino.1/bin/avrdude" -v -V -patmega328p -cstk500v1 -PCOM6 -b19200 -B20
2

3
avrdude: Version 7.1-arduino.1
4
         Copyright the AVRDUDE authors;
5
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
6

7
         System wide configuration file is C:\Users\chris\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\7.1-arduino.1\etc\avrdude.conf
8

9
         Using Port                    : COM6
10
         Using Programmer              : stk500v1
11
         Overriding Baud Rate          : 19200
12
         Setting bit clk period        : 20.0
13
         AVR Part                      : ATmega328P
14
         Chip Erase delay              : 9000 us
15
         PAGEL                         : PD7
16
         BS2                           : PC2
17
         RESET disposition             : possible i/o
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
         PollIndex                     : 3
26
         PollValue                     : 0x53
27
         Memory Detail                 :
28

29
                                           Block Poll               Page                       Polled
30
           Memory Type Alias    Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
31
           ----------- -------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
32
           eeprom                 65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
33
           flash                  65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
34
           lfuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
35
           hfuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
36
           efuse                   0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
37
           lock                    0     0     0    0 no          1    1      0  4500  4500 0x00 0x00
38
           signature               0     0     0    0 no          3    1      0     0     0 0x00 0x00
39
           calibration             0     0     0    0 no          1    1      0     0     0 0x00 0x00
40

41
         Programmer Type : STK500
42
         Description     : Atmel STK500 version 1.x firmware
43
         Hardware Version: 2
44
         Firmware Version: 1.18
45
         Topcard         : Unknown
46
         Vtarget         : 0.0 V
47
         Varef           : 0.0 V
48
         Oscillator      : Off
49
         SCK period      : 0.1 us
50

51
avrdude: AVR device initialized and ready to accept instructions
52
avrdude: device signature = 0x00ffe0
53
avrdude main() error: expected signature for ATmega328P is 1E 95 0F
54
        double check chip or use -F to override this check
55

56
avrdude done.  Thank you.
OP #7366135
Lesenswert?

So... Ich habe jetzt einfach mal eine weitere Platine bestückt - diesmal nur mit uC, Reset-Pullup und ISP-Header. Dafür habe ich auch die "anderen" Megas benutzt, die ich noch hatte *. Leider hat das alles gar nichts gebracht. Selber Fehler, krumme Signatur, nichts funktioniert. Spaßeshalber mal das Atmel Studio installiert und mit dem MKII noch mal probiert. Direkt eine Target Voltage von 0V, Kommunikation mit dem uC geht auch nicht (s. Screenshot). Irgendwas scheint also gewaltig nicht zu stimmen. Entweder ich habe zufällig 2 kaputte China-uCs von 2 unterschiedlichen Händlern oder in meiner Schaltung ist irgendwas kaputt oder es ist ein Layer 8 Problem...

Habt ihr Ideen, was das sonst vllt noch sein könnte? Passt meine Platine/Schaltung wirklich so?

OP #7366142
Lesenswert?

Stefan F. schrieb:

Christoph schrieb:

SCK period : 0.1 us

Ich hoffe, diese Angabe stimmt nicht, denn das wären 10 Mhz. Dafür bräjcze man ein Target, das mit mindestens 40 MHz getaktet wird. So schnelle AVR gibt es gar nicht (glaube ich).

Probiere mal -cstk500v2 (nicht v1) und -B20

Damit bekomme ich einen Timeout...

1
"C:\Users\chris\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\7.1-arduino.1/bin/avrdude" -v -V -patmega328p -cstk500v2 -PCOM6 -b19200 -B20
2

3
avrdude: Version 7.1-arduino.1
4
         Copyright the AVRDUDE authors;
5
         see https://github.com/avrdudes/avrdude/blob/main/AUTHORS
6

7
         System wide configuration file is C:\Users\chris\AppData\Local\Arduino15\packages\MiniCore\tools\avrdude\7.1-arduino.1\etc\avrdude.conf
8

9
         Using Port                    : COM6
10
         Using Programmer              : stk500v2
11
         Overriding Baud Rate          : 19200
12
         Setting bit clk period        : 20.0
13
avrdude stk500v2_recv() error: timeout
14
avrdude stk500v2_recv() error: timeout
15
avrdude stk500v2_recv() error: timeout
16
avrdude stk500v2_recv() error: timeout
17
avrdude stk500v2_recv() error: timeout
18
avrdude stk500v2_recv() error: timeout
19
avrdude stk500v2_getsync() error: timeout communicating with programmer
OP #7366145
Lesenswert?

Stefan F. schrieb:

Christoph schrieb:

Irgendwas scheint also gewaltig nicht zu stimmen.

Du musst alle GND Pins anschließen: 3, 5, 21

Dir fehlt auch ein VCC Pin: 4, 18, 18

Crazy H. schrieb:

Du hast in deinem Schaltplan nur einen GND, was ist mit Pin 5 und 21?

Ist in dem KiCad-Symbol zusammengelegt. Auf der Platine sind 3, 5 und 21 an GND.

Crazy H. schrieb:

Du hast in deinem Schaltplan nur einen GND, was ist mit Pin 5 und 21? Ebenso gibts 2 VCC (+AVCC). Der PB hat nur einen VCC und 2x GND.

4, 6, 18 liegen an +5V. AREF ist hier irrelevant, richtig?

Beitrag #7366146 wurde von einem Moderator gelöscht.
Gast #7366152
Lesenswert?

Christoph schrieb:

Ist in dem KiCad-Symbol zusammengelegt

Blöde Idee. Hast du dir das ausgedacht?

Wie viel Volt hast du wirklich am VCC/GND am ISP Stecker? Wenn dein Atmel ISP mkII 0.0 anzeigt, dann wird das wohl stimmen, oder er ist defekt.

Christoph schrieb:

beim ISP geht der nach hinten durch

Das hatte ich übersehen. Habe meinen Beitrag daher inzwischen wieder gelöscht.

Gast #7366155
Lesenswert?

Ich sehe noch etwas, was aber wohl auch gerade nicht die akute Problemursache ist:

An jedes VCC/GND Pärchen gehört ein eigener Abblock-Kondensator. Und zwar ganz nahe an das IC. Vor allem auf Seite des ISP Steckers vermisse ich ihn.

Darf ich davon ausgehen, dass die ganzen GND Pins über eine unsichtbare Plane miteinander verbunden sind?

Messe doch mal (ohne angesteckten Programmieradapter) die Spannung an VCC/GND und Reset/GND am ISP Anschluss. Das muss beides 5V sein.

OP #7366174
Lesenswert?

Sorry für die "späten" Antworten, ich darf mit dem frischen Account noch nicht spammen ;-)

Stefan F. schrieb:

Christoph schrieb:

Ist in dem KiCad-Symbol zusammengelegt

Blöde Idee. Hast du dir das ausgedacht?

Wie viel Volt hast du wirklich am VCC/GND am ISP Stecker? Wenn dein Atmel ISP mkII 0.0 anzeigt, dann wird das wohl stimmen, oder er ist defekt.

Christoph schrieb:

beim ISP geht der nach hinten durch

Das hatte ich übersehen. Habe meinen Beitrag daher inzwischen wieder gelöscht.

Nein, das Symbol hab ich nicht selbst gebastelt.

Multimeter sagt 4,95V zwischen VCC und GND und auch zwischen RST und GND, beides ohne MKII.

Ich hab jetzt den MKII an den ISP gehängt, VCC und Masse zusätzlich noch an einen Arduino, den ich hier rumfliegen hab zur Spannungsversorgung. So ganz grundsätzlich passt das, richtig?

Trotzdem 0V... Ist "nur" ein Klon, den hatte ich vorgestern für 35€ geschossen, aber wird im Studio erkannt.

Stefan F. schrieb:

Ich sehe noch etwas, was aber wohl auch gerade nicht die akute Problemursache ist:

An jedes VCC/GND Pärchen gehört ein eigener Abblock-Kondensator. Und zwar ganz nahe an das IC. Vor allem auf Seite des ISP Steckers vermisse ich ihn.

Darf ich davon ausgehen, dass die ganzen GND Pins über eine unsichtbare Plane miteinander verbunden sind?

Messe doch mal (ohne angesteckten Programmieradapter) die Spannung an VCC/GND und Reset/GND am ISP Anschluss. Das muss beides 5V sein.

Okay, guter Punkt. Danke dir! Würde schätzen, dass es trotzdem erstmal funktionieren sollte...? Und ja, richtig, GND liegt auf der Rückseite.

#7366176
Lesenswert?

Christoph schrieb:

weg, weswegen ich die ISP-Pins herausgeführt habe. Nun bekomme ich das Ding aber einfach nicht angesprochen. In der Konsole sehe ich immer nur "Invalid Device Signature" mit Signaturen, die für mich nach falscher Verdrahtung aussehen.

Zieh mal den SS-Pin (PB2) über einen Widerstand hoch. Möglicherweise ist der Controller bei unbeschaltetem SS-Pin im Slave Modus. Im Programm dann den Pullup einschalten.

Uwe

Gast #7366178
Lesenswert?

Christoph schrieb:

Ist "nur" ein Klon

Ich würde es eher als schlechte Fälschung bezeichnen. Wenn es ein nachgebauter Atmel ISP mkII wäre, würde er die Spannung korrekt anzeigen.

für 35€

Wow, soviel habe ich für das Original bezahlt.

Also: Versorgung liegt an allen Pins (auch am Programmieradapter) an. Reset wird per Pull-Up auf HIGH gezogen und ist mit dem ISP Stecker verbunden. Zumindest ein Abblock-Kondensator ist vorhanden. Damit sind alle Voraussetzungen erfüllt, die mir einfallen.

#7368071
Lesenswert?

Hallo Christoph,

es klemmt scheinbar an der nicht vorhandenen/gemessenen Betriebsspannung. Versuch doch mal folgendes:

Direkt am ISP-Stecker des Programmieradapters nur die Spannung anlegen und im AVR-Studio zu messen, siehe Bilder. In dem Fenster irgendeinen Prozessor eintragen und die beiden Buttons in der Reihenfolge betätigen. Wenn dein MKII dort nichts anzeigt, scheint er nicht richtig kompatibel zu sein, mein Beispiel funktioniert mit einem JTAGICE3, was anderes habe ich nicht.

Meine Erfahrungen dazu: Früher hatte ich einen Eigenbau-Programmierklon hier aus dem Forum. Der funktionierte mit AVR-Studio V4.X ohne Spannungsmessung. Dann konnte ich recht günstig hier im Markt den JTAGICE3 bekommen. Habe nun auch Studio 7 imnstalliert und es funktionierte ... nichts. Ich hatte in meinen bisherigen Projekten an dem ISP-Stecker den Vcc-Anschluß nie belegt, war ja bisher nicht nötig. Nachdem ich das nachgeholt hatte, funktionierte die Programmierung auch.

Meine Vorschläge, wenn das mit der Spannungsmessung nicht funktioniert:

  • Anderer Programmieradapter, möglichst ein Original
  • Mal mit AVR-Studio V4.x versuchen

Reinhard

Angehängte Dateien:

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