Forum: Mikrocontroller und Digitale Elektronik Flash, RAM, NVRAM?


von Simon (Gast)


Lesenswert?

Ich frage mich wie man Daten dauerhaft Speichert.

Beispiele:

1. TV Gerät, Speichert seine Sender, und die heutigen Geräte
kann man abstecken und denoch Bleiben die Sender erhalten

2. Digitale Energiemessgeräte/Stromzähler
Der Wert darf ja niemals zurück gesetzt werden.

Diese sollten auch beim Abschalten des Gerätes erhalten bleiben.

Meine Lösungsansätze:

1. Atmel ATmega/XMega
  EEPROM -> nicht sonderlich viele Schreibzyklen und recht klein
eventuell kann man hier mit tricks einen Spannungsausfall erkennen und 
noch "schnell" den Wert abspeichern

2. Flash, z.B. ATDB.... SPI Flash gibts auch in 1,4,16 MB größen
 Wenn  man hier nicht immer auf die selben Zellen schreibt
kann man abhängig der Speichergröße und Speicherintervall schon einige 
Jahre überbrücken.

3. RTC mit NVRAM oder RAM
Hier ist der Haupt nachteil, Man müsste Ihn mit GoldCaps oder Lithium 
Batterien Puffern, die spätestens nach 5-10 Jahren auch schrott sind und 
getauscht werden müssten.
Was bei einem Gerät noch geht, aber was macht man bei 100 Geräten? 
Sicherheitshalber alle 2 Jahre austauschen? dann wird wieder ein Gerät 
vergessen und man hat den Ärger.

Gibt es auch Seriellen RAM, mit I2C oder SPI?

Konkrete Zahlen:

Der Speicher sollte Platz für 40kb bieten.
jede Stunde werden hier 120Byte geschrieben.

von Wilhelm F. (Gast)


Lesenswert?

Bei Flash lassen sich oft nur Partitionen von mehreren kB komplett 
löschen und beschreiben.

Moderne EEPROM haben gelegentlich bis zu 100.000 Schreibzyklen, und es 
gibt auch Algorithmen, wie man einen EEPROM-Speicher nutzt, daß er nicht 
an den selben wenigen Adressen abnutzt. Zyklische Weiterbeschreibung der 
nächsten Adressen, bis man wieder bei Null ankommt. Oder in der Software 
Nichtbeschreibung einer Zelle, die bereits den selben Wert enthält.

SRAM ist immer vorzüglich, benötigt aber sorgfältige 
Stromversorgungspufferung.

Mit FRAM beschäftigte ich mich noch nicht.

> Gibt es auch Seriellen RAM, mit I2C oder SPI?

Sicher.

von h_ (Gast)


Lesenswert?

MRAM gibt es auch noch. Beliebig wiederbeschreibbar und benötigt keine 
Pufferbatterie, ist aber dafür relativ teuer.

von (prx) A. K. (prx)


Lesenswert?

Simon schrieb:

> Der Speicher sollte Platz für 40kb bieten.
> jede Stunde werden hier 120Byte geschrieben.

(1) Ergibt keine 9000 Schreibvorgänge im Jahr. Ein externes EEPROM, 1 
Mio mal beschreibbar, wird dich selbst dann überleben, wenn du immer an 
die gleiche Stelle schreibst.

(2) Ergibt 1MB Speicherverbrauch pro Jahr. Ein nur 1Mbit grosses 10000x 
beschreibbares Dataflash wird dich ebenfalls sehr lange überleben, wenn 
entsprechend organisiert.

(3) Internes Flash im Mikrocontroller ist meist 10000x beschreibbar. 1MB 
Verbrauch entsprechen also rechnerisch 100 Bytes. Bereits 10KB reichen 
rechnerisch also 100 Jahre, wobei hier aber erheblicher Verschnitt durch 
die Blockgrösse einzurechnen sein kann.

von Lukas K. (carrotindustries)


Lesenswert?

Auch war da noch PCRAM: Nichtflüchtig, praktisch beliebig oft 
beschreibbar: http://www.digikey.de/product-detail/de/NP5Q128A13ESFC0E 
ist allerdings recht teuer und derzeit single source

von Simon (Gast)


Lesenswert?

ich hab noch MRAM gefunden, keine Ahnung wie die das machen, soll aber 
20 jahre halten, nicht fluechtig, und beschreibbar beliebig oft.

Na gut werde mich wohl für etwas entscheiden müssen

von Frank K. (fchk)


Lesenswert?

Simon schrieb:

> Hier ist der Haupt nachteil, Man müsste Ihn mit GoldCaps oder Lithium
> Batterien Puffern, die spätestens nach 5-10 Jahren auch schrott sind und
> getauscht werden müssten.
> Was bei einem Gerät noch geht, aber was macht man bei 100 Geräten?
> Sicherheitshalber alle 2 Jahre austauschen? dann wird wieder ein Gerät
> vergessen und man hat den Ärger.

Hast Du schon mal in die Datenblätter von normalen Elkos geschaut?
Da steht dann schon mal sowas wie "Endurance: 85°C 1000 h" Und 1000h 
finde ich nicht sehr viel. Gut es gibt auch bessere, aber die kosten 
auch mehr und werden deswegen leider oft nicht eingebaut.

Das fiel mir eben nur so nebenbei ein.

> Gibt es auch Seriellen RAM, mit I2C oder SPI?

Mikrochip 23k256.

Was auch oft gemacht wird: Arbeiten im RAM, und bei Stromausfall wird 
das RAM schnell ins Flash gesichert, beispielsweise per Software nach 
einem Power-Fail Interrupt. Die Energie dafür kommt aus Kondensatoren, 
die genügend Energie für diesen Vorgang speichern. Es gibt/gab auch 
Speicherbausteine, die intern RAM+Flash enthalten und beim Einschalten 
das RAM aus dem Flash geladen und beim Abschalten das RAM wieder ins 
Flash gesichert haben. Damit entschärfst Du die Lebensdauerproblematik 
und vermeidest die Verwendung von Akkus oder Primärzellen.

Inzwischen gibts FRAM für sowas. Das ist Speicher, den Du wie EEPROM 
benutzen kannst, aber mit praktisch unbegrenzten Schreibzyklen und viel 
höherer Schreibgeschwindigkeit. Allerdings nicht ganz billig.

fchk

von bubble-memory (Gast)


Lesenswert?

ne SDkarte mit 1 GB. Da kannste 100 Jahre schreiben, bis sie voll ist 
(Pi mal Daumen)

von Falk B. (falk)


Lesenswert?

@  Simon (Gast)

>Ich frage mich wie man Daten dauerhaft Speichert.

Möglichst clever.

http://www.mikrocontroller.net/articles/Speicher#EEPROM_Schreibzugriffe_minimieren

>  EEPROM -> nicht sonderlich viele Schreibzyklen und recht klein
>eventuell kann man hier mit tricks einen Spannungsausfall erkennen und
>noch "schnell" den Wert abspeichern

Eben.

>2. Flash, z.B. ATDB.... SPI Flash gibts auch in 1,4,16 MB größen
> Wenn  man hier nicht immer auf die selben Zellen schreibt
>kann man abhängig der Speichergröße und Speicherintervall schon einige
>Jahre überbrücken.

Auch.

>Der Speicher sollte Platz für 40kb bieten.
>jede Stunde werden hier 120Byte geschrieben.

Über wieviele Stunden/Tage?

MFG
Falk

von Reinhard Kern (Gast)


Lesenswert?

Simon schrieb:
> Man müsste Ihn mit GoldCaps oder Lithium
> Batterien Puffern, die spätestens nach 5-10 Jahren auch schrott sind und
> getauscht werden müssten.

So ist das nicht, es gibt schon seit langer Zeit Lithium-Batterien mit 
der Garantie auf 80 % Ladung nach 10 Jahren. Man kann durchaus sehr 
zuverlässige grosse nichtflüchtige Speicher mit CMOS-SRam aufbauen, wenn 
man sich die Pufferung nicht gerade am nächsten 
Sonderangebots-Krabbeltisch besorgt. Notfalls bei Militärtechnik suchen.

Gruss Reinhard

von (prx) A. K. (prx)


Lesenswert?

Reinhard Kern schrieb:

> Sonderangebots-Krabbeltisch besorgt.

Gibts an dem auch die Wiederstände?

von AVRsteffen (Gast)


Lesenswert?

Hallo Leute

Welche Nachteile hatte jetzt nochmal ein FRAM?

Habe sowas schon verbaut um aktuelle Einstellungen am Gerat zu 
speichern. Dazu wird aller 200ms alle relewandten Daten im FRAM 
gespeichert.


Gruß Steffen

von D.R. (Gast)


Lesenswert?

es gibt nvsram der automatisch stored beim power down.
http://anvo-systems-dresden.com/products/serial-nvsram/

von (prx) A. K. (prx)


Lesenswert?

AVRsteffen schrieb:

> Welche Nachteile hatte jetzt nochmal ein FRAM?

Teurer.

von AVRsteffen (Gast)


Lesenswert?

Ach was, so teuer ist doch ein FRAM auch nun wieder nicht wenn man nicht 
gerade 256k oder 512kB haben will.
Um einen SRAM NV zu bekommen, muss man auch erst einmal ultra low 
current Typen finden und dann noch einen GoldCap bzw. eine Lithiumzelle 
spendieren. Kostet schließlich auch alles.

Aßerdem verbraucht ein 8Pin FRAM auch weniger Platz.


Gruß Steffen

von (prx) A. K. (prx)


Lesenswert?

AVRsteffen schrieb:

> Aßerdem verbraucht ein 8Pin FRAM auch weniger Platz.

Nicht gegenüber einem 8pin EEPROM. ;-)

Klar, seit es die FRAMs gibt ist gepuffertes RAM etwas obsolet geworden. 
Die Frage ist im Einzelfall freilich, ob man überhaupt externen Speicher 
braucht, ob man mit internem Flash/EEPROM auskommt.

Wobei es wohl mittlerweile MSP430er mit internem FRAM geben soll.

von D.R. (Gast)


Lesenswert?

A. K. schrieb:
> AVRsteffen schrieb:
>
>> Aßerdem verbraucht ein 8Pin FRAM auch weniger Platz.
>
> Nicht gegenüber einem 8pin EEPROM. ;-)
>
> Klar, seit es die FRAMs gibt ist gepuffertes RAM etwas obsolet geworden.
> Die Frage ist im Einzelfall freilich, ob man überhaupt externen Speicher
> braucht, ob man mit internem Flash/EEPROM auskommt.
>
> Wobei es wohl mittlerweile MSP430er mit internem FeRAM geben soll.

MSP430 mit integriertem FRAM ist alt wie Steinkohle

von Wilhelm F. (Gast)


Lesenswert?

Reinhard Kern schrieb:

> Simon schrieb:
>> Man müsste Ihn mit GoldCaps oder Lithium
>> Batterien Puffern, die spätestens nach 5-10 Jahren auch schrott sind und
>> getauscht werden müssten.
>
> So ist das nicht, es gibt schon seit langer Zeit Lithium-Batterien mit
> der Garantie auf 80 % Ladung nach 10 Jahren. Man kann durchaus sehr
> zuverlässige grosse nichtflüchtige Speicher mit CMOS-SRam aufbauen, wenn
> man sich die Pufferung nicht gerade am nächsten
> Sonderangebots-Krabbeltisch besorgt. Notfalls bei Militärtechnik suchen.
>
> Gruss Reinhard

Eine Lithium-Batterie funktioniert zur Zeit noch in einem 26 Jahre alten 
Telefonapparat bei mir.

CMOS-SRAM hatten größere Telefonanlagen, und das funktionierte auch 
zuverlässig. Die Anlagenprogrammierung mit mehreren Stunden Arbeit 
sollte ja anschließend 10-20 Jahre beim Kunden halten, und von diesem 
teils jederzeit und beliebig oft geändert werden können. Außerdem 
verwendete der Anlagenrechner diesen Speicher selbst als RAM für den 
eingebauten µC. In der Anfangszeit der Telefonanlagen mit Halbleitern 
waren das mal Europa-Steckkarten voll mit 8085-Gedönse. Sonst würde der 
Kunde dem Anbieter wohl an den Hals springen, und der Anlagenhersteller 
wäre schnell vom Markt verschwunden.

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.