Forum: Mikrocontroller und Digitale Elektronik Schleifenförmige Taktleitung


von Oliver Tharus (Gast)


Lesenswert?

Hi,

ich habe schon auf mehreren Karten gesehen, dasss
die Leitung für das Clock Signal auf der Leiterplatte
schleifenförmig gelegt ist. Weiß vielleicht jemand
warum man das macht.

Gruß
Oliver

von Benedikt K. (benedikt)


Lesenswert?

Um die Leitungslänge größer zu machen, und damit die Laufzeit. Das 
Ergebnis ist eine entsprechende Phasenverschiebung des Taktes gegenüber 
den Daten.

von Oliver Tharus (Gast)


Lesenswert?

Hi,

und wozu macht man das?
Bei so kurzen Leitungen sollte
die Laufzeit doch minimal sein?

von Benedikt K. (benedikt)


Lesenswert?

Rechne mal aus, wie lang die Leitung sein darf, wenn am Ende das Signal 
auf +/-1ns oder noch weniger genau ankommen muss.

von HildeK (Gast)


Lesenswert?

Laufzeit auf einem FR4 ist ca. 10-15 cm pro Nanosekunde. Manche Timings 
sind schon mal so eng, dass man korrigieren muss. Vor allem dann, wenn 
man die üblicherweise großen Toleranzbereiche von z.B. Propagation 
Delays, Setup- und Holdzeiten über den gesamten Temperaturbereich 
berücksichtigen muss. Da bleibt schon bei 150 MHz Taktfrequenz oft nicht 
mehr viel übrig.

von Oliver Tharus (Gast)


Lesenswert?

Hi,

kann man nicht davon ausgehen, dass
die Leitungen auf dem Motherboard
gleich lang sind??

Bei PCI wäre es 1/66MHz = 15,15ns

15ns * 15cm/ns= 225cm = 2,25m

2,25m ist doch lang

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

Bei PCI geht es eher darum, dass die Taktflanke erst kommt, wenn die 
Daten sauber anstehen. Deshalb wird so geroutet, dass die Taktleitung 
die längste Leitung ist. Zu sehen auf nahezu allen PCI Einsteckkarten.

von HildeK (Gast)


Lesenswert?

>kann man nicht davon ausgehen, dass
>die Leitungen auf dem Motherboard
>gleich lang sind??
Gleich lang sind die nie!
Naja, man kann hier schon geeignet layouten. Aber oftmals erfordert die 
Art und Weise, wie die Takterzeugung  und -verteilung lösbar ist, eine 
Korrektur. Z.B. externer Oszillator, versorgt Quelle, dort hast du eine 
Laufzeit Clock-Daten für den Datenausgang. Die gleiche Quelle versorgt 
u.U. auch den Empfänger und da wäre dann der Takt viel zu früh dran.
Oder der Takt wird aus dem selben Baustein ausgegeben wie die Daten - 
trotzdem: Taktnetze sind schneller (z.B. in FPGAs) und wieder kann der 
Takt zu früh am Empfänger sein. Und, und, und ...

von Benedikt K. (benedikt)


Lesenswert?

Außerdem darf man nicht mit 1/Frequenz rechnen, sondern den Werten die 
in den Specs angegeben sind. Da steht dann z.B. drin, dass das Signal 
mindestens 2ns vor der Taktflanke anliegen muss und mindestens 2ns 
danach immer noch stabil sein muss.

Generell gibt es 2 Möglichkeiten wie man die Daten/Takt Beziehung macht:
Entweder macht man es so, dass der Sender die Daten an der steigenden 
Flanke anlegt, der Empfänger es an der fallenden aufnimmt. Man hat so 
einen halben Takt Sicherheitsabstand (was bei hohen Taktfrequenzen aber 
sehr wenig ist).
Oder man sagt, die Daten werden bei der steigenden Flanke ausgegeben und 
empfangen. Dann muss man aber Sicherstellen, dass der Empfänger die 
alten Daten noch Sicher mitbekommt, und nicht ein gemisch aus alten und 
neuen Daten. Dann kommt es auf Werte von wenigen 100ps an.

von Oliver Tharus (Gast)


Lesenswert?

Und wie geht man in der Praxis vor?
Einfach versuchen oder berechnen?

Gruß
Oliver

von Benedikt K. (benedikt)


Lesenswert?

Es gibt dafür entsprechende Software. Die kostet zwar so viel wie ein 
Kleinwagen, oder auch mehr, je nach Genauigkeit und Funktionsumfang, 
aber das ist bei einer Massenproduktion vernachlässigbar.

von Peter (Gast)


Lesenswert?

HildeK:
>Laufzeit auf einem FR4 ist ca. 10-15 cm pro Nanosekunde. Manche Timings
>sind schon mal so eng, dass man korrigieren muss...

Willivonbienemaya:
>Bei PCI geht es eher darum, dass die Taktflanke erst kommt, wenn die
>Daten sauber anstehen. Deshalb wird so geroutet, dass die Taktleitung
>die längste Leitung ist...

Wenn das Timming so knapp ist, dass einige 100ps eine Rolle spielen, 
dann liegt in aller Regel ein Designfehler vor: => Es wird die falsche 
Taktflanke verwendet. Passiert öfter als mancher Ing. denkt, bzw. viele 
merken es nie, wei es ja glücklicherweise funktioniert.

Wenn man schon Signale verzögern will, dann ist es effektiver, beim 
Signalausgang einen Längswiderstand von 30..100 Ohm einzufügen, das 
dämft dann auch noch Überschwinger die durch Reflexionen entstehen.

Ebenfalls wegen Reflexionen ist es sinnvoll, ein Taktsignal vom Ausgang 
her "schlangenförmig" zu den verschiedenen Eingeängen zu layouten, (mit 
möglichst kurzen "stubs") und nicht sternförmig. So hat die Leitung 
quasi nur EIN Ende, an welchem EINE Reflexion entsteht.

von HildeK (Gast)


Lesenswert?

>Ebenfalls wegen Reflexionen ist es sinnvoll, ein Taktsignal vom Ausgang
>her "schlangenförmig" zu den verschiedenen Eingeängen zu layouten, (mit
>möglichst kurzen "stubs") und nicht sternförmig. So hat die Leitung
>quasi nur EIN Ende, an welchem EINE Reflexion entsteht.

Warnung! Das ist absolut unbrauchbar! Sorry, für die harten Worte.
Entlang der Leitung kann man sehr deutlich eine Treppe messen - absolut 
ungeeinet für ein Taktsignal!
Ich weiss, wovon ich rede. Das macht man nur einmal falsch!

Entweder, bei genügend großer Treiberleistung, sternförmig, mit je einem 
Serienwiderstand oder aber über einen Taktverteiler. Immer nur 
Punkt-zu-Punktverbindungen bei flankensensitiven Signalen!

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.