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
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.
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.
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
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).
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?
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?
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.
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
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.
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
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.