www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Speicherproblem C8051F021


Autor: Stephan G. (toaran)
Datum:

Hallo zusammen

ich habe da mal ein Problem:

ich habe einen Chip C8051F021.. die Hardware drum rum ist bereits fertig
und kann momentan zumindest nicht geändert werden.

Zu meinem Problem:
Ich lese direkt nach dem einschalten mehrere Werte aus dem Flash und
speichere auch gleich wieder etwas hinein...funktioniert im normalfall
auch ...

wenn ich jedoch etwas schreiben will muss ich das Seitenweise bei dem
Controller machen.. also immer 512 bytes ... ist auch kein Problem..
nur muss man bevor man was schreibt erstmal alles löschen.. bzw mit FF
beschreiben ... geht auch ...
jetzt habe ich das Problem das wenn es zu einem Stromausfall (oder
Wackelkontakt beim Netzteil anschließen...) beim schreibvorgang kommt,
kann es vorkommen das die Werte schon gelöscht sind aber die neuen noch
nicht geschrieben ... also alles weg ist ...

wie kann ich sowas verhindern?

T
Autor: Peter Dannegger (peda)
Datum:

Am besten ist eine Spannungsüberwachung.
D.h. die Spannung vor dem Regler wird über einen ADC-Eingang überwacht,
ob sie hoch genug ist und erst dann das Schreiben erlaubt.
Und an der VCC ist dann ein entsprechend dicker Elko, der für die Dauer
des Schreibens garantiert genug Energie liefert.

Als Notlösung nimmt man 2 Pages wechselweise und speichert eine
fortlaufende Nummer und eine CRC mit.
Stimmen beide CRC, ist die Page mit der nächsten folgenden Nummer die
neuere.
D.h. bei 0xFF und 0x00, ist die Page mit 0x00 neuer.


Peter
Autor: guest (Gast)
Datum:

Hi,
ein Komparator tuts auch (falls kein ADC da)...

Gruß
RABIS

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




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net