Forum: Mikrocontroller und Digitale Elektronik DDR2 langsamer takten?


von Fabian S. (jacky2k)


Lesenswert?

Hallo,
ich habe eine kurze Frage zu DDR2 Speicher (ich meine nur die reinen 
ICs, nicht Speichermodule fürn PC/Laptop). Und zwar sind da ja immer 
maximale Taktfrequenzen angegeben, für gewöhnlich 200, 266, ... MHz.
Wenn ich mir nun einen 200MHz nehme, darf ich den dann auch einfach mit 
60Mhz takten? Und wie siehts mit den Refreshzyklen aus, die muss man ja 
soweit ich das bislang gesehen habe immer manuell auslösen. Muss ich das 
dann entsprechend umändern, dass sie noch in den gleichen Intervallen 
gemacht werden oder darf ich die dann auch entsprechend seltener machen?

von Sam .. (sam1994)


Lesenswert?

Also DDR Speicher besteht aus Kondensatoren, d.h. sie müssen alle xtel 
Sekunden refresht werden. Dabei ist es egal ob sie mit 60 oder 200Mhz 
getaktet sind (denke ich zumindest). Untertakten ist eigentlich immer 
möglich. Allerdings glaub ich, dass es irgendwann eine Grenze gibt. 
Probiers doch einfach mal aus.

von Falk B. (falk)


Lesenswert?

@  Fabian S. (jacky2k)

>Wenn ich mir nun einen 200MHz nehme, darf ich den dann auch einfach mit
>60Mhz takten?

Kann funktionieren, wahrscheinlich aber eher nicht. Die Dinger haben 
meist PLLs oder ähnliche Sachen drin, um bei den hohen Taktraten 
Phasenlagen von Takten auszuregeln, diese PLLs arbeiten aber nur in 
einem eher kleinen Frequenzbereich.

> Und wie siehts mit den Refreshzyklen aus, die muss man ja
>soweit ich das bislang gesehen habe immer manuell auslösen.

Es gibt auch das Kommando AUTOREFRESH, wobei ich mich aber mit den 
Details nicht auskenne.

> Muss ich das
>dann entsprechend umändern, dass sie noch in den gleichen Intervallen
>gemacht werden oder darf ich die dann auch entsprechend seltener machen?

Praktisch geht das auch langsamer, garantieren wird dir das aber keiner. 
Zum Basteln ggf. OK, sonst nicht.

Aber man nimmt keinen DDR-RAM, um ihn dann deutlich zu untertakten. Da 
nimmt man gleich langsameren SDRAM oder SRAM.

Siehe Speicher.

MFG
Falk

von BScan (Gast)


Lesenswert?

Mit kleinerer Frequenz takten sollte gehen, die Rams werden aber dann 
nicht mehr innerhalb der Spezifikation betrieben. Beim B-Scan werden DDR 
Rams mit deutlich kleinerer Frquenz getaktet und das läuft ganz gut.

von Fabian S. (jacky2k)


Lesenswert?

Naja ich brächte für ein Projekt etwas Speicher, so 32-128MB wo ich ca. 
20-40MB/sec rein schieben können muss.
Hat jemand einen besseren Vorschlag? DDR wäre halt cool gewesen, weil 
der FPGA dafür nen fertiges Interface besitzt.

von Falk B. (falk)


Lesenswert?

@  Fabian S. (jacky2k)

>Naja ich brächte für ein Projekt etwas Speicher, so 32-128MB wo ich ca.
>20-40MB/sec rein schieben können muss.

SDRAM.

>Hat jemand einen besseren Vorschlag? DDR wäre halt cool gewesen, weil
>der FPGA dafür nen fertiges Interface besitzt.

SDRAM ist praktisch das Gleiche, nur einfacher und langsamer. Die 
reagieren auch weniger allergisch auf Underclocking.

MFG
Falk

P S. Dass DDR-RAM beim Bondary Scan getestet wird wäre mir neu. Hab noch 
nie einen IC mit JTAG Interface gesehen. Ich behaupte mal, die 
werden sinnvoll im FCT (Funktionstest) geprüft, da kann man das alles 
deutlich einfacher und unter realen Bedingungen.

von BScan (Gast)


Lesenswert?

Wenn das DDR Ram am FPGA Ram Controller angeschlossen ist sind alle 
Signale per B-Scan stimulierbar. Man kann alle Ramzellen 
schreiben/lesen.

von Rudolph (Gast)


Lesenswert?

Falk Brunner schrieb:
> P S. Dass DDR-RAM beim Bondary Scan getestet wird wäre mir neu. Hab noch
> nie einen IC mit JTAG Interface gesehen. Ich behaupte mal, die
> werden sinnvoll im FCT (Funktionstest) geprüft, da kann man das alles
> deutlich einfacher und unter realen Bedingungen.

Das geht schon, so per quasi-Bit-Banging. Man kann über die 
Boundary-Scan Zellen des angeschlossenen Controllers Patternabfolgen 
anlegen, die das RAM beschreiben oder auslesen. Ist nicht schnell, 
reicht aber z.B. für einen Verbindungstest. BTDT.

von Falk B. (falk)


Lesenswert?

@  Rudolph (Gast)

>anlegen, die das RAM beschreiben oder auslesen. Ist nicht schnell,
>reicht aber z.B. für einen Verbindungstest. BTDT.

Glaub ich aber nicht für DDR-RAM, der läuft AFAIK nicht mit ein paar Hz 
oder kHz. SRAM der alten Sorte ist was anderes. Ebenso FLASH.

MFG
Falk

von Fabian S. (jacky2k)


Lesenswert?

Falk Brunner schrieb:
> Glaub ich aber nicht für DDR-RAM, der läuft AFAIK nicht mit ein paar Hz
> oder kHz. SRAM der alten Sorte ist was anderes. Ebenso FLASH.

Naja ich hatte da schon so an 60MHz gedacht. Aber eben halt keine 
200MHz. Zumal ich mir das Routing für 200MHz nicht zutraue :D

von noname (Gast)


Lesenswert?

Nach DDR2 Datenblatt tck max = 8 nSec. entsprechend 125 MHz.

von Mine Fields (Gast)


Lesenswert?

Fabian S. schrieb:
> Naja ich hatte da schon so an 60MHz gedacht. Aber eben halt keine
> 200MHz. Zumal ich mir das Routing für 200MHz nicht zutraue :D

Die absolute Frequenz hat damit nur zweitrangig etwas zu tun. 
Untertakten wird dir also nur bedingt etwas helfen.

Wenn man kein Tool und Know-How für impedanzkontrolliertes Layout hat, 
sollte man lieber bei einem Evaluationsboard bleiben.

Wobei man bedenken sollte, dass serielle Busse wesentlich besser 
handhabbar sind als ein paralleler Bus. Je nach Anwendung wäre also 
Flash-Speicher (z.B. mehrere serielle Flashes) durchaus eine 
Alternative.

von Fabian S. (jacky2k)


Lesenswert?

Stefan L. schrieb:
> Wenn man kein Tool und Know-How für impedanzkontrolliertes Layout hat,
> sollte man lieber bei einem Evaluationsboard bleiben.

Joa das würde ich jetzt nicht sagen. Habe zumindest ein paar 
Grundkenntnisse. Und in den Rest wollte ich mich dann einlesen. Aber ich 
weiß nicht mal ob die Professional Eagle Version bei sowas Unterstütung 
bietet, also Length-Matching etc.

von Mine Fields (Gast)


Lesenswert?

Wie gesagt, es ist ziemlich egal, ob du den RAM mit 60 MHz oder 200 MHz 
taktest. Und letzteres traust du dir ja selbst nicht zu (deinem letzten 
Post zu urteilen auch zurecht).

von Uwe N. (ex-aetzer)


Lesenswert?

Ich kann mich dunkel daran entsinnen, im MIG von Xilinx eine 
Mindestfrequenz von 75MHz gesehen zu haben (für SDRAM AFAIK), was wohl, 
wie Falk schon sagte, an den eingebauten PLLs liegen dürfte.

> Wenn man kein Tool und Know-How für impedanzkontrolliertes Layout hat,
> sollte man lieber bei einem Evaluationsboard bleiben.

Naja, wenn man sich die EvalBoards mal näher anschaut, dann stellt man 
häufig fest, das die Layouts (auch der grossen Firmen) eine einzige 
Katastrophe sind. Z.B.: Xilinx: ich habe hier ein SPARTAN 3E EvalBoard 
herumfliegen, auf dem es vor Stubbs nur so wimmelt, selbst bei der 
SDRAM-Anbindung. XILINX warnt in seinen eignen DBs und AppNotes genau 
vor sowas.
Aber dafür sind die Boards bezahlbar und funktionieren (meist aber nicht 
in der EMV, hier ist es aber i.d.R. egal).

Gruss Uwe

von Fabian S. (jacky2k)


Lesenswert?

Hmm irgendwie scheint ihr mit euren Meinungen auf keinen gründen Zweig 
zu kommen :D
Ich habe mir nun grade mal bei Farnell SDRAM rausgekramt: 
http://www.farnell.com/datasheets/52716.pdf
Auf Seite 7 steht fürs Maximum der "CLK cycle time" 1000ns. Ist das der 
Wert nach dem ich suche? Also dürfte ich den nuntheoretisch mit 1MHz 
takten?

von Uwe N. (ex-aetzer)


Lesenswert?

Fabian S. schrieb:
> Hmm irgendwie scheint ihr mit euren Meinungen auf keinen gründen Zweig
> zu kommen :D

Du weisst offensichtlich auch nicht recht, was du willst:

DDR2 |= SDRAM ;-)

von Fabian S. (jacky2k)


Lesenswert?

Ohh das kam etwas blöd rüber, mit DDR2 habe ich nun abegeschlossen, da 
das nicht zu funktionieren scheint. DDR ist der gleiche Mist, desshalb 
schau ich nun bei SDRAM.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Was Uwe wohl meinte, ist, daß sowohl DDR-, als auch DDR2- (und sogar 
DDR3-) allesamt Varianten von SDRAM sind. Halt mit doppelter Datenrate 
und zunehmend anspruchsvollerem Timing.

von Fabian S. (jacky2k)


Lesenswert?

Das sind doch aber schon noch unterschiedliche ICs?

von Falk B. (falk)


Lesenswert?

@  Fabian S. (jacky2k)

>Das sind doch aber schon noch unterschiedliche ICs?

Logisch!

von Uwe N. (ex-aetzer)


Lesenswert?

Rufus t. Firefly schrieb:
> ... daß sowohl DDR-, als auch DDR2- (und sogar DDR3-) allesamt Varianten
von SDRAM sind.

Ja, genau ;-)
Das "|" sollte eigentlich "NOT" bedeuten ...

von Fabian S. (jacky2k)


Lesenswert?

Ohh man reden wir alle an einander vorbei :D
Kann mir denn jemand sagen ob das was ich den dem SDRAM Datenblatt 
gefunden hatte das ist was ich gesucht habe?

von Falk B. (falk)


Lesenswert?

@  Fabian S. (jacky2k)

>Kann mir denn jemand sagen ob das was ich den dem SDRAM Datenblatt
>gefunden hatte das ist was ich gesucht habe?

Ja, dein SDRAM kann mit minimal 1 MHz getaktet werden. Das entbindet 
dich aber nicht von der Notwendigkeit eines sauberen Layouts, denn die 
IOs schalten bei 1 MHz genauso schnell (ca. 2ns Anstiegszeit) wie bei 
100MHz, siehe Wellenwiderstand.

MFG
Falk

von Fabian S. (jacky2k)


Lesenswert?

Hmmm joa hast Recht :-/
Sollte man da schon mit Abschlusswiderständen arbeiten oder reichts die 
Leitungen so kurz wie möglich und gleich lang zu machen?

von Mine Fields (Gast)


Lesenswert?

Serienterminierung, siehe den Artikel, den Falk gepostet hat.

von Falk B. (falk)


Lesenswert?

@Fabian S. (jacky2k)

>Sollte man da schon mit Abschlusswiderständen arbeiten oder reichts die
>Leitungen so kurz wie möglich und gleich lang zu machen?

Den Takt mit Serienterminierung, der Rest möglichst kurz ohne 
Terminierung, das reicht für 100 MHz SDRAM.

MFG
Falk

von Simon K. (simon) Benutzerseite


Lesenswert?

Den Rest nicht terminiert, weil er bidirektional ist? Oder weil der 
Pegel eh stabil ist, wenn die Taktflanke kommt?

von Falk B. (falk)


Lesenswert?

@  Simon K. (simon) Benutzerseite

>Den Rest nicht terminiert, weil er bidirektional ist?

Nein.

> Oder weil der Pegel eh stabil ist, wenn die Taktflanke kommt?

Jain. Weil die Leitungen meist kurz genug sind, um wenig 
Reflexionsprobleme zu machen (3-5cm).

MFG
Falk

von Fabian S. (jacky2k)


Lesenswert?

Na gut, hört sich ja alles erstmal nicht soooo schlech an.
Werden nun vermutlich einen SDRAM nehmen mit 32MByte und 8Bit 
Dateninterface (uns ist aufgefallen, dass wir sonst nicht genügend Pins 
haben :D)

Nochmal zu dem Autorefresh: Soweit ich das aus dem Datenblatt von dem 
Chip den wir nun nehmen wollen entnehmen kann heißt das zwar Auto 
Refresh, ist aber alles andere als automatisch.
Seite 37: 
http://download.micron.com/pdf/datasheets/dram/sdram/256MSDRAM.pdf
Darin heißt es:
> This command is nonpersistent, so it must be issued each time
> a refresh is required.

Meine Frage nun: was passiert wenn ich den Refresh nicht rechtzeitig 
mache? Gehen dann "nur" Daten flöten oder kann da schlimmeres passieren?

von Ulrich (Gast)


Lesenswert?

Wenn der Refresh nicht rechtzeitig kommt gehen Daten verloren. Mehr 
passiert da eigentlich nicht, höchstens ein bischen mehr Stromverbrauch 
für Bits an der Grenze.
Wenn es realtiv kühl ist, hat man ggf. auch deutlich mehr Zeit für den 
Refresh.

Ein Zugriff auf die Daten sorgt auch schon für einen Refresh in dem 
entsprechenden Datenbereich.

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.