Forum: Mikrocontroller und Digitale Elektronik Diskussion: Spannungsbackup für Schaltungen


von Jens (Gast)


Lesenswert?

Hallo zusammen,

ich habe mal eine Frage, bzw. vielleicht einen Diskussionsanstoß:

Mal angenommen eine Schaltung, bei der ein Mikrocontroller ab und dann 
Werte in einem EEPROM ablegt. Das seien wichtige Daten, z.B. eine 
Messreihe von irgendwelchen zyklisch eingelesenen Daten.

Jetzt stelle man sich vor, in dem Moment, wo grad ein Wert gespeichert 
wird, fällt die Stromversorgung aus - also quasi mitten beim Schreiben. 
Im EEPROM steht dann ja nur Quatsch, was man später aber evtl. nicht 
mehr klar erkennen kann, weil die resultierende Bitfolge, die dann 
gespeichert ist, ebenfalls einen Sinn ergibt.

Wie kann man sowas absichern? Werte redundant schreiben? Von mir aus 
dreimal, und beim auslesen die drei Werte vergleichen und dann den 
nehmen, der mehrmals vorhanden ist - das bringt natürlich auch nichts, 
wenn das Speichern beim ersten unterbrochen wird.

Evtl. mit Kondensatoren die Spannung puffern, sodass der Mikrocontroller 
zumindest ne kleine Chance hätte, den Wert noch eben zu speichern?

Wie wird sowas denn in der Industrie realisiert? Da werden ja auch Werte 
mitgeschrieben, um evtl später eine Analyse zu machen.

Oder das Speichern von irgendwelchen Parametern - mal angenommen, der 
Techniker klemmt das Gerät grad in dem Moment ab, wo grad gesichert 
wird...


Hat da jemand ein paar Idden zu?


Gruß, Jens

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jens schrieb:

> Wie kann man sowas absichern?

Dafür sollte bereits eine CRC ganz gut helfen.

> Evtl. mit Kondensatoren die Spannung puffern, sodass der Mikrocontroller
> zumindest ne kleine Chance hätte, den Wert noch eben zu speichern?

Kannst du auch machen, du kannst ja den Wegfall der externen
Versorgung irgendwie erkennen, sodass der Controller weiß, dass
jetzt Eile geboten ist und ein "Notlaufprogramm" anwirft.

von Jens (Gast)


Lesenswert?

Noch ein Nachtrag:

Bei Drucktransmittern z.b. die halt ihre Werte in regelmäßigen Abständen 
abspeichern, da kann nicht einfch eine Batterie drin sein, weil diese 
Geräte dazu noch meist vergossen sind und z.T. Temperaturen bis 80°C 
problemlos aushalten müssen - eine Batterie fällt daher weg, weil wenn 
leer, dann ist das Gerät "Schrott" - und so hohe Temperaturen für 
Batterien ist ja auch eher ungut.

von Peter D. (peda)


Lesenswert?

Z.B. der DS89C430 hat einen Early-Warning Power-Fail Interrupt. Damit 
kann man die VCC überwachen und bei einem Einbruch rechtzeitig was 
abspeichern.
Das ist also sehr bequem.

Bei den AVRs gehts nicht so einfach. Da muß man zyklisch die Bandgap 
messen, um einen Einbruch zu erkennen.


Peter

von oszi40 (Gast)


Lesenswert?

1.Mit Goldcaps brennt ein Fahrradstandlicht z.B. noch 5 Minuten.
http://de.wikipedia.org/wiki/Goldcaps

>Temperaturen bis 80°C
2.Es gibt auch Elkos für 105 Grad. Ob diese bei dauerhaften 85 Grad ein 
ewiges Leben haben wäre sicher die nächste Frage.

3.Egal ob Sekündchen oder Stunden mit dem Dieselaggregat: igendwann 
fällt auch dieser Strom aus. Deshalb gilt auch hier die alte 
Bauernregel: Lege nie alle Eier in einen Korb!

>...Werte in einem EEPROM ablegt ?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter Dannegger schrieb:

> Bei den AVRs gehts nicht so einfach. Da muß man zyklisch die Bandgap
> messen, um einen Einbruch zu erkennen.

Kann man auch über den Analogkomparator machen, der kann ebenfalls
einen Interrupt auslösen.

von Falk B. (falk)


Lesenswert?

@  Jens (Gast)

>Wie kann man sowas absichern? Werte redundant schreiben?

Das alelin reicht nicht. Man muss auch einen abgerochenen Schreibvorgang 
erkennen. Z.B. über CRC, Zeeitstempel, etc.

>Evtl. mit Kondensatoren die Spannung puffern, sodass der Mikrocontroller
>zumindest ne kleine Chance hätte, den Wert noch eben zu speichern?

Das ist ein üblicher Ansatz.

http://www.mikrocontroller.net/articles/Speicher#EEPROM_Schreibzugriffe_minimieren

>Wie wird sowas denn in der Industrie realisiert? Da werden ja auch Werte
>mitgeschrieben, um evtl später eine Analyse zu machen.

Mit den oben genannten Methoden, allerding schon recht aufwenig 
umgesetzt.

>Oder das Speichern von irgendwelchen Parametern - mal angenommen, der
>Techniker klemmt das Gerät grad in dem Moment ab, wo grad gesichert
>wird...

Dann gibts wieder Arbeit für den Techniker. Man kann es sicher machen. 
Aber nie idiotensicher.

MFG
Falk

von Markus (Gast)


Lesenswert?

>> 1.Mit Goldcaps brennt ein Fahrradstandlicht z.B. noch 5 Minuten.
>> http://de.wikipedia.org/wiki/Goldcaps

Davon steht im Artikel nichts - habe ich etwas übersehen? Hintergrund: 
mein Fahrradstandlicht kommt auf nur 60 Sekunden.

von Nosnibor (Gast)


Lesenswert?

Allgemein: hinter jeden Datensatz gehört eine Prüfsumme als "Siegel". 
Ein Datensatz ohne gültige Prüfsumme ist nicht glaubwürdig, muß beim 
Lesen also ignoriert werden.

Für Konfigurationsdaten stellt sich da natürlich die Frage, was das 
Gerät beim Einschalten machen soll, wenn die Prüfsumme nicht stimmt, 
d.h. die Daten unbrauchbar sind. Da hilft es, die Konfiguration zweimal 
zu speichern: entweder der Ausschalter trifft einen beim ersten 
Speichern, dann ist die Kopie der alten Konfiguration noch heile, oder 
er schlägt beim Speichern der Kopie zu, dann ist die neue Konfiguration 
immerhin schon einmal gesichert. Nach dem Neustart muß das Gerät 
allerdings erstmal "aufräumen", wenn es einen defekten Datensatz 
erkennt.

Für Logdaten in einem Ringpuffer gilt ähnliches: nach dem Einschalten 
erstmal den letzten Eintrag prüfen und löschen, falls er defekt ist.

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.