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