Ich würde gerne mal wissen wie wichtig definierte Impedanz bei
Digitalschaltungen ist. Es geht sich hier um eine FPGA Schaltung mit
Frequenzen bis 100MHz. Wenn ich 50Ohm Leiterbahnen entwerfe sind die
groß, OK kann man durch lagenaufbau verkleinern. Die Impedanz eines
eingangs ist ja in der Regel nicht 50Ohm. Ab wann wird kontrollierte
Impedanz also sinnvoll?
Solange die räumliche Ausdehnung der Schaltflanken nicht kürzer als die
ca. vierfache Leitungslänge ist, muss man sich um solche Dinge
normalerweise keine Sorgen machen. Ansonsten ist er erste Schritt
zunächst mal die Schaltflanken so weit zu verlangsamen (wenn möglich)
bis man im sorgenfreien Bereich angekommen ist. Erst wenn das nicht mehr
möglich ist muss man sich möglicherweise mit definierten Impedanzen
und/oder Leitungsabschlüssen beschäftigen.
Kevin B. schrieb:> Die Impedanz eines> eingangs ist ja in der Regel nicht 50Ohm
Deswegen muss ja die Leitung am Ende mit 50 Ohm abgeschlossen werden.
Genau gesagt, an beiden Enden, wobei am "Anfang" meistens ein Ausgang
mit 50 Ohm Innenwiderstand verwendet wird bzw. der gegebene
Innenwiderstand zu 50 Ohm ergänzt wird. Auf einer Leiterplatte und bei
100 MHz ist der Aufwand wahrscheinlich unnötig, zudem braucht eine
Leitung mit 50 Ohm eine Menge Leistung, die IOs eines Controllers
schaffen das normalerweise nicht. Noch dazu kommt am Ende nur die halbe
Spannung an (Spannungsteiler 50 -50 Ohm).
Die Frage ist auch, wieso 50 Ohm, viele Leitungen wie Ethernet oder USB
liegen eher bei 100 Ohm.
Georg
Georg schrieb:> Die Frage ist auch, wieso 50 Ohm, viele Leitungen wie Ethernet oder USB> liegen eher bei 100 Ohm.
Eben.
Deshalb muss man solche Systeme auch nicht auf 50 Ohm auslegen.
Evtl. überlastet das sogar den Ausgang des Treibers.
Für TTL-Leitungen waren z.B. 220||330 also ca 130 Ohm gebräuchlich (220
nach +5V und 330 nach GND).
Hochohmigere Systeme brauchen nicht nur weniger Leistung, sondern die
Leiterbahnen sind auch schmaler.
50 Ohm ist lediglich eine Konvention der HF-Messtechnik.
Früher waren in D 60 Ohm und im Antennenbau dämpfungsarme 75 Ohm üblich.
OK bei den Layouts, die ich mache liegt die Impedanz immer irgendwo bei
100Ohm. Muss dann also Kurs vor dem empfängerpin immer ein in dem Fall
100ohm widerstand? Das nimmt ja endlos Platz weg und die halbe Spannung
ist für den Empfänger sicher auch nicht unproblematisch.
Die Layouts die ich mit 100 Ohm Impedanz mache, nutzen differentielle
Übertragungsverfahren wie z.B. LVDS.
Dafür kann man die interne Terminierung im FPGA oder kleine
SMD-Widerstände nutzen.
Die Frage ist doch auch hier: Wie schnell läuft das Ganze (respektive
mit welcher Flankensteilheit) und wie groß sind die Abstände. Geht es
nur um ein paar cm auf dem Board oder muß man einmal quer über die
Backplane oder auf die andere Seite vom 19"-Rack.
Bernd schrieb:> Die Frage ist doch auch hier: Wie schnell läuft das Ganze (respektive> mit welcher Flankensteilheit) und wie groß sind die Abstände.
Richtig, vorher muß man da keine weiteren Gedanken verschwenden.
P. S. schrieb:> Solange die räumliche Ausdehnung der Schaltflanken nicht kürzer als die> ca. vierfache Leitungslänge ist
Unter "räumlicher Ausdehnung von Schaltflanken" kann ich mir nichts
vorstellen. Könntest du das näher erläutern?
Vielen Dank,
Markus
Kevin B. schrieb:> Ich würde gerne mal wissen wie wichtig definierte Impedanz bei> Digitalschaltungen ist. Es geht sich hier um eine FPGA Schaltung mit> Frequenzen bis 100MHz.
100MHz und FPGA deutet auf schnelle Flanken hin; je nach Typ liegen die
teilweise im Sub-ns-Bereich. Zumindest für Takte im synchronen Design
sind Terminierung relativ früh (u.U. ab einigen cm) sinnvoll. Synchron
abgetastete Daten sind weniger kritisch bez. Fehlfunktionen, allerdings
verbessert eine Terminierung bei denen auch das EMV-Verhalten.
> Wenn ich 50Ohm Leiterbahnen entwerfe sind die> groß, OK kann man durch lagenaufbau verkleinern.
Es gibt ja Berechnungstools und bei FPGA-Designs wird man eher nicht mit
1.6mm zweilagigen Platinen arbeiten. Also den Lagenaufbau sollte man
schon in Hinsicht auf mögliche Z-Leitungen definieren. Ob das jetzt 40Ω
oder 70Ω werden kann man durch die Wahl des Terminierungswiderstands
ausgleichen.
> Die Impedanz eines> eingangs ist ja in der Regel nicht 50Ohm. Ab wann wird kontrollierte> Impedanz also sinnvoll?
Meine Erfahrung ist, dass es sehr selten auf exakte 50Ω für die
Leiterimpedanz ankommt. Manchmal sind sie niedriger, manchmal höher.
Meines Erachtens sind 10-20% Fehlanpassung weitgehend unkritisch.
Sicher, die Pulse sind dann nicht wie im Bilderbuch, aber man will ja
unstetige Flanken und zu große Überschwinger vermeiden.
Kontrollierte Impedanz heißt auch, dass du dem Leiterplattenhersteller
für diese Leitungen die Impedanz vorgibst, nachdem du schon mal grob die
richtige Geometrie gewählt hast. Der weiß dann schon, wie er ggf.
nachkorrigieren muss, um den gewünschten Wert zu treffen. Kostest
vermutlich Aufpreis. Soweit musste ich für gute Ergebnisse trotzdem nie
gehen.
Natürlich sind die Eingänge der Senke nicht niederohmig; das müssen sie
auch nicht sein. Man macht hier eine einseitige Terminierung an der
Quelle mit einem möglichst nahe am Ausgangspin liegenden
Serienwiderstand. Ich bin in meinen Designs immer irgendwas zwischen 27Ω
und 36Ω ausgekommen - für 50Ω Z-Leitungen. Ob man niedrige oder höhere
Werte wählen muss, kann man a) ausmessen an einem Exemplar und b) aus
der Treiberstärke des Ausgangs grob ableiten. Für die meisten Ausgang
kann man so 15-25Ω ansetzen. Aber selbst der genannte Bereich wird nur
wenig unterschiedliche Ergebnisse liefern.
Das nennt sich Serienterminierung, man hat am Ende der Leitung ein
'Open' mit Totalreflexion, die dazu führt, dass man den vollen Pegel am
Eingang hat und die reflektierte Flanke wird an der Quellseite dann
geschluckt.
Georg schrieb:> Deswegen muss ja die Leitung am Ende mit 50 Ohm abgeschlossen werden.
Sicher nicht in Digitalschaltungen. Die gehen dann nicht mehr, weil sich
der Pegel halbiert hat.
Hp M. schrieb:> Deshalb muss man solche Systeme auch nicht auf 50 Ohm auslegen.
Muss man nicht; erwähnte ich ja. Ob 40Ω oder 70Ω ist relativ egal.
> Evtl. überlastet das sogar den Ausgang des Treibers.
Nein, tut es nicht, bei einer Serienterminierung mit 'Open' am Ende.
Kevin B. schrieb:> OK bei den Layouts, die ich mache liegt die Impedanz immer irgendwo bei> 100Ohm. Muss dann also Kurs vor dem empfängerpin immer ein in dem Fall> 100ohm widerstand?
Nein, am Ende kommt ein 'Open', kein Lastwiderstand.
Bernd schrieb:> Die Layouts die ich mit 100 Ohm Impedanz mache, nutzen differentielle> Übertragungsverfahren wie z.B. LVDS.
100Ω (oder was ähnliches in dem Bereich) für differentielle Leitungen.
50Ω oder was ähnliches für single ended Leitungen. Man hat eher selten
LVDS und viel häufiger einzelne Leitungen.
Markus schrieb:> P. S. schrieb:>> Solange die räumliche Ausdehnung der Schaltflanken nicht kürzer als die>> ca. vierfache Leitungslänge ist>> Unter "räumlicher Ausdehnung von Schaltflanken" kann ich mir nichts> vorstellen. Könntest du das näher erläutern?
Zu spät gesehen.
"Räumliche Ausdehnung der Schaltflanken" ist auch unglücklich
ausgedrückt.
Es geht darum, dass die Risetime bzw. Falltime eine Zeit ist, in der die
Wellen auf einer Leitung eine bestimmte Strecke zurücklegen. Man rechnet
mit
10-20cm/ns. Dauert also ein Flankenanstieg nur 1ns, so sollte die
Leitung spätestens ab ca. 5cm Länge terminiert werden.
Markus schrieb:> P. S. schrieb:>> Solange die räumliche Ausdehnung der Schaltflanken nicht kürzer als die>> ca. vierfache Leitungslänge ist>> Unter "räumlicher Ausdehnung von Schaltflanken" kann ich mir nichts> vorstellen. Könntest du das näher erläutern?
Die Rechtecksignale sind ja eigentlich nicht rechteckig, sondern
trapezförmig. Der Umschaltvorgang benötigt eine gewisse Zeit,
normalerweise als t_rise oder t_fall genannt.
Wenn du diese Zeiten kennst, kannst du über die
Ausbreitungsgeschwindigkeit - das ist im Freiraum die
Lichtgeschwindigkeit, auf Leiterkarten ist es die Lichtgeschwindigkeit
geteilt durch die relative Permittivität, bei FR4 liegt die
normalerweise irgendwo im Bereich 2...4, genaueres weiß dein
Leiterkartenfertiger - eine Strecke berechnen. Und diese Strecke ist die
räumliche Ausdehnung der Schaltflanke.
Wühlhase schrieb:> das ist im Freiraum die> Lichtgeschwindigkeit, auf Leiterkarten ist es die Lichtgeschwindigkeit> geteilt durch die relative Permittivität,
Korrektur: teile durch die Wurzel der Permittivität Epsilon_r. Bei FR4
ist das meist ≈4, so dass man als Ausbreitungsgeschwindigkeit mit ca.
15cm/ns rechnen kann.
Ich habe noch ein ganz brauchbares Papier gefunden:
https://homepages.thm.de/~hg7313/lehre/avt/skript/avt_hightechspeed_bg_kap2.pdf
Dort steht u.a. drin:
"Kritische Länge von Leiterbahnen auf LP: l = 5cm * t_r / ns
Das heißt, alle Signalleitungen, für die das Verhältnis Länge l geteilt
durch Signalanstiegsdauer tr größer als 5 cm /ns wird, sind als
kritische Leitungen für die Impulsübertragung einzustufen."
Leider steht auch drin:
"Wenn nun der Sender erneut schalten würde, bevor die reflektierte Welle
angekommen ist, käme es zu einer Kollision der Impulsfronten und damit
zu einer starken Störung des Nutzsignals."
Das ist imho falsch. Diese Impulsfronten würden sich ungestört
überlagern. Das würde ja heißen, dass die Leitungslänge schon
theoretisch durch schnelle Anstiegszeiten begrenzt würde. Dem ist nicht
so.
Siehe Anhang. Dort ist auch zu sehen, dass z.B. 20% falsche Terminierung
zwar sichtbar wird, in der Praxis aber noch keine Auswirkung haben wird.
Auch deshalb, weil die Eingänge eine unvermeidbare kapazitive Last
darstellen, die ein wenig 'bügelt'.
Markus schrieb:> P. S. schrieb:>> Solange die räumliche Ausdehnung der Schaltflanken nicht kürzer als die>> ca. vierfache Leitungslänge ist>> Unter "räumlicher Ausdehnung von Schaltflanken" kann ich mir nichts> vorstellen. Könntest du das näher erläutern?> Vielen Dank,> Markus
Gemeint ist wie "lange" eine Signalflanke in Metern ist. Also die Zeit,
die ein Signal für einen Pegelwechsel benötigt ("transition time" oder
"rise/fall time") multipliziert mit der
Signalausbreitungsgeschwindigkeit (in FR4 ca. 1,5*10^8 m/s bei
Innenlagen bzw. ca. 1,7*10^8 m/s bei Außenlagen).
HildeK schrieb:> Leider steht auch drin:> "Wenn nun der Sender erneut schalten würde, bevor die reflektierte Welle> angekommen ist, käme es zu einer Kollision der Impulsfronten und damit> zu einer starken Störung des Nutzsignals.">> Das ist imho falsch. Diese Impulsfronten würden sich ungestört> überlagern. Das würde ja heißen, dass die Leitungslänge schon> theoretisch durch schnelle Anstiegszeiten begrenzt würde. Dem ist nicht> so.
Doch, für Serienterminierung ist das schon richtig, da muß der Sender
warten bis die reflektierte Welle zurückkommt.
Und ja - deshalb ist die maximale Taktrate bei serienterminierten Bussen
begrenzt, nicht selten auf erstaunlich niedrige Werte.
Bei Parallelterminierung braucht der Sender nicht zu warten.
Wühlhase schrieb:> Doch, für Serienterminierung ist das schon richtig, da muß der Sender> warten bis die reflektierte Welle zurückkommt.
Definitiv nicht! Schau dir die LTSpice-Simulation an und da V(senke2)
mit richtiger Serienterminierung. Das sind mehr als 1m Leitung (9ns) bei
6.8ns Periodendauer bzw. 3.5ns Pulsdauer mit 100ps Flanken. Siehst du
ein Problem? Das sind rund 150 MHz!
Was insgesamt nicht geht ist ein Abgriff entlang der Leitung, also bei
Bussen. Nur bei beidseitiger Terminierung ist da überall ein sauberes
Signal abgreifbar.
Wenn lange Leitungen Probleme machen, dann sind es Dämpfung, Verluste
und unvermeidbare kapazitive Lasten, nicht aber die quellseitige
Terminierung.
Kevin B. schrieb:> Es geht sich hier um eine FPGA Schaltung mit> Frequenzen bis 100MHz. Wenn ich 50Ohm Leiterbahnen entwerfe sind die> groß, OK kann man durch lagenaufbau verkleinern. Die Impedanz eines> eingangs ist ja in der Regel nicht 50Ohm.
Einfach die Impedanz der Leitung erhöhen, z.B auf 100 Ohm. Die Leitung
nur an der Quelle abschließen, die Senke darf hochohmig (jedoch
möglichst kapazitätsfrei bzw. -arm) sein.