ATmega16 flash geloescht

Hallo,

seit einiger Zeit bastle ich an einer Schaltung mit einem ATmega16 herum. Ich beobachte folgendes Phänomen und habe keine Erklärung dafür: Wenn ich die Schaltung ein Paar mal ein und ausgeschaltet habe, sind Teile des Flash gelöscht (wieder auf 0xFF gesetzt)

Ich habe keine Induktivitäten in meiner Schaltung deren Induktionspeak Probleme machen könnte. Auf der Betriebsspannung habe ich keine Peaks o.ä. gesehen. Was ich jedoch beobachte, ist das IO-Pins, die als Ausgänge geschaltet sind, und auf "eins" gesetzt sind, beim Abschalten kurz auf Null gehen. Denn die LED's die über die entsprechenden Pin's auf Masse gezogen werden leuchten beim Ausschalten kurz auf.

Dieses Aufleuchten entsteht wie folgt: Nach dem Auschalten fällt die 5V Versorgungsspannung innerhalb von 84ms auf 2.8V ab. (Die Versorgung ist mit 1000uF gepuffert) dabei fallen die Versorgung und die Port-Pins identisch ab. Bei 84ms nach dem Auschalten springt der Port-Pin auf Null Volt, während die Versorgung entsprechend der Entladekurve des Kondensators langsam weiter abfällt. So kommt es zu dem kurzen aufleuchten der LED's.

Dieses Verhalten verstehe ich nicht, den die Brown-Out-Detektion ist eingeschaltet und die entsprechende Schwelle auf 4V gesetzt. Außerdem: Wenn die Brown-Out-Detektion "zuschlägt" sollten da nicht alle Eingänge hochohmig werden, wie es dem Reset-Verhalten entspricht?

Hat jemand eine Idee was hier nicht in Ordnung ist?

mfg Helmut

Reply to
Helmut Neemann
Loading thread data ...

Trotzdem Diode von RESET nach VCC. Sollte eigentlich helfen ;-)

Die 2.8V sehen verdächtig nach einer falsch programmierten BODLEVEL-Fuse aus. Wäre nicht das erste Mal ;-)

Ansonsten könnte ich mir noch folgendes vorstellen: Aufgrund einer Kapazität auf RESET, fällt die Spannung dort langsamer ab als auf VCC. Bei 2.8V ist es zufällig so weit, daß er in den parallelen Programmiermodus geht. Als Seiteneffekt davon werden die Ports auf Ausgang geschaltet (weiß ich nicht, halte ich aber für möglich).

Also erstmal die Diode von oben und dann nochmal gucken...

/Jan-Hinnerk

Reply to
Jan-Hinnerk Reichert

Helmut Neemann schrieb:

Hallo,

bei den AVRs kann es wohl vorkommen, daß beim Abschalten der Versorgungsspannung der Programmierpin SCK anfängt zu schwingen und dabei Flash- und EEPROM-Inhalt beschädigt werden können. Abhilfe schafft neben der Brown-Out-Detection ein Pullup-Widerstand von Pin SCK (bei ATMega16 Pin 8) gegen VCC, der das Schwingen unterdrückt.

Gruss Ronald

--
EMail: ronaldfitzke@gmx.de
Reply to
Ronald Fitzke

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.