Forum: Mikrocontroller und Digitale Elektronik EEprom Probleme


von Josy (Gast)


Lesenswert?

Hallo !


Habe das Problem, dass nach der Wiederkehr der Versorgungsspannung
Werte im internem EEprom des Mega32 manchmal verändert sind.
Hat jemand das Problem schon mal gehabt oder weiß Abhilfe ?


Grüße Josy

von Josy (Gast)


Lesenswert?

EEARl/H nach Schreibvorgang auf letzte Adresse im EE setzen, Resetzeit 
auf längstmögliche Zeit einstellen, internen RC-Oscil.verwenden, 
Resetbaustein einsetzen, Durchdrehen, Controllerfamilie wechseln, 
Brownout in den Fuses auf höchsten Wert setzen ;-), I2C EE verwenden 
bzw. Uhrenbaustein mit Bat.und Ram usw. Atmel nervt.....


SG Josy

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

>Atmel nervt.....

???

von Tim (Gast)


Lesenswert?

Das EEprom der AVRs reagiert sehr empfindlich auf eine langsam 
abfallenden Spannungsversorgung beim AUSschalten.

Das EEprom scheint nach dem einschalten/(reset?) erstmal "abgekoppelt" 
zu sein. Bestehende daten werden dann auch nicht bei langsam 
"absterbender" Schaltung verändert. Aber: Bereits ein einziger 
lesezugriff reicht um die daten beim mächten ausschalten in gefahr zu 
bringen. Habe das mehrfach nach spätestens 50 mal ausschalten gesehen.

Um das zu verhindern muss man den "Brown out detector" einschalten (low 
Fuse BODEN),
und eine möglichst hohe schaltschwelle einstellen (low Fuse BODLEVEL).
Details dazu z.b. Datasheet Mega8 Seite 38.

Habe "BODEN" und "BODLEVEL" auf 0 ("programmed") gesetzt.
Dadurch bekommt der AVR unterhalb von 4V einen dauerhaften reset.
Damit waren auch nach über 150x ausschalten keine veränderungen 
festsellbar.

Atmel gibt auch selbst im datasheet einen hinweis darauf unter 
"Preventing EEPROM Corruption"... habe auber auch eine weile gebraucht 
um den Bug zu finden.

von Josy (Gast)


Lesenswert?

Danke für die Antworten. Werde bei kritischen Werten eher ein externes 
EEprom nehmen. Bieten auch mehr Speicherplatz und sind schnell 
ausgetauscht.
So kann man Konfigurationen auf andere Systeme schnell übertragen und 
das
Klapptop kann zu Hause bleiben.


Gruß Josy

von jjk (Gast)


Lesenswert?

Schau Dir dazu mal den AT28C64B mit "Software Data Protection 
Enable/Disable Algorithm" an.
Ist etwas umstaendlich da man beide Sequenzen bei jedem Schreibvorgang 
braucht (disable-Daten schreiben-enable), aber dafuer sicher. Ich hab 
das Teil im Einsatz und es funktioniert reibungslos solange man nicht 
genau waehrend des Schreibvorganges den Strom abschaltet.
Ich rufe zur Sicherheit bei jedem Reset des Systems die enable-Routine 
1x auf um sicher zu sein dass der Schutz aktiviert ist falls doch mal im 
unguenstigsten Moment abgeschaltet wurde.

juergen

von josy (Gast)


Lesenswert?

Danke Juergen !

Habe gesehen, dass im Mega32 der Brounout-Level auf 4,0 V eingestellt 
war, aber der Brounout-Dedector dich freigegben war (BODEN = 1). Habe 
jetzt
mit eingeschaltetem BOD getestet (langsam sinkende Versorgungsspannung, 
ca 150x) und es trat kein Problem bis jetzt mehr auf.



Gruß Josy

von jjk (Gast)


Lesenswert?

Na bitte, dann sollte es ja auch so gehen.

Der Vorteil des 28C64B ist halt dass es ein absoluter Schreibschutz ist, 
egal wie der Rest des Systems ausschaut. Ich habe den genommen weil 
meine Controller keine BOD-Mimik haben.

juergen

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.