Hallo zusammen, um signalverfälschung durch Reflexion zu verhinder kann man ja bekanntlich einen Widerstand als Serienterminierung nutzen. Wie bekomme ich nun aber raus, welcher Widerstandswert für einen bestimmten IC geeignet ist? Kann ich das irgenwo im Datenblatt herauslesen, gibt es da bestimmte Werte für bestimmte Technologien oder wie geht man sonst am besten vor?
Wichtiger ist die Frage, welcher Bus verwendet wird, bzw. welche Leitung angeschlossen ist. Das IC ist dabei weniger von Belang, nur manchmal hat es einen definierten Innenwiderstand. Meistens muss der Innenwiderstand am Pin eingestellt werden, durch Zuschalten von R. Für nahezu jedes Bussystem gibt es "übliche" Werte des Abschlusswiderstandes. Wenn der Name des Bus bekannt ist, lässt sich vielleicht der übliche Wert ergoogeln.
Ok, nehmen wir mal an, ich möchte einen Datenbus terminieren (SDRAM). Was für Werte müsste ich da zur Terminierung nutzen und woher würde ich die bekommen (also die Begündung, warum es gerade die Werte sind). Ich hatte das bis jetzt so verstanden, dass eigentlich der Wellenwiderstand der Leitung ausschalggebend ist. Wenn ich nun einen Widerstand in Serie, meinetwegen zum Treiber schalte, so dass der Innenwiderstand des Teibers+der Terminierungswiderstand dem Wellenwiderstand entsprechen, dann sollte doch keine Reflexion (bzw. nur eine am Empfänger, die dann aber am Sender wieder absorbiert wird) auftrete, oder? Um diesen Widerstand aber nun zu berechnen bräuchte ich ja den Innenwiderstand des Treibers?
Der Treiber des IC ist im Allgemeinen recht niederohmig, da ja MOS-Schalter dafür verwendet werden. Reflexionen am Treiber sind dann eben unvermeidlich. Wenn die Datenrichtung aber nur vom Treiber weggeht, macht das nichts aus. Üblich ist es, am Ende des Bus den für den Bus typischen Widerstand anzuschließen, oft an halbe Betriebsspannung gelegt, damit die DC-Verluste gemindert werden. Solche Abschlusswiderstände findet man als 150-Ohm Widerstands-arrays auf schnellen PC-boards. Damit ist das Leitungsende reflexionsfrei ausgeführt, die Teilnehmer dazwischen sind recht hochohmig gehalten, sodass sie wenig Reflexion verursachen. manchmal wird ein 33 OHM-Widerstand längs in die Leitung geschaltet. Dieser Widerstand dämpft das Nutzsignal in erträglicher Weise, das reflektierte Signal deutlich stärker, da dieses zwei- oder mehrmals über den Widerstand läuft. der Widerstand stellt eine verlustbehaftete Leitung her. Diese Lösung ist bei kurzen Leitungen gut machbar, oft z.B. auf Steckkarten für PCs zu finden. Die Größe des Widerstands ist auf die Leiterbahnen des Bus abgestimmt, der Entschluss, welchen Wellenwiderstand die Leitungen haben sollen trifft der Systementwickler. Ich meine, meistens werden 150-Ohm-Leiterbahnen auf den Leiterplatten verwendet.
>Ich meine, meistens werden >150-Ohm-Leiterbahnen auf den Leiterplatten verwendet. Wohl eher 50-60 Ohm. Bei differentiellen liegt man im Bereich von 100-120 Ohm. Und, ich als Schaltungsentwickler entscheide darüber und nicht der Systementwickler! >manchmal wird ein 33 OHM-Widerstand längs in die Leitung geschaltet. >Dieser Widerstand dämpft das Nutzsignal in erträglicher Weise, das >reflektierte Signal deutlich stärker, da dieses zwei- oder mehrmals über >den Widerstand läuft. der Widerstand stellt eine verlustbehaftete >Leitung her. Diese Lösung ist bei kurzen Leitungen gut machbar, oft z.B. >auf Steckkarten für PCs zu finden. Ja, man verwendet diesen Widerstand. Aber die Erklärung dazu ist nicht korrekt. Er dämpft weder, noch ist er nur bei kurzen Leitungen zu gebrauchen. Dieser Widerstand passt zusammen mit dem Innenwiderstand der Quelle das Signal auf die Leitungsimpedanz an. Eine Signalflanke wird dadurch während der Bruchteile von Nanosekunden, in der sie von der Quelle zur Senke läuft, durch den Spannungsteiler aus Quellwiderstand+33 Ohm und der Leitungsimpedanz halbiert. Diese 33 Ohm müssen übrigens so nahe wie möglich an der Quellpin angeordnet werden. Am Ende der Leitung sitzt (in der Digitaltechnik) ein hochohmiger Eingang, das ist also ein sog. Leerlauf und erzeugt eine Totalreflektion dieser Flanke. Sie wird dabei doppelt so groß wie es die vorlaufende Flanke war. Genau das will man ja - den dort soll der volle Signalhub auftreten. Dieser reflektierte Teil läuft nun wieder zurück zu Quelle und trifft dort auf deren Quellwiderstand incl. der 33 Ohm. Da dies auf die Leitungsimpedanz passt, ergibt sich keine weitere Reflektion und der Vorgang ist abgeschlossen. Da kann man schön mit einem schnellen Skope messen, indem man irgendwo in der Leitung abgreift. Es ist eine Treppe zu sehen - um so deutlicher, je näher man auf der Quellseite misst. Diese Art der Terminierung hat Vor- und Nachteile. Der Vorteil ist, dass mit nur einem Widerstand eine Punkt-zu-Punkt-Verbindung sehr gut angepasst werden kann. Außerdem fließt im statischen Zustand kein Strom. Der Nachteil ist, dass es eben nur eine Punkt-zu-Punkt-Verbindung sein kann. Irgend ein zweiter Verbraucher wird die erwähnte Treppe sehen und das ist für ein Taktsignal nicht akzeptabel. Man kann, je nach innerem Quellwiderstand, zwei oder auch drei Leitungen mit je eigenen 33-Ohm-Widerständen noch verwenden; darüber hinaus wäre ein aktiver Verteiler empfehlenswert. Terminierung mit einem Widerstand am Ende sind natürlich elektrisch die richtige Art und das wird auch bei analogen Signalen (Antennen usw. ) gemacht. Leider ist die Signalamplitude dann nur noch halb so groß, das Signal ist aber überall auf der Leitung hochohmig abgreifbar (ohne Stichleitung!) und sauber. Bei DDR-RAMS wird häufig (aber nicht immer) eine aktive Terminierung vewendet - also ein Abschluss statt nach Masse auf die Schwellenspannung, meist die halbe Signalamplitude. Das bringt bessere Ergebnisse, da solche RAMs meist als zu mehreren an den Leitungen hängen und so gewisse Stichleitungen nicht vermeidbar sind. Speziell bei DIMMs, die ja z.B. im PC über Steckverbinder auch relativ weit weg von der CPU platziert sind, ist dies notwendig. Die Terminierungsspannung muss von einem Netzteil erzeugt werden, welches aber auch genauso Strom aufnehmen können muss, wie es ihn liefern können muss. Wenn du eine einfache Schaltung (CPU/FPGA + ein DRAM) in kleiner Entfernung (<5cm) anordnen kannst, dann vergiss die Terminierung - mit Ausnahme der Takte - deren Flanken müssen sauber sein. Da würde ich wieder auf die 33 Ohm verweisen. Dies hängt nicht von der verwendeten Taktfrequenz ab, sondern von der verwendeten Technologie: wie steil sind die Flanken meines Treibers! Bei Daten, die irgendwo in Datenmitte abgetastet werden, ist eine unsauber Flanke uninteressant, solange sie nicht in diesen Abtastpunkt hineinreichen. Natürlich ist der Wert 33 Ohm (ich habe ihn hier zu Identifikation verwendet) nicht absolut zu sehen. Die Wahl hängt vom Quellwiderstand ab und natürlich von der vorhandenen Leitungsimpedanz (dazu gibt es Rechner im Netz: Transmission Lines). Für normale CMOS-Signale (HC, AC FACT, LVC usw.) und auf normalen mehrlagigen Platinen mit Leitungen um 0.2mm (und kleiner) sowie Masseflächen sind aber die 33 Ohm eine gute Wahl. Bei kräftigen Treiben sollte man ev. etwas höher gehen - bis etwa 43 Ohm. Die Werte sind selten wirklich kritisch - kritisch ist nur, wenn sie durch 0 Ohm ersetzt werden. >Um diesen Widerstand aber nun zu berechnen bräuchte ich >ja den Innenwiderstand des Treibers? Strenggenommen ja. Aber vielleicht kennst du die Berechnung des Reflexionsfaktors von fehlabgeschlossenen Leitungen. Mach da mal die Annahme, dass der innere Quellwiderstand 15 Ohm sei und verändere ihn auf 10 oder 20. Nimm aussen die genannten 33 Ohm und eine 50 Ohm Leitung, am Ende offen. Vergleiche die Ergebnisse und versuche vor allem, die Amplitude des dann wieder quellseitig erneut reflektierten Signalanteils zu bestimmen, der dann deinen Eingang stören könnte. Vergleiche diese Werte mit der Luft, die dein Eingang noch hat, um wieder die Schwelle zum Umschalten zu überschreiten. Es ist nicht wirklich kritisch. Ich habe auf ganzen Platinen immer den selben Wert verwendet (27 Ohm übrigens) - unabhängig vom Treiber und ohne zu Forschen, wie es im IC aussieht. Gut, anfangs habe ich mit unterschiedlichen Widerständen gemessen. Da die Unterschiede aber zu gering waren, habe ich mir das später erspart! Natürlich wurde die Leitungsgeometrie entsprechend des Platinenaufbaus auf rund 50 Ohm berechnet. War zu lange - zugegeben ...
Bei einigen Datenblättern findet man Kurven, aus denen man den Ausgangswiderand ablesen kann. Beim Atmel Mega48 sind es bei 5 V z.B. etwa 20-30 Ohm und etwas mehr bei weniger Spannung. Der Ausgangswiderstand kann je nach Chip auch unsymetrisch sein zwischen H und L Ausgangspegel. Eine perfekte Terminierung ist bei Digitalsignalen auch nicht so wichtig wie bei analogen Signalen.
@HildeK vielen Dank für die ausführliche Beschreibung. Hab es jetzt denke ich vollständig begriffen. Nur noch eine Frage, du schreibst, dass mann beim Taktsignal von DDR-RAMS eine serienterminierung von 33 Ohm vornehmen sollte. Wenn ich aber nun mehrere DDR-RAMS an einem Taktsignal dranhänge wäre doch eine Parllelterminierung auf halbe Signalamplitude besser geeigent oder?
@ liefers (Gast) >aber nun mehrere DDR-RAMS an einem Taktsignal dranhänge wäre doch eine >Parllelterminierung auf halbe Signalamplitude besser geeigent oder? Taktleitungen sollten nie mit Serienterminierung betrieben werden. Warum? Siehe Artikel Wellenwiderstand. Mfg Falk
>Wenn ich >aber nun mehrere DDR-RAMS an einem Taktsignal dranhänge wäre doch eine >Parllelterminierung auf halbe Signalamplitude besser geeigent oder? Ja, bei mehr als einem RAM ist das der richtige Weg. Auf der Quellenseite würde ich trotzdem Serien-Widerstände vorsehen, mit wenigen Ohm (10-20) bestücken - die bringen manchmal noch eine Signalverbesserung (auf Kosten der Amplitude). Und ein 0-Ohm-Widerstand ist als Brücke auch möglich. Übrigens, achte auf das Layout: Quelle --> (ev. Rs) --> DDRRAM1 --> DDRRAM2 --> 50 Ohm --> Term.-Spannungsquelle. Schön der Reihe nach und ohne Stichleitungen verdrahten. Ich habe es, glaube ich, schon mal gesagt: bei aktiver Terminierung muss die Spannungsquelle auch Strom aufnehmen können. Falk Brunner (falk) schrieb: >Taktleitungen sollten nie mit Serienterminierung betrieben werden. Diese Aussage ist so, wie sie hier so alleine steht, schlichtweg falsch! Auch im verlinkten Artikel stehen Zusätze. Meine Erfahrung: - Taktleitungen sind kritisch und sollten idealerweise immer PtP-Verbindungen sein - mit quellseitiger Serienterminierung - bei geeigneter Treiberstärke notwendigem Betrieb mehrere Verbraucher an einem Takt (DDRRAM) ist die Parallelterminierung besser. - bei geeigneter Treiberstärke (niederohmige Quelle) kann dieser auch zwei oder drei Taktleitungen treiben - jede für sich mit einem eigenen Serienwiderstand. - die Notwendigkeit einer Terminierung bei gegebener Leitungslänge hängt ab von der Flankensteilheit des Taktsignals und von der Geschwindigkeit (Bandbreite) des Empfängers. Mit der Betrachtung kann auch der maximale Abstand zweier Empfänger (wenn es denn anders gar nicht gehen sollte) an einer serienterminierten Leitung bestimmt werden.
@ HildeK (Gast) >>Taktleitungen sollten nie mit Serienterminierung betrieben werden. >Diese Aussage ist so, wie sie hier so alleine steht, schlichtweg falsch! Jain. Ich bezog mich auf mehrere Taktempänger auf einer Leitung, aka Multidrop. >- bei geeigneter Treiberstärke notwendigem Betrieb mehrere Verbraucher >an einem Takt (DDRRAM) ist die Parallelterminierung besser. Notwendig! Sonst gibt es Treppenstufen auf dem Signal -> Viel Spass! Der Rest steht alles im Artikel. MFG Falk
Ich schliesse meine Frage hier an, weil sie dazu passt, denke ich: Ich benutze einen programmierbaren Taktgenerator mit 50MHz, der durch einen Quarz ersetzt werden soll und zwei parallel geschaltete Chips takten muss. Momentan ist garnichts verwendet und ich hatte eine Serienterminierung mit 33R nahe am Taktgeber hin zu dem ersten Chip vorgesehen. Nun, da ich das Thema erblickt habe, bin ich geneigt, eine 2. Leitung aufzumachen und den 2. Chip ähnlich zu verschalten, also so: Taktgeber---R33--------------------- Chip 1 | |--R33-------------------- Chip 2 Ist das richtig, jeweils 33R zu nehmen, oder müsste ich auf 66R gehen? Wie vedrahte ich dann einen den Quarz? Zum Schwingen bringen kann ihn ja nur ein Chip. Kann ich den zweiten einfach dranhängen? ChipClockOut ---- Quarz ------ ChipClockIn1 | |--R33--------------- Chip 2 oder muss ich einen Treiber dranhängen? Ich fürchte nämlich, der Quarz ist nicht niederohmig genug.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.