SDCard schreiben und Spannungsausfall

Wie schütze ich das FileSystem beim plötzlichen Spannungsausfall

pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

SDCard schreiben und Spannungsausfall

 · 
Posted: 17.05.2013 - 14:59  ·  #1
Hallo Leute,

ich möchte gerne noch mal ein altes Thema aufgreifen.

Es geht um das Thema "Wie schütze ich das FileSystem beim plötzlichen Spannungsausfall", wir haben auf einer Baugruppe mit XMEGA 256A3 und Ethernetswitch auch eine SD-Card drauf gepackt.

Um dieses Problem zu lösen haben wir über einen Spannungsteiler die Spannung vor dem 3v3 Regler überwacht, sobald diese unter einen bestimmten Wert rutscht (normal 24V) brechen wir alle Schreib und Log-Funktionen ab. Und schließen die Dateien, um noch mehr Zeit zu haben, hatten wir 4 Kondensatoren (1.8mF/6v3) am Ausgang des 3v3 Regler angebracht, das klappt auch soweit ganz gut. Nur möchte ich gerne diese Kondensatorbatterie einsparen.

Wie sind eure Erfahrungen mit defekten Filesystemen wegen Spannungsabfall?
Mir persönlich ist es bis jetzt bei meinen Tests noch nicht passiert!

Wie habt ihr das Problem gelöst? Wieviel Zeit bruacht der AVRco wirklich bis die Datei zu und sicher ist?

Gruß
Thorsten
Attachments
SCCardSchutz
Filename: SpgKondensator.jpg
Filesize: 85.02 KB
Title: SCCardSchutz
Information: SCCardSchutz
Download counter: 130
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2133
Registered: 03 / 2003
Subject:

Re: SDCard schreiben und Spannungsausfall

 · 
Posted: 17.05.2013 - 20:30  ·  #2
Hallo Thorsten,

bei meinen Tests mit SD-Karten hat es mir einige mal das Filesystem bei Stromausfall zerschossen. Das war von mir gewollt (also der Stromausfall) um zu sehen was passiert. Ein Stromausfall kann bei meiner Schaltung nicht vorkommen, da diese Batteriebetrieben ist und bei Unterschreitung einer bestimmten Spannung das Filesystem geschlossen und die Schaltung abgeschaltet wird. Die Schaltung hat keinen richtigen Ein-/Ausschalter, sondern wird mit einem Taster eingeschaltet (Gate eines FET direkt angesteuert und vom µC über einen Port gehalten). Natürlich könnte man einfach im Betrieb die Batterie abklemmen, aber da kann ich nur sagen: "selber schuld !".

Gruss
Harry
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: SDCard schreiben und Spannungsausfall

 · 
Posted: 17.05.2013 - 20:44  ·  #3
Quote by Harry

Hallo Thorsten,

bei meinen Tests mit SD-Karten hat es mir einige mal das Filesystem bei Stromausfall zerschossen. Das war von mir gewollt (also der Stromausfall) um zu sehen was passiert. Ein Stromausfall kann bei meiner Schaltung nicht vorkommen, da diese Batteriebetrieben ist und bei Unterschreitung einer bestimmten Spannung das Filesystem geschlossen und die Schaltung abgeschaltet wird. Die Schaltung hat keinen richtigen Ein-/Ausschalter, sondern wird mit einem Taster eingeschaltet (Gate eines FET direkt angesteuert und vom µC über einen Port gehalten). Natürlich könnte man einfach im Betrieb die Batterie abklemmen, aber da kann ich nur sagen: "selber schuld !".

Gruss
Harry


Hallo Harry,

ok gezielt habe ich es noch nicht getestet.

Aber ich muss damit immer rechnen, ich möchte Zugänge und Alarme an überwachten Zugängen loggen. Den Reset habe ich gar nicht mehr rausgeführt, das läuft auf einen IO-PIN und ich enscheide dann wann der Reset ausgeführt wird. Aber wenn Jemand die 24V an der Leiterplatte einfach abzieht oder das Netzteil defekt ist, tja dann.............

@Rolf: Gibt es irgendwie einen Interrupt, mit dem ich den AVRco-Treiber beim Schreiben der Daten zum sofortigen schließen der Dateien zwingen kann, ohne das schreiben der aktuellen Daten zu beenden?

Dann könnte ich mir Zeit und Kondensatoren sparen ;)

Gruss
Thorsten
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: SDCard schreiben und Spannungsausfall

 · 
Posted: 17.05.2013 - 21:21  ·  #4
Hallo Thorsten,

beim Schreiben von Daten kann nicht sofort abgebrochen werden.
Ein Schreibvorgang muss immer zuende geführt werden, erst dann kann das File geschlossen werden. Das geht schon deshalb nicht da das FAT nicht re-entrant ist. Eine laufende Aktion kann nicht durch eine andere FAT Aktion unterbrochen werden. War schon beim alten DOS so.

Aber so ein Gold-CAP kostet ja nicht viel...
Ansonsten hilft nur die Eingangsspannung vor dem Regler möglichst hoch zu halten und ebenso den Spannungs Sensor so dass ausreichend Zeit besteht Files zu schliessen nach einem Spannungs Ausfall.

Im übrigen sind die Elkos, z.B. C1, reichlich unterdimensioniert. 10..100uF sind für diesen Zweck wohl etwas zu mickrig.

rolf
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: SDCard schreiben und Spannungsausfall

 · 
Posted: 17.05.2013 - 21:51  ·  #5
Der Fachmann für das Problem ist Michael wenn er nicht gerade in der Australischen Sonne liegt.
Er kennt das Timing des FAT Treibers im us Bereich :)
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: SDCard schreiben und Spannungsausfall

 · 
Posted: 18.05.2013 - 10:36  ·  #6
Quote by rh

Hallo Thorsten,

beim Schreiben von Daten kann nicht sofort abgebrochen werden.
Ein Schreibvorgang muss immer zuende geführt werden, erst dann kann das File geschlossen werden. Das geht schon deshalb nicht da das FAT nicht re-entrant ist. Eine laufende Aktion kann nicht durch eine andere FAT Aktion unterbrochen werden. War schon beim alten DOS so.

Aber so ein Gold-CAP kostet ja nicht viel...
Ansonsten hilft nur die Eingangsspannung vor dem Regler möglichst hoch zu halten und ebenso den Spannungs Sensor so dass ausreichend Zeit besteht Files zu schliessen nach einem Spannungs Ausfall.

Im übrigen sind die Elkos, z.B. C1, reichlich unterdimensioniert. 10..100uF sind für diesen Zweck wohl etwas zu mickrig.

rolf

Hallo rolf,

am GoldCap stört mich die Lebenserwartung des Kondensators :(
Und die tests die wir auf dem Steckbrett hatten waren nicht sehr erfolgreich von der Zeit.

Der C1 ist eigentlich ausreichend, man könnte diesen zwar noch erhöhen, aber am Regler 24V auf 5V-Seite (ist auf diesen Schaltplan nicht vorhanden) ist eine entsprechende Größe. Aber wäre auch eine weitere Möglichkeit.

Mit diesen Aufbau konnten wir bis jetzt immer alle Schreibzugriffe sauber beenden und hatten sogar noch Zeit. Auf dieser Platine ist mein Problem die HÖHE, ich habe nur 10mm Platz, dann beginnt bereits die nächste Leiterplatte die darüber sitzt :(. Deswegen muss ich hier auf die Bauhöhe achten.

Sobald der Interr. vom Spannungsvergleicher kommt, schalte ich alle Ausgänge des XMEGA ab und beende jede weitere Aktion (RS232/RS485), er schließt nur noch das Dateisystem und geht dann schlafen. Solange bis die Spannung wieder eine bestimmte Höhe überschreitet.

Aber wie gesagt, ich würde sehr gerne eine kleinere weniger aufwendigere Lösung aufbauen.

@Miparo: Das Timing wäre Super, wir haben bei unseren Tests die Zeiten bereits gemessen, wie weit wir mit dem XMEGA kommen (bei Spannungsabfall). So könnte man dann evtl. 1 oder 2 der Pufferkondensatoren entfallen lassen.

gruss
Thorsten
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   110   125 · Page-Gen-Time: 0.050444s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI