www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik EEprom Probleme


Autor: Josy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Josy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Atmel nervt.....

???

Autor: Tim (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Josy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: jjk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: josy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: jjk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.