Forum: Mikrocontroller und Digitale Elektronik SDRAM DIMM Modul + uC?


von Herbert Wagner (Gast)


Lesenswert?

Ich suche Informationen, ob und wie SDRAM DIMM-Module (Standard
PC-Speicher) für Mikrocontroller verwendet werden können. Einige uCs
(z.B. Blackfin) besitzen ja bereits einen DRAM-Controller.

Ist euch ein beliebiges (möglichst einfaches, egal welcher uC) Projekt
mit Schaltplan bekannt, aus dem das Prinzip ersichtlich ist? Wenn
nicht, gibt's eine Art Tutorial, das die Pins der DIMM-Module
beschreibt sowie den Ablauf der Ansteuerung?

Es geht mir nicht um die generelle Ansteuerung von DRAM, dies kann man
z.B. in
http://acm.cs.uiuc.edu/sigarch/resources/docs/coldfire_M5206ELITEUM.pdf
nachsehen, sondern speziell um DIMM-Module.

Grüße
Herbert

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Schöne Applikationen und auch ältere Datenblätter zu DRAMs hat vor allém
micron zu bieten http://www.micron.com/products/dram/

von Lupin (Gast)


Lesenswert?


von Sebastian Block (Gast)


Lesenswert?

Es sollte durch aus möglich sein ein SDRAM anzusteuern, jedoch ist eine
Realisierung des Controllers sehr komplex und würde mit Sicherheit
einen eigenen DSP benötigen um die Timings richtig hinzubekommen.
Besser wäre es einen Controller einzusetzen, der einen SDRAM-Controller
on-chip hat (z.B. AT91RM9200).
Eine Pinbelegung des DIMM kann hier nachgesehen werden:
http://pinouts.ru/Memory/DimmSdram168Unbuf_pinout.shtml

Der Rest ist nur noch Verbinden der jeweiligen Leiter.

von Sebastian Block (Gast)


Lesenswert?

Hatte ich noch vergessen:
Ein EvalBoard auf ARM9 mit SDRAM im DIMM
http://www.appcom.fi/

von Herbert Wagner (Gast)


Lesenswert?

@Sebastian
Danke für den Link zum Pinout. Wenn ich mir den DRAM-Controller z.B.
des AT91RM9200 ansehe, könnte ich zwar die einzelnen Chips eines
DIMM-Moduls ansteuern. Doch was ist mit den anderen Pins (Byte Mask,
Parity/Check Bit IO, SDA, SCL)?

Gibt es auf der Seite www.appcom.fi auch einen Schaltplan oder Details
zur Ansteuerung? Ausser den Features und einer Beschreibung der
verwendeten SDRAM-Module finde ich dort keine Infos.

@Lupin
Auch in dem Thread zur Grafikkarte mit SDRAM finde ich weder Infos zu
DIMMs im Allgemeinen, noch einen Schaltplan. Habe ich etwas übersehen?

Danke
Herbert

von arc (Gast)


Lesenswert?


von Michael (Gast)


Lesenswert?


von Herbert Wagner (Gast)


Lesenswert?

@arc: das sind die benötigten Datenblätter. Danke!
Dennoch, ein komplettes uC-Projekt, das DIMM- (oder SIMM-) Module
benutzt, brächte mich um einiges weiter.

Um es zu wiederholen: es geht nicht um einzelne SDRAM-Bausteine. Dazu
existieren zwar etliche Projekte, aber ich möchte eben von den großen
Speichermodulen aus dem PC-Sektor profitieren, ohne die Chips
auszulöten!

von Thorsten (Gast)


Lesenswert?

Hallo Herbert,

hier laeuft ein altes SIMM Modul (30 Pins, in einer Fassung von
Reichelt) an einem ATMega32.
Die Module sind recht genuegsam, was das Timing angeht, also noch mit
16 MHz machbar. Doof ist nur, dass sie nicht synchron sind, da braucht
man immer einen Befehl mehr fuer Daten und Flanke (/RAS oder /CAS).

Hab aber Schreiben mit etwas ueber 1 MHz (d.h. 1 ``Megasample'')
hinbekommen und mir einen primitivsten Logikanalyser gebaut (aus der
Not heraus, weil ich nix anderes da hatte. Aber immerhin bis zu 64K
Samples. Wuerde man mehr Port Pins spendieren, geht auch das ganze MB,
das der Riegel hat.)
Fuers Refresh braucht man nen Timer und so ca. 10% Rechenleistung.

Habe mir schon Datenblaetter von SDRAMs angeschaut. Das Timing ist
etwas anspruchsvoller, aber machbar. Viel Spass schonmal beim Fassungen
ausloeten :-P

Eine FPGA (oder evtl. CPLD) ist als DRAM Controller eigentlich eher
geeignet. Die kleinen uCs sind einfach zu langsam. Schau mal bei
Xilinx, da gibts ne Menge Appnotes zu DRAM Controller in FPGAs.

Gruss aus London

Thorsten

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.