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)
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.
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).
@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?
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.
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.
"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
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.
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.
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)
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.
Zum besseren Verständnis siehe Atmel AVR Application Note 101 - "High Endurance EEPROM Storage". Beschreibt ein etwas anderes Verfahren, aber das gleiche Grundprinzip.
Hey das ist ne ziemlich einfache lösung, dadruf bin ich gar nicht gekommen. das ist so simpel und doch so wirkungsvoll. danke!
Wenn man dann noch davon ausgeht, dass die Dinger schon 1-5Mio Zyklen halten...
Hallo, und noch ein Tip, schreibe die Daten immer ein 3 Felder weiter so das nicht immer die gleichen Speicherzellen verwendet werden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.