Forum: Mikrocontroller und Digitale Elektronik Speicherproblem C8051F021


von Stephan G. (toaran)


Lesenswert?

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
von Peter D. (peda)


Lesenswert?

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
von guest (Gast)


Lesenswert?

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

Gruß
RABIS
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.