www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SRAM ersatz für eeprom?


Autor: Bubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich bastel gerade an einer anwendung die ziemlich oft was im eeprom
schreiben/lesen muss (2 bytes).(ich will dem kontroller keinen extra
strom geben damit er die daten im ram behält). Nun war die überlegung,
dass ich einen SRAM baustein nehme (er kann beliebig oft beschrieben
werden) und ihn mit ner 5V z diode am leben erhalte (er sollte ja kaum
strom ziehen). Ist das machbar/ hat das schon mal jemand gemacht? genug
ports habe ich noch frei (12 pins)

Autor: KoF (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm ich hab in meiner firma mal was von m-rams aufgeschnappt (magnetical
ram). die halten ihren inhalt auch ohne strom. war so vor einem jahr.
ich meine ebv konnte erste muster liefern. vielleicht werden die ja
jetzt schon von irgend einem distributor vertrieben.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu SRAM mit eingebauter Pufferung guckst Du bei Reichelt unter
"zeropower".

Alternativ gibt's RAM mit 256 Bytes via I2C (240 Bytes wenn auch eine
RTC drin sein darf).

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Apropos - inwiefern sorgt eine Z-Diode für Strom?

Autor: Bubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@AK: habe ich das gesagt?? Ich sagte: "er dürfte kaum strom
verbrauchen" für anwendungen, die so im mA Bereich liegen, sind
widestand,z-diode und n cap einfach ausreichend.

Meinst du zb DS 1307 bei reichelt? ZEROPOWER geht eindeutig über die
finazielle grenze es projektes. man könnte eins zwei bytes doch auch
mit transistoren basteln, oder?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich dachte an PCF8583 (mit RTC) oder PCF8570 (ohne), wenn 56 Bytes ok
sind tut's der DS1307 aber auch und ist bei Knopfzelle etwas einfach
zu beschalten.

Ein Z-Diodenregler frisst als Parallelregler erheblich mehr Strom als
beispielsweise ein 78L05.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normales SRAM geht natürlich auch, insbesondere wenn so ein Teil noch
irgendwo rumliegt, wie beispielsweise ein 6116. Braucht aber deutlich
mehr Platz.

In diesem Fall musst Du freilich sorgfältig aufpassen, dass bei
Aus/Einschaltung vom Controller keine versehentlichen Schreibzugriffe
passieren können. Brownout-Detection ist also zwingend, und minderstens
ein Pullup an /CE.

Minimale Pincount gibt's dann mit 1 Datenbit, 4 Adressbits, 1 /CE und
1 /WE. Übrige Adressen und /OE an GND, übrige Daten per Widerstandarray
an GND.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"ziemlich oft was im eeprom schreiben/lesen muss"


Was ist "ziemlich oft" ?

Und lesen kannst Du soviel Du willst.

Rechne doch erstmal durch, wieviele Jahre z.B. ein 24C16 hält, wenn man
immer auf die nächsten 2 Byte schreibt und nur, wenn sich auch was
geändert hat.

Bzw. FRAMs sind auch nicht teuer.

Eine Batterie würde ich immer als allerletzten Notnagel ansehen, da
wartungsaufwendig (Ladeschaltung) und potentielle Fehlerquelle (kann
auslaufen).


Peter

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immer nur 2 Bytes wird schwierig. Woher weisst du wo der letzte Stand
sitzt? 4 Bytes - 2 Bytes Inhalt und 2 Bytes Timestamp/Sequenceno - ist
m.E. das Minimum.

Ach ja, für Anhänger unkonventioneller Lösungen hätte ich noch eine:
2xHC374. Braucht genau 12 Pins (8 Daten, 2 Clock, 2 /OE). Zu Brownout
und Co gilt das gleiche wie bei SRAM, also Pulldown an den Clocks.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und noch was für Liebhaber des Bizarren: 74HC593. Da ist der
Speichervorgang zwar etwas ungewöhnlich, aber dafür braucht's nur
einen billigen 16-pinner und ein paar Widerstände.

Autor: bubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmal für die vielen vielen antworten. Die anwendung macht im
prinzip folgendes: ein gerät gibt daten auf einem display aus, zum
beispiel
1) information1
2) information2
3) information3
jeweils zwei sekunden, dann bleibt information 3 stehen. gerät aus/ein
information3 bleibt stehen.
Ich mache folgendes:
1+2+3 einlesen schön formatieren wieder auf nem größerem display
ausgeben... nun soll das displaya und alles andere mit dem eigentl.
gerät ausgehen... (dann fehlen 1+2, welche ich je in nem byte unter
kriege)

Bei jeder bedienung ändert sich 1 oder 2 bei 365 tagen habe ich nur 273
zugriffe pro tag, danach ist der eeprom futschi (also die garantie des
herstellers ist futschi - ich wollte den internen des mega8 benutzen)

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mega8 hat 512 Bytes EEPROM. Jedes Byte kann 100000 mal. Pro Vorgang
werden reihum 3 Bytes gespeichert (1 Byte Sequenzzähler, 2 Byte Daten).
Macht insgesamt rund 17 Mio Schreibvorgänge. Macht rund 4600 Zugriffe
pro Tag bei 10 Jahren Betriebsdauer.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum besseren Verständnis siehe Atmel AVR Application Note 101 - "High
Endurance EEPROM Storage". Beschreibt ein etwas anderes Verfahren,
aber das gleiche Grundprinzip.

Autor: Bubi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey das ist ne ziemlich einfache lösung, dadruf bin ich gar nicht
gekommen. das ist so simpel und doch so wirkungsvoll. danke!

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man dann noch davon ausgeht, dass die Dinger schon 1-5Mio Zyklen
halten...

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

und noch ein Tip, schreibe die Daten immer ein 3 Felder weiter so das
nicht immer die gleichen Speicherzellen verwendet werden.

Autor: dave (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das war eigentlich der Lösungsansatz von A.K.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.