Forum: Mikrocontroller und Digitale Elektronik max Länge Datenbus / Addressbus / CLK etc Formeln gesucht


von Gerhard Weber (Gast)


Lesenswert?

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

von Newbie (Gast)


Lesenswert?

wie lauten denn dazu die englischen schlagwörtern, nach denen man suchen 
kann?

von Stefan (Gast)


Lesenswert?

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

von Philipp (Gast)


Lesenswert?

> 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.

von Obelix (Gast)


Lesenswert?

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

von Gerhard Weber (Gast)


Lesenswert?

die max. Frequenzen ergeben sich welchen Zeiten? Muss die 
Leiterbahnlänge dann mind. genauso lang sein, wie diese Zeiten?

von Falk B. (falk)


Lesenswert?

@  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

von Gerhard Weber (Gast)


Lesenswert?

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

von Newbie (Gast)


Lesenswert?

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...

von Falk B. (falk)


Lesenswert?

@ 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

von Gerhard Weber (Gast)


Lesenswert?

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

von Falk B. (falk)


Lesenswert?

@ 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

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.