SPI RAM

Gast #408072
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
Gast #408075
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
Gast #408076
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...
Gast #408079
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.
Gast #408080
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.
#408081
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...
#408085
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...
Gast #408086
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
#408088
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.

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