Forum: Mikrocontroller und Digitale Elektronik DRAM Refresh


von TK (Gast)


Lesenswert?

Hallo

Ein DRAM muss ja refreshed werden mit RAS / CAS, nun kann man 
gleichzeitig refreshen und schreiben, oder lesen? Ich glaube nein, aber 
in den Datenblätter kann ich leider nichts finden...Sonst könnte man ja 
eifach ein paar logic benutzen die Beispielsweise alle 10ms toggeln und 
refreshen?

mfg

von Benedikt K. (benedikt)


Lesenswert?

Es gibt mehrere verschiedene Arten von Refreshs:
Generelle wird die komplette Zeile in der die Lese/Schreibadresse liegt 
refreshed.
Dann gibt es z.B. noch den CBR Refresh der einen interneen Adresszähler 
steuert. Während dieser aktiv ist, kann aber kein Auslesen erfolgen.
Das geht nur mit dem Hidden Refresh: Direkt nach dem Auslesen eines 
Wertes fügt man einen Refresh an, die gültigen Daten bleiben am Ausgang 
stehen, aber man kann weiterhin im Hintergrund Refreshs durchführen.

von TK (Gast)


Lesenswert?

Ich wollte ein SIMM DRAM module (30 Pin) benutzen, da mir +/- 16 MByte 
reichen werden. Nun die besitzen nur ein CAS / RAS, theoretisch heist 
das nach meiner Interpretation der Daten sheets, das ich einfach alle 
(je nach cycle time) sagen wir 10ms refreshen muss? Egal, ob ich 
lese/schreibe oder nichts mache? Vielleicht hab ich auch das ganze 
falsch verstanden? Noch eine Frage, die SIMM module besitzen 11 Address 
leitungen, theoretisch wären das ja maximal 2^11, also 2048 addresen??

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Es sind zwar 11 Adressleitungen, die aber werden im Zeitmultiplex mit 
RAS (row address strobe) und CAS (column address strobe) angesteuert, so 
daß 22 Adressbits angelegt werden - was einen Adressraum von 4M ergibt.




von TK (Gast)


Lesenswert?

Danke jetzt hab ichs geschnallt, demfall gehts so:

Wenn nicht schreiben bzw. lesen, periodische CAS / RAS toggeln

Wenn schreiben bzw. lesen CAS / RAS für Addresse toggeln

Hoffe das es jetzt richtig ist...

von A.K. (Gast)


Lesenswert?

Jeder Zugriff ist gleichzeitig auch ein Refresh. Wenn eine Anwendung 
ohnehin zyklisch und hinreichend oft durch alle Row-Adressen des DRAMs 
brettert, ist ein separater Refresh überflüssig.

von TK (Gast)


Lesenswert?

Hmm da liegt das Problem, ich brauch das SIMM Dram mehr oder weniger nur 
um grosse Verzeichisse Abzulegen (es geht um ein Mp3 Player) ich weis es 
mag vielleicht nicht die beste lösung sein mit einem DRAM, aber mit 4 Mb 
kann ich immerhin für rund 100'000 Lieder gescheite Verzeichnis einträge 
machen, ich weis das tönt jetzt riesig, ist aber egal.

Nun ich möchte das ganze mit einem CLPD regeln, ich habe mittlerweile 
verstanden wies gehen soll mit dem refresh, ausser eine Sache, um ein 
"Byte" zu refreshen, muss ich nur die Addresse Lesen, oder dann auch 
gleich Lesen und am Ausgang lassen und schreiben? Die Timing 
angelegenheiten übernehme ich am besten mit dem uC sowie das toggeln der 
RAS / CAS leitungen. Ich nehme warscheinlich der XC9572XL von XILIX, ist 
billig und hat genug I/Os.

Mfg und gute Nacht!

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.