Hallo zusammen
Ich bin gerade dabei, ein paar LVDS-Leitungen zur Ansteuerung eines
Displays auf einer Leiterplatte zu Routen. Dabei habe ich mir ein paar
Gedanken gemacht.
Der Pixelclock beträgt 148.5MHz (1080p@60Hz). Die Daten werden dabei auf
zwei LVDS Ports aufgeteilt. Somit halbiert sich die Taktfrequenz, da pro
Takt die doppelte Information übertragen wird (soweit mein Verständnis).
Daher gehe ich davon aus, dass die Serialisierer mit 74.25MHz getaktet
werden. Diese erhöhen die Frequenz um Faktor 7 auf 519.75MHZ.
Dies entspricht einer Wellenlänge von: ca. 0.57m (im freien Raum. Er
nicht berücksichtigt... Mit Er vermutlich um 0.42m = 420mm.
Nun zum eigentlichen Thema.
Ich habe nun also 4 Datenleitungen (Differentiell) plus eine
Clockleitung (Differentiell) und dieses Paket zwei Mal.
Nun habe ich darauf geachtet, dass die Clockleitungspaare ca. 1-2mm
länger sind als das längste Datenpaar.
Dies deshalb, da ich davon ausgehe, dass es wichtig ist, dass beim
Empfänger zuerst die Daten stabil anliegen müssen und erst dann die
Clock-Flanke kommen sollte.
Das kürzeste Datenpaar hat 14mm das längste 16mm, Die Clockleitungen
sind 19mm lang.
Da eine Welle ja eine Länge von ca 400mm hat, sollten die Unterschiede
der Datenleitungen keinen Einfluss auf die Übertragung haben.
Die Längenunterschiede der Differentiellenleitungen betragen weniger als
0.1mm.
Sind meine Überlegungen soweit korrekt? Oder habe ich etwas
grundlegendes übersehen?
Vielen Dank!
Du gehst falsch an die Sache heran.
Die Taktfrequenz ist fast vollkommen egal, was zählt ist die
Anstiegszeit. Diese Flankensteilheit generiert dir die Probleme und
folgerichtig muss dein Design auf eben diese ausgelegt sein. Die
Leiterzuglänge ist auch sekundär, solange sie in einem sinnvollen
Abstand zueinander einlaufen. Hier gibt es ebenfalls Toleranzen, die
aber nicht immer genau angegeben sind. Auch weißt du nichts darüber, wie
groß der Längenunterschied der Signale im Chip selbst ist. Deshalb
empfiehlt es sich immer, die Längenanpassung relativ genau zu machen,
denn das kostet zwar etwas Zeit bein Layout aber später nichts. Ich
versuche die Längen immer innerhalb 1mm zu haben, zueinander. Allerdings
ist das schon sehr eng, wenn man bedenkt, daß ein Signal in einer ns
15cm auf der Leiterplatte zurücklegt.
Auch muss man beim paarweisen Abgleich darauf achten, wo die Störstelle
sitzt und möglichst nah kompensieren.
Simon schrieb:> da ich davon ausgehe
Abgesehen davon, dass 1-2mm nichts ausmachen (was meinst du, auf
wieviele mm genau man ein 10m langes HDMI/DVI-Kabel abschneiden und
konfektionieren kann?) wissen auch die Hersteller der Sender und
Empfänger, dass sie nur stabile Daten sampeln sollten und deshalb
integrieren sie entsprechende Zeitglieder oder -pfade in ihr Design, so
dass du bei Beachtung der Regel "alle LVDS-Leitungen sind gleich lang"
direkt zum Ziel kommst.
> Nun habe ich darauf geachtet, dass die Clockleitungspaare ca. 1-2mm> länger sind als das längste Datenpaar.
Der Trick dabei ist, dass jedes Datenpaar gleich lang ist wie jedes
andere Datenpaar, das zum entsprechenden Clock gehört. Es gibt also kein
"längstes" Datenpaar.
Simon schrieb:> Das kürzeste Datenpaar hat 14mm das längste 16mm, Die Clockleitungen> sind 19mm lang.> Da eine Welle ja eine Länge von ca 400mm hat, sollten die Unterschiede> der Datenleitungen keinen Einfluss auf die Übertragung haben.> Die Längenunterschiede der Differentiellenleitungen betragen weniger als> 0.1mm.
Du bekommst das Haar glatt der Länge nach gespalten. Ich mache in
solchen Fällen übrigens immer einen "Testaufbau" mit
Serienwiderständen/Brücken, bei dem ich Drahtstücke auflöten und auch
mal ganz abwegige Sachen machen kann: eine Leitung lang machen,
verdrillt bzw. unverdrillt führen, eine Leitung hochohmig machen, usw...
Dann bekommt man auch ein "Gespür" dafür, wie der Bus und der Empfänger
reagiert und welche Fehlerbilder sich zeigen.
> Daher gehe ich davon aus,> da ich davon ausgehe
Du gehst m.E. von ziemlich vielen Sachen aus. Basieren diese Annahmen
auf Erfahrung?
> dass die Serialisierer mit 74.25MHz getaktet werden. Diese erhöhen die> Frequenz um Faktor 7 auf 519.75MHZ. Dies entspricht einer Wellenlänge> von: ca. 0.57m (im freien Raum. Er nicht berücksichtigt... ...> Nun zum eigentlichen Thema.
Die digitalen Daten werden nicht sinusförmig übertragen. Du solltest
also weniger die Nachkommastellen, als vielmehr mindestens die dritte
und die fünfte Oberwelle auch mit in Betracht ziehen...
Lothar M. schrieb:> Du gehst m.E. von ziemlich vielen Sachen aus. Basieren diese Annahmen> auf Erfahrung?
Hauptsächlich Erfahrung, ja.
Lothar M. schrieb:> Die digitalen Daten werden nicht sinusförmig übertragen. Du solltest> also weniger die Nachkommastellen, als vielmehr mindestens die dritte> und die fünfte Oberwelle auch mit in Betracht ziehen...
Das ist mir schon bewusst. Der Rechteck welcher durch Überlagerung der
vielen Harmonischen entsteht ist jedoch schlussendlich für die
Datenübertragung entscheidend. Denn der Deserialisierer sampelt siene
Daten ja nicht synchron zur x-ten Oberwelle der Recheckfrequenz,
sonsedern mit der Flanke des Rechteckimpulses. Daher ist für die
Deserialisierung auch 7x Pixelclock entscheidend und nicht die x-Te
Oberwelle.
Die Oberwellen haben jedoch einfluss auf die Signalitegriät wenn es um
die Betrachtung von Leitungsimpedanzen / Eingangskapazitäten etc. geht.
Schlussendlich geht es dann da um die Bandbreite.
Aber aus meiner Sicht haben die Oberwellen nichts mit der
Längenanpassung der Diff-Paare zu tun. Aber ich lasse mich gerne vom
Gegenteil überzeugen.
Simon schrieb:> Denn der Deserialisierer sampelt siene> Daten ja nicht synchron zur x-ten Oberwelle der Recheckfrequenz,> sonsedern mit der Flanke des Rechteckimpulses
Das ist doch das gleiche - schon mal was von Fourier gehört?
Simon schrieb:> Aber aus meiner Sicht haben die Oberwellen nichts mit der> Längenanpassung der Diff-Paare zu tun
Das ist deshalb ganz daneben. Ohne Oberwellen keine definierbare
Impulsflanke.
Georg
Georg schrieb:> Das ist deshalb ganz daneben. Ohne Oberwellen keine definierbare> Impulsflanke.
Ja, natürlich braucht es die Oberwellen.
Bei meiner Betrachtung geht es ja nur darum, dass auf einer Länge von
400mm ein "stabiler" Spannungspegel anliegt. Und daher die Unterschiede
von 3mm keinen Einfluss haben.
Simon schrieb:> dass auf einer Länge von 400mm ein "stabiler" Spannungspegel anliegt.
Ja nun gerade nicht, denn wenn die Wellenlänge 400mm ist, dann passt auf
diese Länge ein kompletter Sinus. Von Minimum über Maximum bis Minimum.
Nach 20cm misst du bei dieser Frequenz also einen komplett anderen Pegel
als am Anfang oder gar am Ende dieser Leitung.
Simon schrieb:> Da eine Welle ja eine Länge von ca 400mm hat
Und du deutlich darunter bleibst, kannst du davon ausgehen, dass auf
deinen kurzen 2cm Schnipseln tatsächlich überall der selbe Pegel ist.
Und Unterschiede von 3mm nichts ausmachen. Sie bringen ja auch gerade
mal 20ps Laufzeitunterschied.
Simon schrieb:> Denn der Deserialisierer sampelt siene Daten ja nicht synchron zur x-ten> Oberwelle der Recheckfrequenz, sonsedern mit der Flanke des> Rechteckimpulses.
Ein reiner Sinus hat keine "Flanke". Die "Flanke des Rechteckimpulses"
mit einer nennenswerten Steigung >1 entsteht erst durch die dritte und
fünfte Oberwelle.