www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DDR2 langsamer takten?


Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: BScan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: BScan (Gast)
Datum:

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

Autor: Rudolph (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: noname (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach DDR2 Datenblatt tck max = 8 nSec. entsprechend 125 MHz.

Autor: Mine Fields (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mine Fields (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Uwe N. (ex-aetzer)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Uwe N. (ex-aetzer)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sind doch aber schon noch unterschiedliche ICs?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Fabian S. (jacky2k)

>Das sind doch aber schon noch unterschiedliche ICs?

Logisch!

Autor: Uwe N. (ex-aetzer)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Mine Fields (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Serienterminierung, siehe den Artikel, den Falk gepostet hat.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Simon K. (simon) Benutzerseite
Datum:

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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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/sdr...
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?

Autor: Ulrich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.