ATmega16 flash geloescht

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
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


Re: ATmega16 flash geloescht

Quoted text here. Click to load it

Trotzdem Diode von RESET nach VCC. Sollte eigentlich helfen ;-)
 
Quoted text here. Click to load it

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


Re: ATmega16 flash geloescht
Helmut Neemann schrieb:
Quoted text here. Click to load it

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: ronald<Punkt> snipped-for-privacy@gmx.de



Site Timeline