Hallo,
in meinem neuen Bastelprojekt stehe ich vor folgendem Problem. Ich
brauche eine Möglichkeit mir ein paar Daten zu merken wenn meine
Schaltung vom Netz getrennt wird. Nun habe ich überlegt die Daten im
EEprom abzulegen doch das ist wohl der schlechteste Weg da die Daten
sich öfter ändern.
Nun könnte man die Daten vielleicht im SRAM ablegen, kann man den mit
einer Batterie buffern? Wie würde man das anstellen?
Gruß AVRli...
Um wieviele Daten handelt es sich? Wenn es nur wenige sind, kannst du
das EEPROM benutzen, indem du die ein Array von Strukturen der Daten im
EEPROM anlegst und mitzählst, wie oft geschrieben wurde. Wenn der
kritische Wert von 100000 (bei ATMEGA) erreicht ist, einfach die Adresse
der Struktur erhöhen und die nächsten 100000 Schreibzugriffe stehen dir
zur Verfügung. Adresse natürlich auch mit abspeichern.
MW
Moin,
es gibt da SRAM mit einer eingebauten Batterie. Die heißen 'Timekeeper'
oder so. Einige K Speicher, Uhr und Strom in Dosen.
Vielleicht hilft Dir das ja weiter.
:-) Johannes
AVRli wrote:
> Schaltung vom Netz getrennt wird. Nun habe ich überlegt die Daten im> EEprom abzulegen doch das ist wohl der schlechteste Weg da die Daten> sich öfter ändern.
Aber nach dem Ausschalten änder sie sich ja nicht mehr.. wenn Du also
nicht 100x pro Minute ausschaltest sonder vielleicht jede Stunde so
kannst Du Dein SRAM noch ins EEPROM auslagern bevor die Spannung
zusammenbricht. Dafür müsstest Du eine Erkennung haben, ob die Spannung
vor einem Pufferkondensator auf 0 geht und entsprechend die
Schreibroutine aufrufen.
Hi, AVRli,
schau mal bei ebay unter FRAM - ferroelektrische RAMS.
Von "paktek",(Nick des Lieferanten) habe ich 24FM16 gekauft, 2kx8 mit
I2C.
Vorteile:
* Lesen und Schreiben so schnell wie RAM
* Adressierung - Selective Read Write (jedes Byte einzeln), in Sequence.
* Daten bleiben nach Power-Off erhalten.
Das gibt's auch mit parallelem Adreß- und Datenbus.
Ciao
Wolfgang Horn
Wolfgang Horn wrote:
> Vorteile:> * Lesen und Schreiben so schnell wie RAM
Naja, so schnell wie interner RAM wird es wohl nicht sein, aber man wird
wahrscheinlich keine waits einlegen müssen beim ansprechen.
Hallo,
danke für die vielen Antworten.
Nun die Menge der Daten ist nicht wenig...
Es handelt sich um Texte die aufgezeichnet werden. Ähnlich einer SMS
Funktion. So 10 Texte wollte ich schon ablegen können. Ein Text kann
maximal 100 Zeichen enthalten.
Die FRAM Geschichte klingt nicht schlecht, die Dinger sind nur überall
abgekündigt wo ich geschaut habe. Hmm über eBay kaufe ich nichts mehr,
zu oft auf die Nase gefallen.
Gibt es vielleicht ein I²C RAM den man mit einer kleinen Batterie
puffern kann?
MfG AVRli...
Wenn die Daten nicht "ewig" gespeichtert werden müssen:
Spendier dem AVR nen Größeren Kondensator (Goldcap) und schalt ihn in
den "Power-Down Mode" sobald die externe Spannungsversorgung weg ist.
Hat dann (Laut Datenblatt) einen Typ. Verbrauch von <1µA, und hält den
RAM-Ihnalt bis runter zu 2.5V.
Du musst dann natürlich einen Pin zum Spannungsüberwachen opfern,
vorzugsweise einen der INT-Pins, die den Mega dann auch wieder aufwecken
können, sobald der Strom wieder da ist.
fram gibts zB bei tme.pl
wenn es dir allerdings nicht darum geht die Daten sehr schnell zu
speichern, nimm doch eine Speicherkarte, da kannst du dann auch Romane
speichern :P
Wie häufig müssen die Daten denn gesichert werden (wie oft wird
abgeschaltet)? Viele AVRs haben 1K oder mehr EEPROM mit 100.000
Schreibzyklen. Das sollte reichen um ein Jahr lang alle 5 Min
ausschalten zu können - wenn ich mich nicht verrechnet habe.
Hi,
nimm doch ein EEPROM mit SPI Interface, z.B. 25080 (1024*8 Bit)
oder 25160, 25320 oder gar 25640 (8192*8 Bit).
Dieses EEPROM hat 3MHz Clock Rate, 32Byte page write und ca. 5ms
programmierzeit mit 1M endurance (Daten von dem Atmel Device).
Zugriff ist schnell und 8kByte könnte für deine Anwendung ausreichend
sein.
Gruß,
Kai
Jörg B. wrote:
> Wie häufig müssen die Daten denn gesichert werden (wie oft wird> abgeschaltet)? Viele AVRs haben 1K oder mehr EEPROM mit 100.000> Schreibzyklen.
Wobei nicht gesagt ist, dass das EEPROM mit dem 100.001
Schreibzyklus kaputt ist. Die 100.000 sind garantiert. Meist
hält es länger. Viel länger!
Also, Jörg hat völlig recht. Wie oft ändern sich die Texte?
Schätz mal ab. Und dann rechne mal ein bischen, wieviele Jahre
das ausmacht. Und dann entscheide ob du damit leben kannst.
Hallo!
Vielen Dank für eure Antworten und Ideen!
Ich habe mal gerechnet und festgestellt das ich damit gut leben kann
wenn man die Daten direkt im eeprom speichert.
Mehr wie 10 Jahre wird die Schaltung ehh nicht leben und wenn sie es
schafft, ist es auch ok wenn sie dann das Zeitliche segnet. ;)
Es ist wohl nur wichtig das man den EEProm nicht als "RAM" verwendet und
alle Sekunde drauf schreibt.
Nun werde ich vlt. doch lieber noch einen I²C EEProm nehmen, die haben
ja 1mio Schreibzyklen... genug Luft...
MfG AVRli...