Hallo,
durch welche angaben bekomm ich heraus, ab wann ich die Länge des
Datenbusses, Addressbusses und CS-Leitung etc. längenmäßig anpassen
muss? Wie groß darf der Unterschied zwischen längester Leiterbahn vom
Datenbus und kürzeste Leiterbahn vom Datenbus sein, damit ein SDRAM IC
richtig angesprochen wird?
http://download.intel.com/design/flcomp/datashts/31474902.pdf
Jörg
@ Jörg (Gast)
>durch welche angaben bekomm ich heraus, ab wann ich die Länge des>Datenbusses, Addressbusses und CS-Leitung etc. längenmäßig anpassen>muss? Wie groß darf der Unterschied zwischen längester Leiterbahn vom
Durch Abschätzung bzw. Standards. AFAIK gibt es für diese ICs bei diesen
relativ langsamen Taktfrequenzen keine Standards.
Pi mal Daumen
Auf FR4 beträgt die Ausbreitungsgeschwindigkeit ca. 15cm/ns.
Die Daten-und CS LEitungen können sich im allgemeinen ne realtiv grosse
Laufzeit bzw. Laufzeitdifferenz erlauben, 1ns (sprich 15cm) und mehr
würde ich da als problemlos ansehen. Anders beim Takt. Der sollte
möglichst kurz gehalten werden bzw. bei sternförmiger Taktverteilung von
einer Quelle auf alle Teilnehmer am Bus (uC, SD-RAM, FLASH) sollten die
Laufzeitdifferenzen 500ps nicht überschreiten, besser weniger.
MfG
Falk
@ Jörg (Gast)
>dort wurde viel gemacht in punkto längenausgleichung - `nachdem es viele>Leitungen betrifft nehm ich mal an dass es der Daten- oder / und>Addressbus sein muss.
Naja, das Thema driftet aber schnell ins Esotherische ab. Hatte ich auch
mal :-(
Es ging um 155 MHZ DDR-RAM. Sprich, ein Bit ist ca. 3ns "lang". Laut
Spezifikation von Motorola kann man sich zwischen Byte-Lanes bis zu 1
Inch Längendifferrenz erlauben, macht ca. 170 ps Laufzeitdifferenz.
Wahrscheinlich geht praktisch auch mehr. Allerding wollte Kunde König
max. 0,1 Inch, weil er das gross Nervenflattern hatte. Haben wir dann
auch so machen müssen, weil sämtliche rationale Argumente vollkommen
ignoriert wurden. Naja.
Andererseits war auf dem selben Board ein PowerPC mit SDRAM drauf,
Taktverteilung über PLL-Treiber. Der Bus lief sogar (38 MHz, 26ns ) mit
6ns!!!! Phasenverschiebung der Takte (testhalber, ohne PLL).
Praxis : Alles funktioniert und keiner weiss warum.
Theorie : Nichts funktioniert und jeder weiss warum.
Theorie + Praxis : Nicht funktioniert und keiner weiss warum.
;-)
MfG
Falk
hast du einen direkten link zu den spezifikationen der byte-lanes von
motorola?
die operating AC Parameter auf Seite 12 besagen nur wie schnell hinter
einander die Befehle im µC an den SDRAM-IC gesendet werden dürfen, aber
nichts über die Länge der Zuleitung aus - richtig?
Ergibt sich dann nicht die minimale Zeit, die ein Befehl über die
leitung zum SDRAM benötigen darf, aus diesen Zeiten - also höchstens 2ns
-> 28cm und für die CLK ist es die Hälfte 1ns?
bei der festplatte handelt es sich um eine Iomega...
@ Jörg (Gast)
>hast du einen direkten link zu den spezifikationen der byte-lanes von>motorola?
Im Moment leider nein.
>die operating AC Parameter auf Seite 12 besagen nur wie schnell hinter>einander die Befehle im µC an den SDRAM-IC gesendet werden dürfen, aber>nichts über die Länge der Zuleitung aus - richtig?
Ja.
>Ergibt sich dann nicht die minimale Zeit, die ein Befehl über die>leitung zum SDRAM benötigen darf, aus diesen Zeiten - also höchstens 2ns>-> 28cm und für die CLK ist es die Hälfte 1ns?
In gewisser weise schon. Der Ablauf ist wie folgt.
Taktflanke kommt am Sender und Empfänger nahezu gleichzeitig an.
Nach der Clock-to-output Time (scheiss Denglisch) erscheinen neue Daten
an den Ausgängen des Senders
Nach der Laufzeit auf de Leitungen liegen die Daten am Empfängereingang
an
Die Daten müssen min. die Setup-Time lang am Eingang anliegen, bevor
eine neue Taktflanke kommt.
Clock-to_output sowie Setup-zeiten sind in den Datenblättern angegeben,
der Rest kann theoretisch mit Laufzeit auf den Leitungen verbraten
werden.
>bei der festplatte handelt es sich um eine Iomega...
Aber wie gesagt, bei 133 MHz SDRAM ist der Längenausgleich noch kein
wirkliches Thema. Schon gar nicht auf ner Festplatte, die ist
prinzipbedingt her kompakt. Wenn dort 5cm Längendifferenz zusammenkommen
ist das viel und damit vernachlässigbar. Isch tippe da eher auf Paranoia
oder künstlerischen Anspruch des Layouters. ;-)
MfG
Falk
@ Matthias L. (lippy)
>>Haben wir dann>>auch so machen müssen, weil sämtliche rationale Argumente vollkommen>>ignoriert wurden. Naja.>Klingt nach einer Layer 10 Entscheidung..
???
@ Andreas (Gast)
>und die Clock-Signalleitungen OE, CS etc. müssen länger sein als die>Leiterbahnen von Address- und Datenbus?
Es gibt nur eine Taktleitung, das ist CLK. OE und CS sind normale
Steuersignale für die die ganz normalen Setup -und Holdzeiten gelten.
Und die müssen nicht länger als Adress- und Datenbuss sein.
MFG
Falk
@ Martin (Gast)
>aber die CLK-Leitung muss die kürzeste von allen Leitungen darstellen ->nicht die längste.
Kann man allgemein nicht so sagen. Spätestens wenn PLLs im Spiel sind
ist das wieder hinfällig.
Mfg
Falk
hab ein paar application notes gelesen - jedoch sind sich die firmen
nicht ganz einige bezüglich der länge für clk...
zarlink schreibt höchstens 1000mil (also 25.4mm) Leiterbahnlänge und bei
Freescale wird 500mil - also die Hälfte aufgeführt...
- beides ganz schön kurz
Jörg
@ Jörg (Gast)
>zarlink schreibt höchstens 1000mil (also 25.4mm) Leiterbahnlänge und bei>Freescale wird 500mil - also die Hälfte aufgeführt...>- beides ganz schön kurz
Wofür? Einen 133 MHz SDRAM? Naja, die sollen sich mal nicht so haben ;-)
Und wenn du wirklich lange Takteleitungen hast (ich sag mal 10 cm++),
dann musst du halt nen PLL-Clockbuffer nehmen. Damit spielt die Länge
der Taktleitung keine Rolle mehr, weil die PLL die Phasenverschiebung
ausgleicht.
MfG
Falk