Forum: Mikrocontroller und Digitale Elektronik Atmega128 lesen geht, brennen nicht / ISP


von Michael J. (michael_brk)


Angehängte Dateien:

Lesenswert?

Hallo liebe uC-Gemeinde,
ich komme nicht weiter und finde keine Ideen
(weder im Netz noch in meinem Kopf :-) )

Habe ein neues Board gemacht mit einem Atmega128 drauf und will ihn über 
ISP programmieren. Ich benutze das Atmel Studio 7.0 (Updates scheints 
momentan keine zu geben).
Programmer: Diamex ISP (funktioniert mit anderem Atmega128!)

Ich kann beim neuen Atmega128 damit problemlos die Fuses lesen, den 
Speicher auslesen (ist halt leer, bekomme die Device-Info (z.B. Signatur 
0x1E9702) usw.

Sobald ich aber etwas schreiben will, gehts net. Bekomme Fehlermeldung:

"Unexpected signature 0x00000102 (expected 0x001e9702).
Unable to enter programming mode. Verify device selection, interface 
settings, target power, security bit, and connections to the target 
device."

- Versorgungspannung geprüft (4,7V aus Programmer an allen VCC-Pins.
- Reset geprüft, wird beim Brennversuch nach Masse gezogen
- Verbindungen von ISP zum Atmega gerprüft
- Alle GND-Anschlüsse geprüft
- Auch mit kleinerem Clock keine Änderung

Amsonsten hängt noch nichts am Atmega dran. (RTC DS3231 nur auch am 
Reset und I2C-Bus). Auf dem Board ist sonst nur der Atmega mit den 
100nF-Cs, den 10k-Rs (Reset) und 16MHz-Quarz mit jeweils 22pF.

Der Programmer sollte gehen. Wenn ich ein anderes Board (z.B. Atmega128 
von Alvidi) dran hänge, geht alles.

Was könnte sein? Was kann ich noch prüfen?
Oder sehe den Wald vor Bäumen nicht?

Danke für Ideen!

Gruß

von Oliver S. (oliverso)


Lesenswert?

Echt ein ATMega128, das Original aus der Jungsteinzeit?

Weil die Jungsteinzeit kompatibel mit der Altsteinzeit sein wollte, mimt 
der im Auslieferungszustand einen Mega103. Da solltest du nochmals auf 
die Fuses und die Einstellungen deines Programmers schauen.

Oliver

: Bearbeitet durch User
von Michael J. (michael_brk)


Lesenswert?

@Oliver: Ja das M103C hätte ich gern geändert aber da hackts beim 
brennen.

Löschen des Memories scheint übrigens auch zu gehen. Das Atmel Studio 
bringt Erfolgsmeldung.

Nur die Fuses lassen sich nicht brennen und ein Programm eben auch 
nicht. Da kommt dann die Fehlermeldung.

von S. Landolt (Gast)


Lesenswert?

> Löschen des Memories scheint übrigens auch zu gehen.
Ist damit 'chip-erase' gemeint? Wenn nein, dieses ausführen.

von Michael J. (michael_brk)


Lesenswert?

@Landolt: Ja das geht. Hab ich auch schon 2 - 3 dreimal gemacht aber 
bringt keine Abhilfe. Sobald ich die Fuses brennen will oder ein 
Prgramm, gehts net. Komisch.

von S. Landolt (Gast)


Lesenswert?

> Sobald ich die Fuses brennen will oder ein Prgramm, gehts net.
Das sieht eben nach gesetzten Lockbits aus, und diese lassen sich nur 
per 'chip-erase' zurücksetzen. Die Signatur allerdings muss immer lesbar 
sein, insofern ist mir das Verhalten des ATmega128 nicht ganz klar.

von Ingo Tarzan (Gast)


Lesenswert?

Michael J. schrieb:
> - Versorgungspannung geprüft (4,7V aus Programmer an allen VCC-Pins.

Versorge ihn doch spasseshalber mal von aussen
mit "echten" 5 Volt. Also nicht vom Programmer.

Michael J. schrieb:
> Auf dem Board ist sonst nur der Atmega mit den
> 100nF-Cs, den 10k-Rs (Reset) und 16MHz-Quarz mit jeweils 22pF.

Ich sehe nur die leeren Flecken wo was drauf gehört.

von Michael J. (michael_brk)


Lesenswert?

@Ingo: Das Foto ist noch "alt". Wollte damit nur zeigen, daß es ein 
"sauberer" Aufbau ist. Man weiß ja, was manche so zurechtlöten :-)

Ich mach gleich mal ne eigene VCC dran und berichte.

Gruß

von Ingo Tarzan (Gast)


Lesenswert?

Michael J. schrieb:
> Wollte damit nur zeigen, daß es ein
> "sauberer" Aufbau ist.

Leider ist das bezüglich Prozessor nicht zu erkennen. Mach
doch mal ein grosses Foto, vielleicht Lötfehler?

Michael J. schrieb:
> RTC DS3231 nur auch am Reset und I2C-Bus

Pullups nicht vergessen, ein floatender Bus kann schwingen
bzw viel Strom brauchen. Kann ....

von Michael J. (michael_brk)


Lesenswert?

Nein auch eine eine eigene Stromversorgung (5V) bringt keine Änderung.

Lesen z.B. der Fuses geht:

"Starting operation read registers
Reading register EXTENDED...OK
Reading register HIGH...OK
Reading register LOW...OK
Read registers...OK"

Löschen des Memories: "Erasing device... OK"

aber brennen der Fuses (egal wie die eingestellt sind):

"Timestamp:  2018-04-12 17:10:33.002
Severity:  ERROR
ComponentId:  20100
StatusCode:  131101
ModuleName:  TCF (TCF command: Device:startSession failed.)

Unexpected signature 0x00000102 (expected 0x001e9702)."

von Michael J. (michael_brk)


Lesenswert?

Pullups (10K) sind dran.

von S. Landolt (Gast)


Lesenswert?

"Reading ... OK" - na prima, aber was steht denn in den diversen 
Fusebytes drin?

(Ich muss allerdings zugeben, dass ich rein gar nichts hier habe, keinen 
ATmega128, keinen Diamex, nicht mal das Studio 7)

von S. Landolt (Gast)


Lesenswert?

PS:
Und natürlich ist von besonderem Interesse der Inhalt des 
Lock-Bit-Bytes.

von Michael J. (michael_brk)


Angehängte Dateien:

Lesenswert?

Hier mein Aufbau (ist nur ein Probeaufbau) und die Fuses gelesen.
Selbstverständlich steht da noch der Unsinn mit dem M103 drin.
Um das zu ändern müsste das schreiben gehen.

von Michael J. (michael_brk)


Angehängte Dateien:

Lesenswert?

Achja ... Lockbits

Sollte doch alles gehen oder?

Bei einem Alvidi den ich hier habe sieht alles genauso aus meine ich und 
den kann ich ohne Probleme brennen.

: Bearbeitet durch User
von Ingo Tarzan (Gast)


Lesenswert?

Michael J. schrieb:
> Hier mein Aufbau (ist nur ein Probeaufbau)

Ja danke schaut gut aus :)

von S. Landolt (Gast)


Lesenswert?

Da wurde aber doch schon einmal geschrieben, das Fuse-High-Byte steht 
auf 0x91, Auslieferungszustand ist jedoch 0x99. Merkwürdig.

von Pete K. (pete77)


Lesenswert?

Ist evtl. Deine ISP Frequenz zu hoch?

von Michael J. (michael_brk)


Lesenswert?

@Landolt: bei dem neuen Atmega steht auch 0x91 drin.

Was mir zwischenzeitlich aufgefallen ist:

Wenn ich beim flashen "Erase device before programming" ausschalte, kann 
ich zumindest den Flash brennen, also ein Programm laden.

Nur die Fuses gehen nicht. Da kommt immer noch die Fehlermeldung.

von Michael J. (michael_brk)


Lesenswert?

@Pete: hab ich schon mal probeweise runtergesetzt und alle möglichen 
ausprobiert. Ohne Erfolg.

von Pete K. (pete77)


Lesenswert?

Du hast Atmega128A im Programmer eingestellt, bekommst aber als 
Device-ID ein Atmega128 zurückgemeldet??

von Michael J. (michael_brk)


Angehängte Dateien:

Lesenswert?

Das scheint egal zu sein. Hab schon ohne A probiert.
Beim Alvidi ist das auch egal ob A oder nicht A, da gehts auch immer.
Hab gerade wieder nochmal ohne A probiert, ändert sich aber nichts.

: Bearbeitet durch User
von S. Landolt (Gast)


Lesenswert?

Es interessiert nur die Signatur, die ist beide Male 1E 97 02.

von Michael J. (michael_brk)


Lesenswert?

Genau und so wie ich das verstehe, bekommt er irgendwoher eine falsche, 
diese "0x00000102".

"Unexpected signature 0x00000102 (expected 0x001e9702)."

Aber woher? Irgendwas ist falsch.

von S. Landolt (Gast)


Lesenswert?

Ist die Reset-Verbindung in Ordnung? Könnte es sein, dass der DS3231 
Unsinn auf diese Leitung gibt?

von Rudolph R. (rudolph)


Lesenswert?

Michael J. schrieb:
> und 16MHz-Quarz mit jeweils 22pF.

Ist jetzt nichts zum Problem, aber wenn Du den Takt genau brauchst ist 
das ziemlich sicher nicht korrekt.
Die HC49/U-S Quarze die mir bisher so untergekommen sind hatten 
mehrmeheitlich ein Cl von 32pF oder 30pF, aber nicht 12pF, da wären 
2x56pF passender.

von Michael J. (michael_brk)


Lesenswert?

Hi liebe Leute,

Fall offensichtlich gelöst.
Habe mal eine zweite Platine bstückt aber nur den Atmega128 mit Quarz, 
Widerstände und C's und siehe da, alles geht ohne Probleme!

Es ist wohl tatsächlich so wie "Landolt" sagt, das der RTC DS3231 
irgendein komisches Zeug auf der Resetleitung macht und die Signatur 
"verbiegt".
Daran muß ich nochmal arbeiten.

Vielen Dank für alle Hinweise!

Schönes Wochenende und Gruß an alle!

Mike

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
Noch kein Account? Hier anmelden.