Forum: Mikrocontroller und Digitale Elektronik Berechnung der max. Differenz der Leitungslänge


von Sawyer M. (sawyer_ma)


Lesenswert?

Hallo alle zusammen,

irgendwie stehe ich gerade auf dem Schlauch bezüglich der 
Leitungslängenanpassung von verschiedenen Signalen. Ich habe 
verschiedene differentielle Leitungspärchen wie auch DSI, QSPI usw. 
welche zwischen 200MHz und 600 MHz betrieben werden. Jetzt wollte ich 
die Leitungslängen untereinander anpassen damit die Signale gleiche 
Laufzeiten haben.

Jetzt stellt sich mir die Frage wie ich die maximal erlaubte Differenz 
der Leitungslänge anhand der Arbeitsfrequenz berechnen kann.

Beste Grüße

von Klaus R. (klara)


Lesenswert?

Hallo,
ich dachte die Laufzeit in einem Kabel wäre unabhängig von der Frequenz, 
zumindest weitgehend.
mfg klaus

von georg (Gast)


Lesenswert?

Sawyer M. schrieb:
> Jetzt stellt sich mir die Frage wie ich die maximal erlaubte Differenz
> der Leitungslänge anhand der Arbeitsfrequenz berechnen kann

Ein guter Anhaltspunkt: die Längendifferenz, umgerechnet in Zeit, sollte 
kürzer sein als die Anstiegszeit der Signale.

Noch besser: Datenblätter studieren (man glaubt es nicht, aber das hilft 
doch oft weiter) und Angaben über maximalen Skew in Länge umrechnen. 
Oder im Constraint Manager die Laufzeitdifferenz direkt eingeben (nur 
bei "besseren" CAD-Systemen).

Die Angaben sind oft überzogen, aber eines ist richtig: man sollte die 
möglichen Toleranzen nicht sinnlos verbraten, der Längenausgleich ist ja 
leichter zu machen als irgendwas sonst an der ganzen Übertragung zu 
verändern. Also nicht die maximale Abweichung einbauen, wenn man es ohne 
Mühe besser machen kann.

Georg

von Sawyer M. (sawyer_ma)


Lesenswert?

Klaus R. schrieb:
> Hallo,
> ich dachte die Laufzeit in einem Kabel wäre unabhängig von der Frequenz,
> zumindest weitgehend.
> mfg klaus

Puh, das kann ich noch nicht beantworten. Ich suche verzweifelt eine 
Formel hierfür. Wenn in dieser die Frequenz nicht vorkommt stimme ich 
dir absolut zu.

von HildeK (Gast)


Lesenswert?

Klaus R. schrieb:
> Hallo,
> ich dachte die Laufzeit in einem Kabel wäre unabhängig von der Frequenz,
> zumindest weitgehend.

Ist auch so.
Von der Frequenz abhängig sind die Dämpfung.
Die Laufzeit ist hauptsächlich vom Epsilon_r des Isolators abhängig.
v = c0 / SQRT(eps_r).
Falls ein μ_r auch vorhanden ist, wirkt das auch noch.

http://elektroniktutor.de/elektrophysik/leitung.html

von Sawyer M. (sawyer_ma)


Angehängte Dateien:

Lesenswert?

Also mal an dem Beispiel von einem SDRAM (AS4C8M16SA). Im Bild oben sind 
die Zeiten einzusehen der Anstiegszeiten.

Diese Signale kann ich alle Theoretisch untereinander so anpassen das 
diese in den angegeben Anstiegszeiten bleiben aber ist das wirklich 
nötig?

Muss alles auf die CLK-Länge angepasst werden weil an dem sich alles 
orientiert mit den unterschiedlichen abweichungen der Anstiegszeiten?

Vielen Dank für eure Hilfe auch wenn ich villt blöd frage. Mir 
erschließt sich die ganze Sache nur noch nicht ganz.

Beste Grüße

von Dietrich L. (dietrichl)


Lesenswert?

Sawyer M. schrieb:
> Mir erschließt sich die ganze Sache nur noch nicht ganz.

Vorschlag:
Du malst Dir ein Zeitdiagramm der zusammengehörigen Signale auf mit 
Angabe der min. und/oder max. Werten laut Datenblatt.
Jetzt musst Du mit der Leitung dafür sorgen, dass die erlaubten Grenzen 
nicht über- oder unterschritten werden.
Dabei sind natürlich auch die Zeiten zwischen den Signalen der Quelle, 
d.h. vor der Leitung, und ihre Toleranzen zu berücksichtigen.

von Falk B. (falk)


Lesenswert?

@Sawyer Ma (sawyer_ma)

>Also mal an dem Beispiel von einem SDRAM (AS4C8M16SA). Im Bild oben sind
>die Zeiten einzusehen der Anstiegszeiten.

Wo denn? Das sind nur Verzögerungszeiten auf dem Bus. Da steht nix von 
rise/fall time.

>Diese Signale kann ich alle Theoretisch untereinander so anpassen das
>diese in den angegeben Anstiegszeiten bleiben aber ist das wirklich
>nötig?

Nö.

>Muss alles auf die CLK-Länge angepasst werden weil an dem sich alles
>orientiert

Im Prinzip ja.

>mit den unterschiedlichen abweichungen der Anstiegszeiten?

Nein.

Der SDRAM in dem Ausschnitt kann mit minimal 6ns/166 MHz getaktet 
werden. Die minimalen Anstiegszeiten liegen vermutlich im Bereich 1-2ns. 
1ns Laufzeit entspricht ca. 15-20cm auf einer Platine, je nach 
Leiterbahntyp und Geometrie. Wenn man den Ansatz wählt, die 
Laufzeitdifferenz kleiner als die Anstiegszeit zu wählen, wären hier 
20cm denkbar ;-)

Praktisch wird man versuchen, die Differenzen im Bereich 1-5mm zu 
halten, das ist meist problemlos möglich, wenn man für einige Leitungen 
ein paar Mäander einbaut. Aber bei 166 MHz SDRAM hätte ich auch kein 
Problem mit 50mm Längendifferenz, das sind gerade mal 300ps wenn es hoch 
kommt. Das verkraftet des Timingbudget im Normalfall.

Such mal im Forum, da gab es ein paar Diskussionen dazu, die bisweilen 
auch den Fetischismus der Längenanpassung sehr anschaulich darstellen. 
Aber in der Praxis wird nicht so heiß gegessen wie es gekocht wird.

Ich war vor Ewigkeiten mal an einem Design mit 1 Gibt/s Ethernet und 
einem 16 Bit Bus mit 800 Mbit/s dran (10G Ethernet), dort haben wir die 
Längen auf 1-2mm abgeglichen, auch von differentiellen Paaren, das lief 
problemlos. Wahrscheinlich hätte es auch 5mm und mehr toleriert, aber da 
hatten einige Leute mal wieder Muffensausen.

Was ich ganz sicher NICHT machen würde (was damals teilweise gemacht 
wurde), ist, daß man zwecks Längenausgleich Minischnörkel in Leitungen 
einzubauen. Das sieht nicht nur häßlich aus, es ist auch sinnlos und 
macht im Zweifelsfall mehr Probleme als es löst.

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.