Hallo,
Ich bin auf der Suche nach einem seriellen RAM (z.B. mit I2C) mit
mindestens 256kb. Gibt es da was, meine bisherige Suche im Internet
(fast ein Tag), war erfolglos. Mein Ziel ist es Datenlogger, der
Sekundentakt neue Daten bekommt. Daher scheidet nach meiner bisherigen
Recherche ein EEPROM aus (nur 1000000 Schreibzyklen, nur Blockweises
löschen etc.). Eine MMC Carte wäre wohl der letzte Ausweg, da zu
aufwendig. Außerdem müsste ich dann auf einen größeren Mikrocontroller
umsteigen.
Danke schonmal im Voraus.
Johannes.
> Gibt es da was, meine bisherige Suche im Internet (fast ein Tag), war> erfolglos.
Wohl kaum, zu speziell. Um dies zu emulieren (RAM + µC mit IIC), hast Du
mehr Aufwand als gleich MMC + passenden µC einzusetzen.
Nimm FRAM. Das gibt es in Bauformen wie EEPROMs, man kann sie aber viel
öfters (und auch schneller) beschreiben. Einen Lieferanten kann ich
allerdings gerade nicht nennen, Segor.de hat nur die 2KByte-Type da.
Bist Du sicher, dass man EEPROMs nur blockweise löschen kann? Ich
dachte, das betrifft nur Flash-Speicher?
Markus
Oder bau das serielle Ram selber, sollte halbwegs einfach und billig zu
machen sein:
Ein CPLD (XC9572 von Xilinx z.B.) und ein paar parallele Ramchips, z.B.
alte Cachebausteine von nem Motherboard.
nen SPI-Interface lässt sich in den CPLD einbauen, und für die Ram-Chips
hat der genug IO's um die ganzen Adressleitungen zu bedienen.
Beispielprojekt, das sich in die Richtung erweitern/umbauen liesse:
die 8-Bit Grafikkarte bei http://ulrichradig.de/
/Ernst
Hallo,
>Nimm FRAM.
FRAM ist schoen, aber leider nicht beschaffbar in kleinen Mengen zu
einem vernueftigen Preis.
>Oder bau das serielle Ram selber, sollte halbwegs einfach und billig zu>machen sein:>Ein CPLD (XC9572 von Xilinx z.B.) und ein paar parallele Ramchips, z.B.>alte Cachebausteine von nem Motherboard.
Ist in meinen Augen für ein Datenlogger zu uebertrieben.
Wie waere es mit einem SPI Dataflash von Atmel? 16Mbit (2Mbyte) mit
einer maximalen SPI Freq. von 33/66 Mhz und in einem platzsparenden SO-8
Gehäuse?
Der Preis bei Kleinmenge waere ist auch akzeptabel.
Eine andere Möglichkeit waere eine Micro o. Mini SD Card. Die
Slotaufnahmen sind klein und Mini SD ist auch bezahlbar.
Beide Moeglichkeiten waeren immer noch schneller als deine TWI Loesung.
Um die Lebensdauer zuverlaengern des Speichers / Flash könntest Du eine
Softwarekomprimierung vornehmen.
Ernst Bachmann wrote:
> Oder bau das serielle Ram selber, sollte halbwegs einfach und billig zu> machen sein:>> Ein CPLD (XC9572 von Xilinx z.B.) und ein paar parallele Ramchips, z.B.> alte Cachebausteine von nem Motherboard.
Muß aber kein teurer stromfressender CPLD sein:
http://home.tiscali.de/peterd/appl/hard/sram/sram.htm
Peter
Theoretische Planspiele.
Zum einen muss man nich immer bei Null mit schreiben beginnen, eher im
Kreis rum. Zum Anderen moechte ich die 100k Schreibzugriffe auf
denselben Sektor zuerst sehen. In einer Anwendung, nicht im Testlabor.
R.
Danke für die schnellen antworten. Die FRAMs und seriellen SRAMs der
Links die ihr mir geschickt habt sind ne tolle Sache, mal sehen ob sich
die in Zukunft etwas mehr verbreiten. Die Beschaffbarkeit ist da echt
ein Problem, so dass ich wohl in den sauren Apfel beiß und mich mit der
Ansteuerung von MMC und SD Karten auseinandersetz. Das hat dann eben
auch den Vorteil, dass es quasi keine Platzprobleme mehr geben kann,
auch nicht durch zukünftige Erweiterungen und gleichzeitig der Speicher
am PC auch ausgelesen werden kann. Mahl sehen, ob das mit einem Atmega88
oder 168 zu schaffen ist.
Gruß Johannes
Moin allerseits,
Die EEPROMs, die ich bisher gesehen habe, haben blockweise Löschen als
zusätzliches Feature. Man kann dennoch auch einzelne Bytes ändern.
Ich glaube kaum, dass Du sekündlich den kompletten Speicher
vollschreibst, das wäre kaum sinnvoll. Vielleicht hast Du auch die
Bedeutung der maximalen Schreibzyklen falsch verstanden? Diese Angabe
bezieht sich darauf, dass nach 1.000.000 Schreibzyklen auf ein und
dieselbe Zelle ein Ausfall zu erwarten ist.
Wenn man das EEProm als Ringpuffer verwendet und der Speicher 10 mal am
Tag komplett neu geschrieben würde (bei einem Datenlogger gehe ich mal
von 1 mal täglich aus, das wäre eher sinnvoll), kannst Du das EEProm
immer noch mehr als 10 Jahre verwenden, bevor die Schreibzyklen erreicht
sind...
Bis dahin gibts dann Tera-Byte Chips, da würde ich mir keine Sorgen
machen.
FRAM mit 256kbit und SPI kann ich empfehlen, ist sehr schnell (bis 25MHz
SPI-Takt!) und auch leicht anzusteuern. Ich setze selbst 2 solche FRAMs
(also 64 kByte) in einem Shoutcast-Web-Radio ein als Framebuffer, das
geht problemlos selbst mit 320kBit/s Streams.
Als Bezugsquelle für Kleinstmengen kann ich Modtronix in Australien (!)
empfehlen. Die schicken die FRAMs günstig in einem gepolsterten Brief
für nur 3$ Versandkosten. Bei mir war die Lieferung nach etwas mehr als
einer Woche da.
Hier der Link direkt zum FRAM:
http://www.modtronix.com/product_info.php?products_id=231
Was MMC/SD angeht, so ist das mit dem Atmega 168 machbar, wenn man keine
speicherintensiven Funktionen wie printf verwendet. Zum Schreiben auf
MMC/SD braucht man einen 512 Byte grossen Puffer im RAM, das ist bereits
die Hälfte des Speichers dieser Prozessoren! Da bleibt nicht mehr viel
Platz für anderes. Ausserdem muss man jeweils einen Block auf einmal
schreiben...