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ß
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
@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.
> Löschen des Memories scheint übrigens auch zu gehen.
Ist damit 'chip-erase' gemeint? Wenn nein, dieses ausführen.
@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.
> 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.
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.
@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ß
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 ....
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)."
"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)
PS: Und natürlich ist von besonderem Interesse der Inhalt des Lock-Bit-Bytes.
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.
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
Da wurde aber doch schon einmal geschrieben, das Fuse-High-Byte steht auf 0x91, Auslieferungszustand ist jedoch 0x99. Merkwürdig.
@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.
@Pete: hab ich schon mal probeweise runtergesetzt und alle möglichen ausprobiert. Ohne Erfolg.
Du hast Atmega128A im Programmer eingestellt, bekommst aber als Device-ID ein Atmega128 zurückgemeldet??
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
Es interessiert nur die Signatur, die ist beide Male 1E 97 02.
Genau und so wie ich das verstehe, bekommt er irgendwoher eine falsche, diese "0x00000102". "Unexpected signature 0x00000102 (expected 0x001e9702)." Aber woher? Irgendwas ist falsch.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.