Hallo,
mich interessieren zu dieser thematik die formeln, die dahinterstehen...
wie lang dürfen die Leiterbahnen für einen Daten- und Addressbus sein,
wenn zwei SDRAM-ICs dranhängen, die zusammen einen SDRAM ergeben (also
der erste hat D0-D15 und der zweite D16-D31) und ein Flash-speicher...
nach welchen gesetzmäßigkeiten / formeln kann man die max. länge
ausrechnen? Genauso wielange darf das CLK-Leiterbahn sein? Und wie groß
dürfen die unterschiede zwischen z.B. D0 und D15 liegen in der Länge, so
dass es noch passt?
die Load Kapazität von einem IC ist z.B. 50pF (für jeden) und die Länge
der Leiterbahn zwischen SDRAM1 und mikrocontroller ist 2inch und
zwischen SDRAM1 und SDRAM2 sind es 5inch und zwischen SDRAM2 und Flash
sind es nochmal 3inch (egal ob das realistisch ist, mich interessiert
nur mal der rechenweg und die formeln die man anwenden muss); der
Wellenwiderstand der Leiterbahn ist z.B. 10 Ohm und die Kapazität der
Leitung ist 2.8pF/inch und L = 7200pH/inch (leiterbahn)
ist ein längenunterschied von 6900ps (verzögerungszeit) zwischen SDRAM1
und SDRAM2 zu groß?
kennt jmd. ein pdf oder ähnliches wo ein Datenbuss etc. mal nach formeln
dimensioniert wird?
Gerhard
Ich würde mal behaupten dass die max. Leitungslänge etc. im Wesentlichen
vom Treiber abhängt. Ich hatte hier mal ein Design das 2 Griffe ins Klo
verursachte weil die verwendete CPU derart schwache Treiber hatte.
Nachdem ich im 3. Design direkt neben die CPU das ganze mit einem CPLD
entkoppelt hatte lief das ganze problemlos. Was will uns das sagen ?
Erfahrung ist der beste Koch ;-)
Stefan
> mich interessieren zu dieser thematik die formeln, die dahinterstehen...
man Leitungstheorie
Die Formeln, aus denen Du Dir alles weitere herleiten kannst, findest Du
an jeder Ecke. Und das ist natürlich ein deutlich besseres »Kochrezept«
als reine Ausprobiererei, auch wenn die Bastlerfraktion das nicht
wahrhaben will.
Und tu Dir den Gefallen, nie wieder Angaben in Zoll zu verwenden. Von
der zwangsläufig folgenden Umrechnerei sollen schon Rakten abgestürzt
sein.
Die max. Länge hängt unter anderem von den Frequenzen auf den Leitungen
ab.
> ist ein längenunterschied von 6900ps (verzögerungszeit) zwischen SDRAM1> und SDRAM2 zu groß?
Das kann dir wohl keine, ohne zusätzliche Infos, beantworten
@ Gerhard Weber (Gast)
>die max. Frequenzen ergeben sich welchen Zeiten? Muss die>Leiterbahnlänge dann mind. genauso lang sein, wie diese Zeiten?
Solche diffusen Fragen kann keiner sinnvoll beantworten. Stelle konkrete
Fragen.
MFG
Falk
ok.
es gibt einen clk-time, mit der ein RAM-Baustein angesprochen wird.
desweiteren gibt es OE Hold time, CE hold time sowie auch die setup
times und address to output time...
welche zeiten müssen innerhalb eines clk-zyklus (also einer clk-zeit)
abgearbeitet werden? Und kann man daraus auch feststellen wie groß der
längenunterschied (leiterbahn) zwischen der clk-leitung und den anderen
sein muss?
Gerhard
hab auch schon öfters darüber gelesen
"Dies liegt an Laufzeitunterschieden zwischen Signalwegen,
Übersprechen und ohmschen Lasten, die durch schlechtes
Signalweg-Design oder etwa mangelhafte Sockelqualität entstehen
können."
http://www.heise.de/foren/go.shtml?read=1&msg_id=11634385&forum_id=39787
bei 133MHz RAM muss es also schon Regeln für das Layout geben, aber
wissen tu ich die leider nicht...
@ Gerhard Weber (Gast)
>welche zeiten müssen innerhalb eines clk-zyklus (also einer clk-zeit)>abgearbeitet werden?
Ganz einfach. Mit der aktiven Taktflanke (meist steigende) läuft
folgnder Zyklus ab
Der Takt erreicht praktisch gleichzeitig alle ICs/FlipFlops (in den ICs)
nach der Clock to output time liegen die Daten am Ausgang des Senders an
nach der Laufzeit auf den Verbindungen liegen die Daten am Eingang des
Empfängers an
hier müssen sie für min. die Setup-Zeit konstant anliegen
jetzt kann die nächste Taktflanke kommen
die Daten müssen noch für die Länge der Hold-Time anliegen
Alle Daten ausser der Laufzeit stehen im Dateblatt. Dami kannst du die
maximal zulässige Laufzeit ausrechnen.
>Und kann man daraus auch feststellen wie groß der>längenunterschied (leiterbahn) zwischen der clk-leitung und den anderen>sein muss?
Jain. Wenn du einen 133 MHz SDRAM hast, dann sag ich mal dass 5cm
Längenunterschied kein Problem sind, 10cm sind wahrscheinlich auch noch
drin. Bedenke, dass 15..20 cm einer Laufzeit von 1ns entsprechen.
MfG
Falk
vielen Dank Falk...
also zuerst clk-to-output-time (ist in dieser bereits die Hold-Time
enthalten, die vorhanden sein muss, wenn die Addresse am Speicher
anliegt?)
anschließend können die Daten abgeholt werden über die Datenleitungen
(wie groß darf hier der max. unterschied zwischen kürzester Datenleitung
und längster sein - wahrscheinlich ziemlich groß, aber welche max.
Verzögerungszeit bei Taktfrequenz 60MHz geht noch? (15ns/cm auf
FR4-Material ist glaub ich die Übertragungsgeschwindigkeit abhängig von
der Frequenz).
dann müssen die Daten am µC für die Setup-Time wieder anliegen. Gibt es
hier keine Hold-Time? Wenn nein, warum wird die Hold-Time sehr häufig
mit 0s im Datenblatt angegeben?
die max. zulässige Laufzeit ergibt sich dann aus der clk-to-output time
+ setup time + hold-time (am µC oder am Speicher - ´kann ich jetzt nicht
so einfach interpretieren?) + laufzeit Leiterbahnlänge --> ergibt die
gesamte laufzeit.
clk-time = clk-to-output + setup-time + laufzeit Leiterbahn (oder ist
die Hold-time auch noch mit dabei?)
Gerhard
@ Gerhard Weber (Gast)
>also zuerst clk-to-output-time (ist in dieser bereits die Hold-Time>enthalten, die vorhanden sein muss, wenn die Addresse am Speicher>anliegt?)
Nein, das sind zwei verschiedene Zeiten. Die clk-to-output time ist eine
Eigenschaft von Ausgängen, die Hold-Time eine Eigenschaft von Eingängen.
>anschließend können die Daten abgeholt werden über die Datenleitungen>(wie groß darf hier der max. unterschied zwischen kürzester Datenleitung>und längster sein - wahrscheinlich ziemlich groß, aber welche max.
Wie bereits gesagt, 5cm sicher, wahrscheinlich auch 10cm.
>Verzögerungszeit bei Taktfrequenz 60MHz geht noch? (15ns/cm auf
15ns/cm ist ein wenig langsam ;-)
>FR4-Material ist glaub ich die Übertragungsgeschwindigkeit abhängig von>der Frequenz).
Nein, die Laufzeit ist Freqeunzunabhängig (jaja, genaugenomme ist die
Gruppenlaufzeit nicht ganz konstant, aber das kommt bestenfalls bei
1GHz++ zum tragen)
>dann müssen die Daten am µC für die Setup-Time wieder anliegen. Gibt es>hier keine Hold-Time?
Doch.
> Wenn nein, warum wird die Hold-Time sehr häufig>mit 0s im Datenblatt angegeben?
Weil sie nun mal so gross ist, sprich, es wird keine Hold-Time benötig.
>die max. zulässige Laufzeit ergibt sich dann aus der clk-to-output time>+ setup time + hold-time (am µC oder am Speicher - ´kann ich jetzt nicht>so einfach interpretieren?) + laufzeit Leiterbahnlänge --> ergibt die>gesamte laufzeit.
Periodendauer >= clk-to-output + laufzeit + setup
Mfg
Falk