Forum: Mikrocontroller und Digitale Elektronik Daten im SRAM nach dem ausschalten merken?


von AVRli (Gast)


Lesenswert?

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...

von AVRli (Gast)


Lesenswert?

vergessen: ich spiele zur Zeit mit einem ATmega 16

von Michael Wilhelm (Gast)


Lesenswert?

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

von jojansen (Gast)


Lesenswert?

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

von Jörg B. (manos)


Lesenswert?

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.

von Wolfgang Horn (Gast)


Lesenswert?

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

von Jörg B. (manos)


Lesenswert?

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.

von AVRli (Gast)


Lesenswert?

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...

von Εrnst B. (ernst)


Lesenswert?

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.

von Kai F. (kai-) Benutzerseite


Lesenswert?

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

von Jörg B. (manos)


Lesenswert?

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.

von Kai E. (kai20)


Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

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.

von AVRli (Gast)


Lesenswert?

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...

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.