Forum: Mikrocontroller und Digitale Elektronik Terminierung bidirektione Leitung


von Ralph T. (programinator)


Angehängte Dateien:

Lesenswert?

Moin,

ich brauche mal wieder eure Hilfe.

Ich sitze hier gerade an einem Konzept für eine universelle 
Hardwareplattform für unsere kommenden Produkte. Grundlage hierfür ist 
die Trennung der Leiterplatte in ein allgemeines Mainboard und ein 
produktspezifisches Interfaceboard (siehe Prinzip.png).
Auf dem Mainboard befindet sich eine CPU sowie ein FPGA, der die CPU mit 
dem Interfaceboard über einen Connector mit begrenzter Pinzahl 
verbindet. In erster Linie sind dies unidirektionale single-ended 
Leitungen, deren Datenrichtung sich aus der Kombination aus Main- und 
Interfaceboards mit unterschiedlicher Funktionalität ergibt. Dies hat 
zur Folge, dass die Richtung der einzelnen Pins auf dem Stecker 
wechselt. D.h. der FPGA ist an Pin1 mal Ein- und mal Ausgang.
Nur wie realisiere ich in diesem Fall eine anständige Terminierung? Ich 
kann und darf auf dem Mainboard keinem Pin eine feste Richtung vorgeben 
und somit auch keine Serienwiderstände setzen.
Sowohl Board als auch Stecker sind auf 50R ausgelegt. Der FPGA bietet 
leider keine Möglichkeit der internen Terminierung.
Das zweite angehängte Bild ist eine fixe Idee wie wir aus zwei Pins am 
FPGA uns wahlweise einen Serienwiederstand "hinzuschalten" könnten. Im 
oberen Teil treibt der FPGA über einen Serienwiderstand, der Eingang im 
FPGA ist hochohmig. Im unteren Teil ist der FPGA die Senke. Der Ausgang 
ist hierbei hochohmig, so dass der Serienwiderstand am FPGA keinen 
Einfluss hat.
Kann das funktionieren bzw. hat das vielleicht schon mal jemand gemacht?

Vielen Dank (für jede ernst gemeinte Antwort)

von Falk B. (falk)


Lesenswert?

@Ralph T. (programinator)

>kann und darf auf dem Mainboard keinem Pin eine feste Richtung vorgeben
>und somit auch keine Serienwiderstände setzen.

Doch, das kann man. Die sind im Falle eines Ausgangs wirksam und im Fall 
eines Eingangs nur wenig wirksam.

>Das zweite angehängte Bild ist eine fixe Idee wie wir aus zwei Pins am
>FPGA uns wahlweise einen Serienwiederstand "hinzuschalten" könnten.

Würde ich nicht machen, nicht nur, weil man die hälfte der Pins 
verschwendet. Bei richig hohen Datenraten bzw. kurzen Anstiegszeiten 
willst du nicht mit Stichleitungen etc. arbeiten.

Bei RAMs macht man manchmal die Serienterminierung in die Mitte der 
Datenleitungen, wenn diese nicht allzu lang sind, sprich, ein paar cm. 
Das ist ein Kompromiss, der erstaunlich gut funktioniert, auch wenn die 
Theorie eher dagegen spricht.

von HildeK (Gast)


Lesenswert?

Die Serienterminierung wirkt so, dass sie die Quelle an die Leitung 
anpasst. Wegen der Logikpegel arbeitet man aber am Ende der Leitung auf 
Leerlauf bzw. Totalreflexion. Daher spielt ein dort vorhandener 
Serienterminierungswiderstand keine Rolle. Theorie: Unendlich + 50Ω 
bleibt unendlich.

Beachte bei der Wahl der Serienwiderstände, dass die Ausgänge selbst 
keine 0Ω haben, so dass für eine 50Ω-Leitung z.B. 33Ω als 
Serienwiderstand ein guter Anfangswert ist. Ich betone das, weil im Bild 
Terminierung.png 50Ω eingezeichnet sind.
Beachte auch, dass die so terminierten Leitungen keine Abzweige haben 
dürfen, also nur reine Punkt-zu-Punktverbindungen da sein sollten. Gut, 
zwei, drei Empfangspins im Abstand von vielleicht 1cm sind meist kein 
Problem.

von Ralph T. (programinator)


Lesenswert?

Falk B. schrieb:
> Doch, das kann man. Die sind im Falle eines Ausgangs wirksam und im Fall
> eines Eingangs nur wenig wirksam.
Erschreckend simpel. Habe ich mit Spice nachvollziehen können

Falk B. schrieb:
> Bei RAMs macht man manchmal die Serienterminierung in die Mitte der
> Datenleitungen, wenn diese nicht allzu lang sind, sprich, ein paar cm.
> Das ist ein Kompromiss, der erstaunlich gut funktioniert, auch wenn die
> Theorie eher dagegen spricht.
Kommt es da nicht zu Problemen mit Over-/Undershoots wenn der Abstand 
zum Serienwiderstand größer ist als die kritische Leitungslänge?

HildeK schrieb:
> Daher spielt ein dort vorhandener
> Serienterminierungswiderstand keine Rolle. Theorie: Unendlich + 50Ω
> bleibt unendlich.
Da hätte ich auch selbst drauf kommnen können :-)

HildeK schrieb:
> Beachte bei der Wahl der Serienwiderstände, dass die Ausgänge selbst
> keine 0Ω haben
Stimmt schon. Die eingezeichneten 50R sind nur stellvertretend für einen 
Serienwiderstand


Euch beiden vielen Dank für die schnelle und kompetente Hilfe

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.