Forum: Mikrocontroller und Digitale Elektronik Serienwiderstand für Serienterminierung bestimmen


von G. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich verwende den IC SN74LV07A, einen nicht-invertierender Treiber, 
dessen Ausgang oben-drain ist. Er soll über ein USB-Kabel mit einer 
anderen Platine kommunizieren. Um das Problem mit dem 
Wellenwiderstand zu lösen, möchte ich eine Serienterminierung 
vornehmen. Dazu muss Rs = Rz minus den Innenwiderstand der Quelle sein. 
Ich weiß nicht ob ich nun blind bin, aber ich finde ihn nicht im 
Datenblatt.
http://www.ti.com/lit/ds/symlink/sn74lv07a.pdf

Oder kann ich ihn aus einen der vielen Spannungs- und Stromangaben 
errechnen?

von Anja (Gast)


Lesenswert?

Hallo,

Der steht in irgendeinem Baustein-Family Handbook.
Aber mit einem Open Drain wird das nix.
Da sind die Innenwiderstände zwischen high und low Zustand zu 
unterschiedlich.

Gruß Anja

von G. (Gast)


Lesenswert?

Anja schrieb:
> Da sind die Innenwiderstände zwischen high und low Zustand zu
> unterschiedlich.

Wie meinst du das? Ich wäre davon ausgegangen, dass sie bei high im 
MΩ-Bereich liegen würden und bei low irgendwo zw. 15..50Ω. Also so wie 
bei einem normalen IC auch.

von G. (Gast)


Lesenswert?

Moment mal.... ich habe da etwas durcheinander gebracht. Die MΩ sind ja 
auf der Seite von Eingängen. Nicht von Ausgängen.

Verstehen tuh ich es aber trotzdem nicht.

von Possetitjel (Gast)


Lesenswert?

G. schrieb:

> ich verwende den IC SN74LV07A, einen nicht-invertierender
> Treiber, dessen Ausgang oben-drain ist. Er soll über ein
> USB-Kabel mit einer anderen Platine kommunizieren. Um das
> Problem mit dem Wellenwiderstand zu lösen, möchte ich eine
> Serienterminierung vornehmen. Dazu muss Rs = Rz minus den
> Innenwiderstand der Quelle sein.

Hmmm. Ich würde das wesentlich hemdsärmeliger versuchen:
Am Empfänger mit einem Pullup terminieren, und am Sender
den Open-Drain-Treiber und weiter nix.

Senderseite ist so zwar total fehlangepasst, weil sie je
nach Zustand zwischen Kurzschluss und Leerlauf schwankt;
das dürfte aber nicht stören, weil die Empfangsseite
korrekt abgeschlossen ist und somit keine Reflexionen
auftreten. Speisung des Senders über das Kabel und den
Pullup.

Nachteil: Bei L fließen dauernd 37mA.

von HildeK (Gast)


Lesenswert?

Anja schrieb:
> Aber mit einem Open Drain wird das nix.

Da hat Anja natürlich vollkommen recht. Oder der Pullup müsste auch rund 
20Ω haben, aber dann gibt es kein brauchbares LOW mehr.
Nimm lieber einen normalen Treiber - keinen mit Open-Drain.
Dann kannst du einfach einen Serienwiderstand mit Z-(15..20Ω) nehmen. 
Also bei einem 50Ω-Kabel passen 33Ω sehr gut.

Wenn du beim Empfänger den Open-Drain benötigst, dann gehe dort auf 
einen LV125 und verbinde dessen Eingang und seinen OE-Pin miteinander. 
Bei Low am Eingang hast du am Ausgang vom LV125 treibend Low und bei 
High-Input dann Hi-Z am Ausgang.

von Joe F. (easylife)


Lesenswert?

HildeK schrieb:
> Nimm lieber einen normalen Treiber - keinen mit Open-Drain.
> Dann kannst du einfach einen Serienwiderstand mit Z-(15..20Ω) nehmen.
> Also bei einem 50Ω-Kabel passen 33Ω sehr gut.

z.B. SN74LV541A

USB Kabel hat übrigens 90 Ohm.

von G. (Gast)


Lesenswert?

HildeK schrieb:
> Da hat Anja natürlich vollkommen recht. Oder der Pullup müsste auch rund
> 20Ω haben

Ich hätte ja kein so großes Problem mich von meinem Gedanken mit dem 
open-drain zu verabschieden. Aber ich verstehe nicht, warum ihr meint, 
dass das nicht geht. Etwa weil die Flanke nach high dann nicht schnell 
genug ist? Laut Datenblatt soll der chip max. 13ns brauchen (bei 3V3).

von Georg (Gast)


Lesenswert?

Joe F. schrieb:
> USB Kabel hat übrigens 90 Ohm

Differentiell. Hat hier überhaupt nichts zu sagen.

Georg

von W.A. (Gast)


Lesenswert?

G. schrieb:
> Moment mal.... ich habe da etwas durcheinander gebracht. Die MΩ sind ja
> auf der Seite von Eingängen.

Bei Open-Drain hast du bei high schon Recht mit MΩ-Bereich. Open Drain 
heißt, dass der Ausgang sich bei high im high-Z Zustand befindet.

von G. (Gast)


Lesenswert?

Georg schrieb:
> Joe F. schrieb:
>> USB Kabel hat übrigens 90 Ohm
> Differentiell. Hat hier überhaupt nichts zu sagen.

Ich bin allerdings auch davon ausgegangen, dass ich Rs dann an die 90Ω 
anpassen müsste. Es heißt doch schließlich Rs=Rz-Ri?

von Marian (phiarc) Benutzerseite


Lesenswert?

G. schrieb:
> Georg schrieb:
>> Joe F. schrieb:
>>> USB Kabel hat übrigens 90 Ohm
>> Differentiell. Hat hier überhaupt nichts zu sagen.
>
> Ich bin allerdings auch davon ausgegangen, dass ich Rs dann an die 90Ω
> anpassen müsste. Es heißt doch schließlich Rs=Rz-Ri?

Ich vermute mal, dass der diff. Wellenwiderstand (zwischen D+ und D-) 
und der Wellenwiderstand zwischen D+/D- und GND sehr unterschiedlich 
sein wird. D+ und D- sind ja ein verdrilltes Adernpaar, D+ und GND 
nicht. Also völlig andere Geometrie im Kabel.

von Georg (Gast)


Lesenswert?

G. schrieb:
> Ich bin allerdings auch davon ausgegangen, dass ich Rs dann an die 90Ω
> anpassen müsste

Nein, bei einer einzelnen Leitung eher an 45 Ohm.

Georg

von HildeK (Gast)


Lesenswert?

G. schrieb:
> Ich hätte ja kein so großes Problem mich von meinem Gedanken mit dem
> open-drain zu verabschieden. Aber ich verstehe nicht, warum ihr meint,
> dass das nicht geht.

1. ich glaube nicht, dass der IC einen Pullup mit ca 50Ω (oder weniger, 
man hat ja festgestellt, dass die 90Ω die differentielle Impedanz ist) 
noch ordentlich nach Null ziehen kann.
2. wenn doch, dann muss er sehr kräftig und niederohmig sein. Sonst gibt 
es kein LOW mehr am Ausgang.
3. bei LOW hast du R81 als Serienterminierung. Der Innenwiderstand der 
Quelle hat ca. 15...20Ω, parallel dazu liegt R82 (wechselstrommäßig), 
also tatsächlich 15Ω||R82+R81. Bei HIGH hast du R81+R82. Jetzt kannst du 
die Widerstände so wählen, dass R81=R82≈1.5*Z ist, dann bist du mit 
jeder Flanke noch am nächsten dran am tatsächlichen Wellenwiderstand.
(Die Parallelschaltung rührt daher, dass man hier wechseltrommäßige 
Betrachtungen ansetzen muss und dabei sind die Spannungsquellen 
kurzgeschlossen - wenn es nicht klar ist, male es dir auf)
4. Natürlich ist auch ein Push-Pull-Treiber nicht ideal und hat etwas 
unterschiedliche Innenwiderstände bei HIGH und bei LOW, aber das fällt 
dann nicht mehr auf. 10..20% Fehlanpassung machen bei Digitalsignalen 
keinen Ärger.

Habe ich es übersehen oder hast du es noch nicht genannt: was sind das 
für Signale, die du übertragen musst? Möglicherweise etwas recht 
langsames? Woher kommt der Wunsch nach einem Open-Drain-Treiber?
Wenn ich so an I²C denke in dem Zusammenhang: der Pullup wäre zu 
niederohmig, es ist die negative Flanke wichtig, die positive Flanke ist 
eh langsam. Mit einem 33Ω Serien-R könnte man die negative (schnellere) 
Flanke dann anpassen.

von Dunst (Gast)


Lesenswert?

Da ein USB Kabel ein differentielles Kabel ist, sollte man auch 
differentiell kommunizieren, sonst ward das nichts. Was sollte man mit 
dem 2. Leiter tun ? offen lassen ? Fuer den Rueckkanal verwenden ?

von Oldie (Gast)


Lesenswert?

Hier gibts viele hilfswillige Menschen, die dir korrekt
antworten, dass man optimal einen Quellwiderstand R_q hat,
der gleich der Leitungsimpedanz R_l ist und dass dann am
Empfangspunkt R_e auch dieser Widerstand wirksam sein muss.

Bei deinem Problem ist der o.C. aber KEIN PROBLEM!

Grundsätzlich ist es zur Vermeidung von Reflexionen nur wichtig,
dass die Abschluss-Impedanz R_e gleich der Leitungsimpedanz R_l
st!

Ist der Empfänger hochohmig, schaltet man einen R_e = R_l
als PARALLELEN ABSCHLUSS direkt vor den Empfangsbaustein
und ALLES IST GUT!

Welche Impedanz R_l ein Signalleiter in deinem USB-Kabel gegen
den Schirm = Masse hat, wirst du wissen, wenn du den optimalen
Abschluss gefunden hast. Probierst du 50 Ohm, bist du nicht
sehr weit vom Optimum entfernt. ;-)

von HildeK (Gast)


Lesenswert?

Oldie schrieb:
> Grundsätzlich ist es zur Vermeidung von Reflexionen nur wichtig,
> dass die Abschluss-Impedanz R_e gleich der Leitungsimpedanz R_l
> st!
Das ist im Allgemeinen nicht falsch.

> Ist der Empfänger hochohmig, schaltet man einen R_e = R_l
> als PARALLELEN ABSCHLUSS direkt vor den Empfangsbaustein
> und ALLES IST GUT!
Das geht aber bei digitalen Signalen nicht. Eine normale, digitale 
Quelle kann seltenst einen 50Ω-Abschluss treiben. Und bei einem 
OC-System mit PullUp erst recht nicht. Also: nichts ist gut!

von Georg (Gast)


Lesenswert?

HildeK schrieb:
> Das geht aber bei digitalen Signalen nicht.

Mit digital hat das überhaupt nichts zu tun, sondern mit der 
Leistungsfähigkeit des Treibers. Für 5V-Signale an 50 Ohm braucht man 
Treiber mit 100 mA, das kann ein normaler LS, HC oder HCT nicht. Dafür 
kann man z.B. einen SN74128 nehmen, gibt noch viele andere.

Georg

von Possetitjel (Gast)


Lesenswert?

HildeK schrieb:

>> Ist der Empfänger hochohmig, schaltet man einen R_e = R_l
>> als PARALLELEN ABSCHLUSS direkt vor den Empfangsbaustein
>> und ALLES IST GUT!
>
> Das geht aber bei digitalen Signalen nicht.

???

> Eine normale, digitale Quelle kann seltenst einen 50Ω-Abschluss
> treiben.

Das ist ein Problem der Dimensionierung, nicht des Schaltungs-
prinzipes.

> Und bei einem OC-System mit PullUp erst recht nicht.

???

Der Treiber muss bei Low einen ziemlich großen (Dauer-)Strom
aufnehmen, das ist richtig. Auf diesen Nachteil hatte ich
übrigens im 5. Beitrag dieser Diskussion schon hingewiesen.

Auffälligerweise kann der historische 7406 einen Ausgangsstrom
von 30mA aufnehmen; zusammen mit 100 Ohm Wellenwiderstand (Flach-
kabel) gibt das 3V Hub...

von Marian (phiarc) Benutzerseite


Lesenswert?

Bei langsamen Signalen, aber schnellen Flanken, lohnt es sich über 
AC-Terminierung nachzudenken...

von G. (Gast)


Lesenswert?

Ich danke euch recht herzlich für die vielen Antworten. Aufgrund eurer 
Tipps werde ich nun besser einen "normalen" push-pull Ausgang verwenden, 
anstatt einen open-collector.

Da sich nun wegen der richtigen Wahl der Terminierung ein weiteres 
Problem offenbart hat, möchte ich dieses besser in einem neuen thread 
besprechen (sonst geriet hier alles unnötig durcheinander):
[[Serienterminierung: gilt der Wellenwiderstand NUR für spezielle 
Adernpaare?]]

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.