www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zusatzspeicher für AVR, EEprom, Fram, Flash??


Autor: Dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 1KB ist EEPROM via I2C oder SPI wohl er einfachste Weg. Lässt sich 
byteweise schreiben und ist problemlos und günstig für 5V erhältlich.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hätte jetzt einfach ein serielles I²C EEPROM mit 4KB-16KB genommen 
(z.B. ST 24C128, 24C32). Kostet zwischen 0,35-1,05€

Autor: B e r n d W. (smiley46)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
NOR-Flash kann auch byteweise geschrieben werden

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.