Hallo zusammen, für meine Entwicklung habe ich mir ein serielles (SPI) Flash EEPROM ausgesucht. Das Problem ist nur, dass dieser Baustein so gut wie nicht erhältlich ist. (min 2000 Stück). Der Baustein heißt M25PE20 von ST, das schöne ist man kann da Byteweise schreiben ohne ihn zuvor zu löschen! Das wird da intern geregelt. Kennt jemand einen vergleichbaren Flash Baustein? Danke für eure Infos
Hast du dir die Dataflashes von Atmel mal angeschaut. Auf den ersten Blick sehen die und der ST Flash ziemlich ähnlich aus.
Hi, ja die hatte ich mir auch schon angeschaut. Leider kann ich da auch nicht BYteweise schreiben, ohne die Sektoren zuvor zu löschen. Oder habe ich da einen speziellen baustein übersehen? Danke
FRAM kann das. Die DataFlashs können nur seitenweise (256/264 Bytes) beschrieben / gelöscht werden (löschen auch Sektoren, Blöcke, Chip). Den ST-Chip hat z.B. Schukat.
Flash-ROMs arbeiten immer blockweise. Das genau ist der Unterschied zwischen Flash-ROM und EEPROM. Wenn ein Flash-ROM Byte-Operationen zulässt, dann über einen internen Puffer. Dazu muss man erst den alten Inhalt in den Puffer lesen, das Byte darin ändern und anschliessend den Puffer (löschend) neu schreiben. Der o.A. M25PE20 kann zwar byteweise schreiben, aber dabei die Bits nur auf 0 setzen, nicht auf 1. Der Rest geht ähnlich wie bei Atmel. Wenn dir das hilft...
>Der o.A. M25PE20 kann zwar byteweise schreiben, aber...
Das habe ich anders verstanden. Beim byteweisen Schreiben wird
stets die entsprechende Seite in den Buffer kopiert und
anschließend ein Page-Erase ausgeführt. Danach wird der Bufferinhalt
zurückgeschrieben. Von daher ist der etwas komfortabler als
die Atmels.
Ich finde bei den Dataflash Teilen die Berechnung der Adressen
etwas umständlich. Ziemlich viel geschiebe.
Ob der ST da besser ist habe ich jetzt nicht weiter verglichen.
Aber der m25pe20 hat durch den "Page write" Befehl die Möglichkeit Daten an eine zuvor beschriebene Stelle zu schreiben. Ohne diese zuvor gelöscht zu haben. Es werden nur die Bytes verändert die man auch schreiben möchte. Der Rest der Page wird nicht geändert. Naja und da ich während der Laufzeit mal die im Flash abgespeicherten Texte ändern möchte, ohne einen ganzen Sektor zu kopieren, suche ich halt so einen Baustein mit diesen Eigenschaften.
Naja, im Prinzip können die Dataflash Teile von Atmel das auch. Man muß nur einen Zwischenschritt machen indem man die gewünschte Seite in den internen Buffer kopiert. Dann den Buffer je nach Wunsch ändern und zurückschreiben. Page-to-buffer -> buffer-write -> Buffer-to-Page
Die Atmel DatenFlash haben das als Befehl implementiert, man muss daher nicht mit einer FOR Loop drueber.
Erstmal Danke für die Infos. Leider ist die HArdware scho fertig und der AT45DBxxx ist nicht Pinkompatibel. Die Abarbeitung ist leider auch nicht so schön einfach wie bei dem m25pe20 von ST. Aber leider ist dieser nur sehr schwer zu bekommen. Danke nochmals für die Infos, werde dann wohl einen nehmen, bei dem die Sektoren klein sind, so dass ich beim löschen nicht alles kopieren muss..... :-(
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.