Forum: Mikrocontroller und Digitale Elektronik SPI RAM


von Cristin (Gast)


Lesenswert?

Hallo!
Ich suche einen Zwischenspeicher für ca. 92kByte/s Daten und ca. 1-4MB
Größe welcher per SPI Interface angesteuert weden kann.
Ich muss abwechselnd schreiben und von einer anderen Adresse die Daten
wieder einlesen.

von Luder Carmen (Gast)


Lesenswert?

www.atmel.com

von Cristin (Gast)


Lesenswert?

Dort finde ich keine SPI RAM, nur Flash...

von Tobias (Gast)


Lesenswert?

Naja ein RAM mit SPI macht nicht viel Sinn, oder?

von Tobias (Gast)


Lesenswert?

> 92kByte/s Daten

BTW: könnte doch afst ein entsprechend programmierter AVR schaffen, an
den das RAM angeschlossen ist und welcher eine SPI-Schnittstelle hat.

von Paul Baumann (Gast)


Lesenswert?

Hier ist eine Herstellerseite. Die stellen auch SPI -  RAM´s her.
http://www.ramtron.com/doc/Products/Nonvolatile/Detail.asp?ID=112&gr=5

MfG Paul

von Gerhard Gunzelmann (Gast)


Lesenswert?

Da gibts noch ne Seite:

http://www.edgar-conzen.de/deutsch.html

Gerhard

von Cristin (Gast)


Lesenswert?

Wen ich ncihts besseres finde werde ich mit einem AVR, SPI und einem
möglichst billligen RAMChip herumexperimentieren.

von Cristin (Gast)


Lesenswert?

Kann man eigendlich die Speicherchips von alten EDO RAM oder noch besser
SDRAM Modulen an einen AVR dranhängen?

von Gerhard Gunzelmann (Gast)


Lesenswert?

Könnte problematisch werden, da das dynamische RAMS sind. Für
Anwendungen an uC sind statische RAMs besser geeignet. Ausserdem, sind
das parallele RAMS, die brauchen Adressleitungen+Datenleitungen.
Man kann sich da zwar durch multiplexen behelfen, aber es werden
trotzdem mehr leitungen werden, als bei ner SPI-Schnittstelle. Wievile
Leitungen kannst du denn für ne "RAM-Schnittstelle" entbehren ?

Gerhard

von JojoS (Gast)


Lesenswert?


von Cristin (Gast)


Lesenswert?

Ich brauche eben RAM an AT91SAM7 und der soll ja recht langsame Pins
haben.
Entbehren könnte ich sosnst alle Pins bis auf die TWI oder SPI da ich
eine davon brauche und die USB Pins sind ja eh extra.

von Gerhard Gunzelmann (Gast)


Lesenswert?

Das ist ein ARM-7 Derivat oder ? Der hat 32 Bit ? Wie breit soll denn
das RAM sein ? auch 32 Bit ? oder nur 8 Bit ? Für 1MByte 8 Bit breit
brauchst du 20 Adressleitungen, für 4MB dann 22 Adressleitungen.
vierfach-gemultiplext brauchst du dann doch mind 8 Leitungen + R/W + CS
+ OE + 2 MUX-leitungen = 13 Leitungen für 16Bit Breite, dreifach
gemultiplext 21 Leitungen. Am Schnellsten gehts 1-fach gemultiplext mit
28 Leitungen. 100kByte/s = 10us. In 10us 3-fach bzw 4-fach multiplexen =
3,3us bzw 2,5us dürfte funktionieren, wenn der Systemtakt schnell genug
ist. Mit SPI gehts wohl auch nicht schneller. SPI-EEPROM's kann man
zwar im Page-Mode schreiben, aber nur begrenzt, dann brauchen die
wieder ne Adresse. Dafür geht auch Zeit drauf. Da gibts noch ne
Möglichkeit: man nimmt ein paar Counter und verwendet die zur
ADresserzeugung. Nach jedem Schreiben wird der Zähler einmal getaktet.
Dafür braucht man dann aber 3 8-Bit Zähler (z.B.:74HC590), am uC aber
nur 1 leitung zum takten und 1 zum Resetten. Ist aber schnell.

Gerhard

von Ronny (Gast)


Lesenswert?

@Gerhard:

Du vergisst noch 8 Datenleitungen oder wenigstens 2 Leitungen um die
Daten in ein Seriell/Parallel-Wandler zu takten.Irgendwie müssen die
Daten ja auch an die gezählten Addressen kommen...

von Dirk (Gast)


Lesenswert?

Hi,

das ist eine Arbeit fuer ein CPLD. Der CPLD arbeitet als SPI Slave to
Memory Bridge.

Gruß,
Dirk

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Das ist alles eine Sackgasse, viel sinnvoller ist es gleich einen
Controller mit externem Speicherinterface zu verwenden.

von Ronny (Gast)


Lesenswert?

@Andreas:

Da gebe ich dir absolut recht.Gerade die grösseren ARM-Chips
(AT91SAM926x oder AT91RMxxx) haben oft sogar schon Controller für
dynamische RAMs mit drin.Da ist dann auch die mögliche Speichermenge um
einiges grösser und der Datendurchsatz weitaus höher als bei
SPI-Anbindung.Allerdings steigt auch der Stromverbrauch deutlich an.Ich
ging davon aus das aus irgendeinem Grund der Mikrocontroller schon
feststeht.Wen dem nicht so ist,sollte man zumindest auf einen Typen mit
externem Businterface wechseln.Auch statische RAMs parallel angebunden
sind noch günstiger als irgendwas serielles.

von Cristin (Gast)


Lesenswert?

Der Controller steht noch nicht fest.
Ich brauche aber was für den ich die Platine selbst herstellen kann und
die Teile in Einzelstücken möglichst ohne extreme Versandkosten
herbekomme.
Wen das Ganze noch vernünftig mit dem GCC programmierbar ist bin ich
glücklich.
Ich bin aber gerade am Überlegen ob ich nicht einen DSP z.B. von TI
nehmen soll.

von Philipp B. (philipp_burch)


Lesenswert?

@Christin:

Hast du dich nun schon entschieden was du nimmst?

@Alle:

Ich bin ebenfalls auf der Suche nach RAM für's SPI. Leider ist es mir
nicht möglich, einen Controller mit mehr RAM zu nehmen. Es muss ein
MSP430 von TI sein (max. 10kB RAM), da er auf einem möglichst
universell einsetzbaren Modul sitzt. Nun ist aber für einmal nicht
wenig Stromverbrauch sondern viel Speicher benötigt. Der Speicher muss
aber ziemlich häufig und schnell beschreibbar sein. Grundsätzlich würde
EEPROM oder Flash ja gehn, allerdings ist das nicht wirklich das
Richtige für diese Anwendung.
Die Dinger von RAMTRON wären eine Möglichkeit, allerdings muss es ja
nicht unbedingt nicht-flüchtig sein. Achja: Die Grösse sollte von 64kB
aufwärts sein. Einen zusätzlichen Controller für's RAM entfällt
leider, da das Ganze nicht so sehr eine Bastellösung werden sollte...

von arc (Gast)


Lesenswert?

Wenn man mit den "Einschränkungen" leben kann, sind die "Voice
Memories" bzw. Rekorder von Oki vllt einen Blick wert.
http://www.okisemi.com/eu/1.Products/Speech.html#H2

von Norbert (Gast)


Lesenswert?

Aber bei den MSP430 gibt es doch auch Typen mit deutlich mehr internem
RAM als 10kB. Oder bsit du da auf einen bestimmten Typen schon
festgelegt?

von Uwe Bonnes (Gast)


Lesenswert?


von Philipp B. (philipp_burch)


Lesenswert?

@arc:

Was meinst du denn für "Einschränkungen"? Das sieht schon recht gut
aus, muss ich mir unbedingt mal näher ansehn.

@Norbert:

Also ich weiss ja nicht welchen MSP430 du meinst, aber ich finde keinen
mit mehr als 10kB. Ist aber auch egal, das zu verwendende Device steht
schon fest. Das Ganze soll ein Universal-Funkmodul werden, da ist im
Allgemeinen nicht so viel RAM erforderlich. Nur für diese spezielle
Anwendung, daher muss ich es extern anschliessen können.

@Uwe:

Hab' ich mir mal angesehen, aber was hat das mit meinem Problem zu
tun? Ein Blackfin ist nicht wirklich das, was ich einbauen will und
serielles RAM scheint's auch dort nicht zu haben...

von Gerhard Gunzelmann (Gast)


Lesenswert?

Hallo Philip

ich finde das Theam interessant, da ich auch schon mal auf der Suche
nach einem seriellen RAM war. Ich hatte damals keines gefunden und
deshalb ein parallelles RAM an meine I/O-Ports des uC gehängt. Ist
mühsam und benötigt evtl zusätzliche Bausteine. Aber vielleicht hast du
ja genügend Leitungen übrig. Für 64Kbyte werdens etwa 19 Leitungen
wrden, wenn man Adressen und Daten multiplext. Ansonsten gibts noch die
Idee, die ich oben schon mal als Link erwähnt habe:

http://www.edgar-conzen.de/deutsch.html

Das ist wohl ein paralleles RAM, das über einen uC mit
SPI-Schnittstelle angesprochen wird.

Gerhard

von Norbert (Gast)


Lesenswert?

Sorry, gibt ja doch keinen MSP430 mit mehr als 10kB RAM. Hab mich da
versehen.

von Philipp B. (philipp_burch)


Lesenswert?

@Gerhard:

Ein paralleles RAM würde von den Pins her wohl noch knapp reinpassen,
ist allerdings schon 'n Krampf... Der Controller ist eigentlich so
schon  viel zu gross dimensioniert für diese Anwendung, aber ich hab'
ihn ausgewählt, damit ich wenigstens eine SD-Card anschliessen kann
ohne externen Speicher zu benötigen (1kB). Im schlimmsten Fall wird es
wohl doch darauf hinauslaufen, dass ich einen anderen Controller am SPI
anschliessen muss und dort ein paralleles RAM anhänge. Ist allerdings
wirklich die letzte Möglichkeit, ich habe immer noch Hoffnung sowas zu
finden.
Ist aber eigentlich schon komisch, dass sowas kaum verbreitet ist, es
kann ja wirklich vorkommen dass man einen kleinen Controller (wenig
IOs) aber "viel" Speicher benötigt...

@Norbert:

Kein Problem, jeder kann sich irren. Wahrscheinlich hast du die
Flash-Grösse gesehn, die geht bis 60kB.

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
Noch kein Account? Hier anmelden.