Zusatzspeicher für AVR, EEprom, Fram, Flash??

Gast #973291
Lesenswert?

Hallo,

Ich benötige an einem AVR-Projekt etwas mehr nichtflüchtigen 
Zusatzspeicher. Nur bin ich im Moment völlig durcheinander, was ich da 
nehmen soll. EEProm, Flash, FRam..???
Ich schreibe mal, worauf es mir ankommt, vielleicht kann dann jemand 
meinen Gedanken die richtige Richtung geben.

- 512Byte-1K je 8Bit wären toll, gerne mehr.
- Zugriffszeit unwesentlich, kann auch total langsam sein.
- BYTEweises lesen und schreiben. NICHT(!) blockweise!
- möglichst wenig Portleitungen, also seriell, etc.
- zuverlässiger Datenerhalt ohne Spannung für min. 1-2 Jahre.
- Mein AVR läuft an 5V, möglichst keine/wenig Pegelwandlung.
- IO-Protokoll, das einen nicht den letzten Nerv kostet.
- bezahlbar und auf diesem, oder benachbartem Planeten erhältlich.

Gruss
Dennis
#973349
Lesenswert?

Vorsicht, ein EEPROM funktioniert immer Blockweise, jedoch wird das 
intern gehandhabt. Einen Block in den Buffer lesen, 1 Byte geändert, 
Buffer zurückschreiben. Dadurch wird immer auf 8 bzw. 16 Bytes 
geschrieben.
EEPROMS lassen nur eine maximale Anzahl Schreibvorgänge zu. Je nach 
Datenblatt z.B. 10^6. Das sind bei einem Schreibvorgang pro Sekunde 
1.000.000/3600=277 Stunden. Ein Flash hat das selbe Problem. Für sowas 
geht dann nur ein RAM.

Man könnte 1 - 10 Minuten im normalen Ram arbeiten und dann den Wert 
einmal wegspeichern.

Ein Flash bietet viel Speicher, wie z.B. 512KByte. Ein 29F040 
funktioniert ganz gut, wenn man sich mit der Ansteuerung Mühe gibt. 
Gelöscht wird blockweise, hier 64 kByte. Dann sind alle Zellen auf 0xFF. 
Schreiben kann man byteweise. Das ist gut, um etwas zu loggen wie z.B. 
der Fehlerspeicher beim Auto.

Dann gibt es gebufferte RAMs mit Huckepack - Batterie. Zur 
Datensicherheit könnten die Daten doppelt gespeichert werden, jeweils 
mit Checksumme. Stimmt eine der Checksummen nicht, wird der defekte Teil 
wiederhergestellt.

Es gibt I2C Uhren mit eingebautem RAM oder gleich ein PCF8570 mit 256 
Byte statischem Ram. Hier ist auch eine Pufferbatterie notwendig.
(Firma: DC3AX) #973373
Lesenswert?

Schaut mal bei den FRAMs nach, die gibt es im Pinout eines EEPROMs mit 
nahezu identischer Ansteuerung. Kein Blockmanagement, keine Delays und 
keine begrenzte Anzahl Schreibzugriffe. 4..128kByte kosten 3..10€.

Ramtron FM24Cxx sollten für diese Anwendung ideal sein, das Interface 
kann man sich aussuchen: SPI oder I2C.

Gruß, Ulrich
#973398
Lesenswert?

Bernd Weeber wrote:

> Vorsicht, ein EEPROM funktioniert immer Blockweise, jedoch wird das
> intern gehandhabt. Einen Block in den Buffer lesen, 1 Byte geändert,
> Buffer zurückschreiben.

Aber das ist doch genau der Unterschied zwischen Flash-ROM und EEPROM. 
EEPROMs können byteweise geschrieben werden, ohne interne blockweise 
read-modify-write Zyklen durchführen zu müssen. Dass EEPROMs oft auch 
optional in pages und/oder Blöcken operieren können hat eher mit der 
Schreibrate zu tun, denn ein 64KB EEPROM nur einzelbyteweise 
vollzuschreiben dauert recht lang.

Siehe Microchip AN1019.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren