Es gibt doch I2C batteriegepufferte RTC's mit RAM. Kann man die nicht dazu mißbrauchen ?Welche Lösungsmöglichkeiten gäbe es denn noch?
Gruß Sebastian
Hallo,
eine Frage zu der ich Eure Meinug bräuchte.
Ich muss in einer Anwendung alle 0,25 Sek. einen Datensatz sichern, der nach dem Ausschalten erhalten bleiben soll. Dieser Datensatz dient als Backup.
So nun glaube ich, das das interne EEprom vom Mega16 das net lang mitmacht. Die Dinger haben ja so um die 100.000 Schreibzyklen. Wenn aber 4 X pro Sekunde abgespeichert wird dann ist das EEprom bald hinüber, oder?
Welche Lösungsmöglichkeiten gäbe es denn noch?
Gruß
Markus
Es gibt doch I2C batteriegepufferte RTC's mit RAM. Kann man die nicht dazu mißbrauchen ?Welche Lösungsmöglichkeiten gäbe es denn noch?
Gruß Sebastian
Linus TorvaldSoftware is like s e x: its better when its free.
du köntest ja einen dicken goldcap in die schaltung einbauen und gleichzeitig die versorgung messen, sobald die versorgungsspannung weg is die daten ins eeprom speichern dan bräuchtest du nur einen schreibzugriff beim wirklichen abschalten... und der goldcap sollte dafür locker reichen....
gruss bluesmash
oder das ganze als "Ringpuffer" auslegen ....
die Lösung mit der Goldcap find ich pers. nicht schlecht. Stimmt die Daten müssen eigentlich erst dann gesichert werden, wenn die Spannung abgeschalten wird. Das kommt dann wesentlich seltener vor.
Da brauch ich dann auch in der Software nicht allzu viel ändern.
Ich schreibs ja mit Bascom und da bin ich noch nicht allzu sicher unterwegs.
@Hanni
was meinst du genau mit "Ringpuffer"? Im EEprom im Kreis beschreiben?
Bring aber auf die Dauer auch nicht wirklich viel mehr. Ich möchte die Schaltung auf mehrere Jahre sicher betreiben.
Wie sieht es eigentlich mit einem "normalen" I2C Ram aus das ich mit einer Knopfzelle füttere? Gibt es da was kleines? So wie es Sebastian vorschlug?
Gruß
Markus
Hi!
Genau die selbe Fragestellung hatte ich auch schon bei einem Projekt, das ich noch umsetzen will. Eine Drehscheibensteurung für die Modellbahn. Dabei muss einmalig die Ist-Position eingelernt werden.
Und dann muss auch jedesmal beim Ausschalten, die letzte aktuelle Lage gespeichert werden, damit es beim nächsten Einschalten wieder funzt.
Dazu hatte ich auch schon die Idee mit dem Goldcap, sollte eigentlich klappen!
Die Idee mit dem Ringspeicher hatte ich auch schon öfter gehört....nur wie soll man das umsetzen. Klar jedes Mal an eine andere Stelle Speichern bringt eine erhebliche Erhöhung der Speicherlebensdauer...aber woher weiß ich beim Wiedereinschalten wo ich zu letzt war??? Das müsste ich doch auch speichern....und dann bin doch wieder genauso weit, wie vorher??? Oder gibt es da einen simplen Trick?
Gruß
Sven
Naturlich gibts da ein ganz simpler trick:an einer festen Adresse speicherst du jedesmal die adresse oder page mit, die zuletzt beschrieben wurde.
Ja gut, dann bringt das ganze ja überhaupt nix, da du dann an der stelle den eeprom kaputt macht, an der du die adresse speicherst, dann kannste auch gleich immer auf die selbe stelle schreiben. Es muss da aber ne Möglichkeit geben. Schließlich wird sowas ja gemacht...
Gruß
Sven
natürlich bringt das was, du kannst somit z.B. die letzten 10 datenaufzeichnungen zurückverfolgen. Wie willst des anders hinbekommen?
oder nimmst nen PCF8570 mit Puffer-GCap.
Ich versteh auch nicht was das für diesen Anwendungsfall bringen soll.
ACsenf will ja nur die letzte Psoition wissen und nicht die 9 Positionen davor.
Man könnte es höchstens so machen dass man bei jedem Schreibvorgang eine Zelle mit einem Wert beschreibt der nie gespeichert wird (z.B. 0). In die nächste Zelle schreibt man dann den abzuspeichernden Wert.
Bein nächsten Schreibvorgang überschreibt man dann den alten Wert ebenfalls mit 0 und schreibt den neuen aktuellen Wert in die nächste Zelle.
Beim Neustart des Programms durchsucht man einfach den Speicher nach der Kombination 0,X und schon hat man den letzten Wert und die aktuelle Speicherposition wieder.
Gibt es eigentlich hier irgendwo ein Musterprogramm für die Goldcap-Variante?
Lesezeichen