PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sekunden ins EEPROM speichern bei einem ATtiny2313



popi
02.09.2008, 12:27
Hallo zusammen,

ich möchte gerne jede Sekunde in das EEPROM des ATtiny2313 speichern.
Von Code her kein Problem, aber wie löst man denn sowas geschickt??

Denn immerhin kann ich die Speicherzellen nur 100000x beschreiben.

Und dann wäre nach 27 Stunden schon aus mit meiner Speicheung...

Hat jemand eine Idee, keinen Lösungsvorschlag, aber eine Idee, wie man das am geschicktesten machen kann, um alle 128Byte ausnutzenzu können, damit sich die LEbensdauer erheblich verlängert.

Danke und Grüße

popi

PS: Es ist wichtig, das jede Sekunde im Betrieb gespeichert wird, also bitte keine Lösungsvorschläge wie: erst nach ende die aktuelle Zeit speichern oder sowas.

Vielen Dank noch mal!

MSN
02.09.2008, 16:05
wofür willst du das denn machen? du könntest ja auch nur dann speichern wenn der strom ausfällt o.ä.

the_Ghost666
02.09.2008, 18:01
viele Memorysticks usw arbeiten so, dass sie Daten nicht immer an eine Stelle schreiben, sondern weitergehen und den Wert markieren, bzw. seine Position sich merken.
Du könntest die Daten mit einer Markierung versehen, die anzeigt, welche die Aktuelle ist, und dann immer einen neben den anderen schreiben.
Du könntest den Datensatz schreiben, sodass diese als aktuellste markiert sind, den vorhergehenden Datensatz dann umschreiben, dass er nichtmehr aktuell ist.
Ansonsten würde ich es so machen, dass du die Sachen in einen RAM speicherst und erst vor der Abschaltung in das EEPROM kopierst. Natürlich wäre dann im Fehlerfall (Betriebsspannung weg) der Inhalt zerstört. Aber wenn du noch einen Backup-Goldcap Kondensator einbaust und die Batteriespannung misst, könntest du es schaffen, vor einem Leerlaufen der Batterie die Daten zu sichern.

s.o.
02.09.2008, 18:25
Du schreibst zwar ausdrücklich dass Du nicht hören willst: Erst am Ende speichern. Aber wieso denn nicht? Mit der hier vorgestellten Technik schaffste maximal 1 Woche, dann darfst Du einen neuen Chip kaufen..
Ich habe jetzt zwar nicht den genauen Einblick, aber ich denke, dass Du es im Falle von Powerverlust speichern willst.Wie wäre es den µC über ein C zu puffern und wenn die Spannung z.b. 4,5 Volt unterschreitet speicherst Du das dann. Aber du musst dann auch wirklich sicherstellen, dass die Spannung stabil ist. (Geht sie jede Sekunde unter 4,5.... naja... kommt es aufs gleiche)

the_Ghost666
02.09.2008, 18:45
Und zum Thema "jede Sekunde": Wenn es ne Uhr werden soll, es gibt auch Realtime-Clocks, also ICs, die über nen eigenen 37kHz Quarz die Zeit messen und sich selbst mit nem RAM am leben halten. Dabei gibts Techniken, die einfach ne separate Batterie haben, die 10Jahre halten würde, oder n Kondensator, der bei externer Spannung geladen wird. Die haben sogar Kalenderfunktionen, die bei erreichen eines Datums/Zeit einen Interrupt generieren können.
Wenn es keine Uhr werden soll, kannst du das hier ignorieren.