Forum: Mikrocontroller und Digitale Elektronik DRAM Verständnis


von Peter H. (hornbach)


Lesenswert?

Hallo zusammen,

ich habe da eine reine Verständnisfrage zur Funktionsweise von DRAM. 
Warum wird pro Speicherzelle mind. ein Transistor benötigt? Die 
Information wird ja im Kondensator gespeichert.

Also warum können die Kondensatoren nicht einfach in einer 
Matrix-Anordnung (ohne Transistor) verschaltet werden und nach gleichen 
Schema dann spaltenweise ausgelesen und beschrieben werden?

Ich möchte das wissen, da ich gerne für ein Demo-Projekt ein 32x32er 
DRAM-Array (also 128 Byte) diskret aufbauen würde. Die Transistoren sind 
problematisch, da die MOSFETS als Transistion-Gate arbeiten müssen und 
damit das Substrat nicht mit dem Source verbunden sein darf. Momentan 
ist mir nur der BSS83 bekannt. So etwas ist auch mit diesem Typ schon 
gemacht worden:

http://insanity4004.blogspot.ch/2012/06/in-search-of-perfect-mosfet.html
http://insanity4004.blogspot.ch/2012/06/building-dram-cell.html

Aber auch der BSS83 ist kaum noch zu beziehen. Darum würde ich gerne 
darauf verzichten. (Und auch wegen den Kosten)

Irgendwelche Ideen?

von H.Joachim S. (crazyhorse)


Lesenswert?

Du hast gerade den WOM zum zweitenmal erfunden :-)

von 6a66 (Gast)


Lesenswert?

Peter Heinirch schrieb:
> Matrix-Anordnung (ohne Transistor) verschaltet werden und nach gleichen
> Schema dann spaltenweise ausgelesen und beschrieben werden?

Mittes welchen Elements willst Du den Kondensator denn auslesen? Relais, 
Schalter , ... dämmert was?

rgds

von 6a66 (Gast)


Lesenswert?

Peter Heinirch schrieb:
> Ich möchte das wissen, da ich gerne für ein Demo-Projekt ein 32x32er
> DRAM-Array (also 128 Byte) diskret aufbauen würde.

Wow, dann versuche doch erst mal EINE Zelle zum funktionieren zu 
bringen.
Den Transistor benötigst Du aber. Und den Refresh nicht vergessen, und 
Precharge, und write über read modify write ...

rgds

von Peter H. (hornbach)


Lesenswert?

6a66 schrieb:
> Peter Heinirch schrieb:
>> Matrix-Anordnung (ohne Transistor) verschaltet werden und nach gleichen
>> Schema dann spaltenweise ausgelesen und beschrieben werden?
>
> Mittes welchen Elements willst Du den Kondensator denn auslesen? Relais,
> Schalter , ... dämmert was?
>
> rgds

Ja klar brauche ich da Transistoren, das ist völlig klar. Aber warum 
brauche ich das PRO ZELLE und nicht PRO SPALTE / PRO ZEILE?

In einer LED-Matrix habe ich ja auch (ausser den LEDs) keine aktiven 
Komponenten in der Matrix und trotzdem kann ich sie problemlos 
scannen...

Warum soll ich also nicht nach gleiem Schema in einem Kondensator-Array 
Spannungen messen können?

von Peter H. (hornbach)


Lesenswert?

6a66 schrieb:
> Peter Heinirch schrieb:
>> Ich möchte das wissen, da ich gerne für ein Demo-Projekt ein 32x32er
>> DRAM-Array (also 128 Byte) diskret aufbauen würde.
>
> Wow, dann versuche doch erst mal EINE Zelle zum funktionieren zu
> bringen.
> Den Transistor benötigst Du aber. Und den Refresh nicht vergessen, und
> Precharge, und write über read modify write ...
>
> rgds

Klar, genau so werde ich vorgehen. Keine Sorge, ich löte mir nicht erst 
den Wolf um dann zu merken, dass es nicht geht :-)

von Tassilo H. (tassilo_h)


Lesenswert?

Peter Heinirch schrieb:
>
> In einer LED-Matrix habe ich ja auch (ausser den LEDs) keine aktiven
> Komponenten in der Matrix und trotzdem kann ich sie problemlos
> scannen...
>
> Warum soll ich also nicht nach gleiem Schema in einem Kondensator-Array
> Spannungen messen können?

Weil es in der Matrix dann immer eine Reihenschaltung von mehreren 
Kondesatoren gibt, die parallel zu dem liegt, den du messen willst (z.B. 
von der aktivierten Spalte ein Kondensator zu einer inaktiven Zeile, von 
der über einen weiteren Kondensator zur nächsten inaktiven Spalte, und 
von dort dann noch einer zur aktiven Zeile).
Bei der LED-Matrix gibt es das Problem nicht, LEDs sind ja Dioden. Bei 
einer Tastenmatrix helfen auch Dioden in Serie mit den Tastern (sonst 
wird bei drei passend gedrueckten immer eine vierte erkannt), bei einer 
Kondensatormatrix sind die aber irgendwie beim Aufladen im Weg, also 
braucht es ein Schaltelement.

von 6a66 (Gast)


Lesenswert?

Peter Heinirch schrieb:
> Ja klar brauche ich da Transistoren, das ist völlig klar. Aber warum
> brauche ich das PRO ZELLE und nicht PRO SPALTE / PRO ZEILE?

Weil du beim Lesen erst die Reihe selektierst (Row, RAS) und die 
selektierte dann in ein Register überträgst aus dem dann die Spale 
(Columnn) auswähls und ausgibst. Das Auslesen der richtigen Reihe wird 
über die Transistroen gemacht. Danach ist Dein Kondensator leer. Die 
Kondensatoren der Reihe müssen danach wieder geladen werden mit dem 
Inhalt des Registers - das nennt man Refresh.

Du solltest Dich etwas mehr zur Funktionsweise von DRAMs belesen.

rgds

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peter Heinirch schrieb:
> Ja klar brauche ich da Transistoren, das ist völlig klar. Aber warum
> brauche ich das PRO ZELLE und nicht PRO SPALTE / PRO ZEILE?

Wie trennst Du die Kondensatoren voneinander? Wenn Du separate 
Kondensatoren separat auf- bzw. entladen willst, musst Du irgendwie 
dafür sorgen, daß die Ladung des einen Kondensators sich nicht auf die 
anderen Kondensatoren verteilt. Wie stellst Du Dir die Trennung vor?

von Peter H. (hornbach)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Peter Heinirch schrieb:
>> Ja klar brauche ich da Transistoren, das ist völlig klar. Aber warum
>> brauche ich das PRO ZELLE und nicht PRO SPALTE / PRO ZEILE?
>
> Wie trennst Du die Kondensatoren voneinander? Wenn Du separate
> Kondensatoren separat auf- bzw. entladen willst, musst Du irgendwie
> dafür sorgen, daß die Ladung des einen Kondensators sich nicht auf die
> anderen Kondensatoren verteilt. Wie stellst Du Dir die Trennung vor?

Danke! Zentralen Denkfehler gefunden!

Die LED-Matrix funktioniert auch nur, weil es eben Dioden sind. Mit 
Glühbirnen würde es schon nicht mehr gehen ...

von Peter H. (hornbach)


Lesenswert?

Tassilo H. schrieb:
> Weil es in der Matrix dann immer eine Reihenschaltung von mehreren
> Kondesatoren gibt, die parallel zu dem liegt, den du messen willst (z.B.
> von der aktivierten Spalte ein Kondensator zu einer inaktiven Zeile, von
> der über einen weiteren Kondensator zur nächsten inaktiven Spalte, und
> von dort dann noch einer zur aktiven Zeile).
> Bei der LED-Matrix gibt es das Problem nicht, LEDs sind ja Dioden. Bei
> einer Tastenmatrix helfen auch Dioden in Serie mit den Tastern (sonst
> wird bei drei passend gedrueckten immer eine vierte erkannt), bei einer
> Kondensatormatrix sind die aber irgendwie beim Aufladen im Weg, also
> braucht es ein Schaltelement.

Danke, das hat alles erklärt!

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.