Forum: Mikrocontroller und Digitale Elektronik SRAM parallel wie viele ?


von Ralph (Gast)


Lesenswert?

Hallo,
ich brauche für mein AVR Projekt ca. 1,5 Mbyte SRAM um ein paar 
Messwerte + andere daten kurzzeitig zwischenzuspeichern.

Ich hatte mir daher überlegt einfach 16 stück hiervon an meinen 
Atmega2561 anzuschließen.

Reichelt link:
http://www.reichelt.de/Drams-Srams/628128-70-M/3/index.html?;ACTION=3;LA=2;ARTICLE=40087;GROUPID=2954;artnr=628128-70+M

Datenblatt:
http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=A300%252FM5M51008DFP.pdf

Anhand welcher werte bzw. Rechnung kann ich jetzt ermitteln ob das so 
funktioniert? Denn ich habe mal irgendwo gelesen das man hierbei auf die 
kapazität des srams achten muss (6 bzw 8 pf) jedoch waren da keine 
maximal werte angegeben glaube ich. Wie ermittle ich dann ob es geht? 
Evtl kann ich ja auch zwei mal 8 ic´s draus machen.

SD-Karte hatte ich auch schon überlegt, aber wieder verworfen da ich die 
daten nicht langfristig brauche sondern nur ein paar sekunden, und ich 
denke das diese dann nicht lange hält.

Danke im voraus,
ralph

von Fallobst (Gast)


Lesenswert?

Kauf dir doch einen 16Mbit Sram bei einem größeren Distributor als 
reichelt, der hat das dann auch. Eine Alternative wäre ein Xmega A1, der 
unterstützt den deutlich günstigeren SDRam.

von Sven (Gast)


Lesenswert?

Reichelt bietet auch den 628512 hat 4mbit

von Werner (Gast)


Lesenswert?

Ralph schrieb:
> Denn ich habe mal irgendwo gelesen das man hierbei auf die
> kapazität des srams achten muss (6 bzw 8 pf) jedoch waren da keine
> maximal werte angegeben glaube ich.

Ganz einfach: An den Signalflanken muß die Gesamtkapazität aller 
parallelgeschalteten Eingänge umgeladen werden, was jeder Flanke einen 
e-Funktionsverlauf aufprägt. Im Datenblatt vom RAM steht das Timing, 
insbesondere wann die Signale stabil sein müssen. Und du weißt welchen 
Ausgangsstrom deine Bausteile liefern (µC für Adressen/Control, µC bzw. 
RAM für Daten). Daraus ergibt sich die "Verrundung" der Flanken. Das 
mußt du unters Timing-Diagramm legen und gucken, ob du mit deiner 
RAM-Ansteuerung alle kritischen Zeiten einhalten kannst.

von Ralph (Gast)


Lesenswert?

Hallo,
ich habe mal angenommen das sich das ic wie ein kondensator verhält wenn 
man die eingänge umschaltet.

Also habe ich die einfache Formel für kondensatorladevorgänge benuzt bzw 
einen Onlinerechner. http://home.arcor.de/wetec/rechner/cclad.htm

R = 260 Ohm soll der Atmega sein damit ich auf die 20 mA ladestrom 
komme.
C = 8 pF
U = 5 V

Ergibt:
I = 19,2 mA
Zeitkonstante = 2,08 ns

Nun habe ich herrausgefunden das ein tau (?) [2 ns] ausreicht das der 
sram einen high pegel erkennt. Also dürfte ich ja nach dieser Rechnung 
maximal 2 Srams an einen Atmega anschließen richtig? Das finde ich schon 
etwas wenig...


Kann man das so rechnen?

Danke für eure Tipps, das mit den größeren srams schaue ich mir mal an, 
brauche ja aber trotzdem mehrere weil ich bei reichelt bestellen möchte 
(max 512mbit)

gruß ralph

von Helmut L. (helmi1)


Lesenswert?

Das schafft der ATMega schon. Der hat normalerweise sehr starke 
Ausgangstreiber. Wenn du nun von den 512KByte Typen 4 parallel schaltest 
sind das nach deinen Angaben rund 32pF. Das geht problemlos. Du must 
ohnehin das Timing des ATMegas anpassen an die RAMS (Waitstates 
einfuegen). Fuer die Addressen brauchst du noch ein Latch (74xx573).

von Ralph (Gast)


Lesenswert?

Oka, wie ist es eigentlich, wenn ich das ganze auf zwei I/O Stränge 
aufteile und die Adressleitungen alle zusammen schalte? Ich könnte ja 8 
Srams nehmen, an die alle die adressleitung geht.
Zuerst befinden sich ja alle IC´s im High-Z modus. Nun lege ich die 
adresse auf die leitung und schalte danach meinen SRAM per CS ein. 
Danach habe ich je viererketten an den IOs. Geht das auch?

von Werner (Gast)


Lesenswert?

Ralph schrieb:
> Also dürfte ich ja nach dieser Rechnung
> maximal 2 Srams an einen Atmega anschließen richtig? Das finde ich schon
> etwas wenig...

2ns ist doch ein Witz im Vergleich zu den Zykluszeiten vom µC. Was für 
ein Speicherinterface planst du und wie sieht das Timing vom µC aus?

von Helmut L. (helmi1)


Angehängte Dateien:

Lesenswert?

Ralph schrieb:
> Oka, wie ist es eigentlich, wenn ich das ganze auf zwei I/O Stränge
> aufteile und die Adressleitungen alle zusammen schalte? Ich könnte ja 8
> Srams nehmen, an die alle die adressleitung geht.

Deine SRAMS werden doch alle bis auf CS parallel geschaltet.

Im Anhang ein Beispiel.

von Ralph (Gast)


Angehängte Dateien:

Lesenswert?

Hab im anhang mal eine ganz grobe skizze gemacht wie ich mir das so 
vorstelle... Sie ist jetzt nicht ganz so schön geworden wie die von 
Helmut aber was solls, ich glaube sie zeigt die idee dahinter.

Helmut dein Schaltplan sieht gut aus, ich glaube so werde ich es auch 
machen, nur noch ein wenig erweitern.

Auch muss ich bei mir dann noch ein latch usw. einbauen.

Danke für eure Mithilfe.

Gruß Ralph

von Ralph (Gast)


Angehängte Dateien:

Lesenswert?

Sorry irgendwie stimmt was mit dem anhang nicht, daher hier noch einmal.

von Helmut L. (helmi1)


Lesenswert?

Ralph schrieb:
> Auch muss ich bei mir dann noch ein latch usw. einbauen.

Das brauchst du um die Addressen A0 .. 7 von D0 .. 7 zu trennen.
Das Signal ALE gibt dazu einen Strobe raus.

Fuer das Latch solltes du unbedingt einen AC Type einsetzen ebenso fuer 
den Decoder.

von troll (Gast)


Lesenswert?

>45.png
>310,3 KB, 19 Downloads
256 MEGAPIXEL! Hast du noch alle Tassen im Schrank?? Bildformate

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

die ganze Rechnerei (und die vergeblichen Bemühungen um eine Zeichnung) 
sind doch vollkommen überflüssig: wenn du 1,5 MB brauchst, nimmst du 3 
St 512kB x 8 und dafür ist keinerlei Rechnung nötig, die lassen sich auf 
jeden Fall ansteuern.

Gruss Reinhard

von Helmut L. (helmi1)


Lesenswert?

Was viel wichtiger ist als die pf an den Leitung ist die Zugriffszeit 
des RAMS. Und hier kommt man beim ATMega bei Standard Zugriffzeiten von 
70ns ohne Waitstates nicht aus. Aber die kann man im Mega ja intern 
einstellen.

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.