Forum: Analoge Elektronik und Schaltungstechnik TTL-Signal galv. getrennt über LVDS: Verständnisfrage


von C3P0 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo liebes Forum,

ich habe hier Probleme eine LVDS-Schaltung in Betrieb zu bekommen. Habe 
wahrscheinlich einen stupiden Anfängerfehler eingebaut.

Ich möchte um 2 Systeme mit einander zu synchronisieren (100Hz-Signal), 
ein CPLD-Takt, als TTL-Signal an ein anderes System anschliessen. Um 
jetzt auch größere Übertragungsstrecken störungsfrei zu übertragen, habe 
ich an LVDS gedacht.

Das ganz habe ich aufgebaut, wie in der .SCH im Anhang zu sehen.

Der Ausgang des CPLDs bekommt noch einmal einen Leitungstreiber 
spendiert und geht dann zur galv. Trennung und zur Invertierung 
(benötige das CPLD-Signal invertiert am Empfänger) auf einen 
Optokoppler. Der Leitungstreiber und der Eingang des Optokopplers hängen 
noch am selben GND des Sendesystems. Der Ausgang des Optokopplers hängt 
dann an einem galv. getrennten DC-DC-Wandler (5V-5V) Die 5V-VCC des 
DCDC-Wandlers kommen von der Platine des Sendesystems. Wie man sieht 
hängt dann sowohl der Ausgang des Optokopplers als auch der LVDS-Treiber 
an der galv. getrennten Masse des DCDC-Wandlers.

Bis hierhin funzt das auch alles wunderbar, der LVDS-Sender spuckt die 
korrekten Signale aus.

Nun gibt es eine Empfängerplatine mit dem LVDS-Receiver drauf. Dieser 
wird nun mit 5V und GND aus dem Empfängersystem versorgt.

Soweit so gut.

Verbinde ich jetzt allerdings +O1 und -O1 des LVDS-Treibers mit +I1 und 
-I1 des Empfängers bekomme ich nicht das gewünschte 5V-TTL-Signal 
(100Hz) raus, der LVDS-Empfänger hängt am Ausgang auf konstant 5V?!

Die ganze Schaltung funktioniert erst, wenn ich den Empfänger-LVDS mit 
dem selben VCC und dem selben GND des LVDS-Senders verbinde (+5V_out1, 
GND_out1). Also komplett von dem Empfängersystem trenne. Dann spuckt 
auch der LVDS-Empfänger das korrekt zusammengesetzte LVDS-Signal wieder 
aus (5V, 100Hz). Woran liegt das?

Muss ich jetzt VCC und GND aus meinem Sendersystem mit an den Empfänger 
führen? Das sollte ja nicht Sinn der Sache sein?!

Über Antworten würde ich mich freuen!

MfG
C3

von Erich (Gast)


Lesenswert?

Hmmm, ziemlich grosser Zauber für 100 Hz.
Oder meinst du 100 MHz ?

Für 100 Hz sollte Trennung über simple Optokoppler ausreichen.

Nimm mal GOOGLE und Suche:  stromschleife optokoppler
                            stromschleife optokoppler Schaltbild
mit Einstellung "Bildersuche"

Ggf. kann man über einen schnellen Optokoppler nachdenken, wie HCPL-2601 
o.ä.

Gruss

von C3P0 (Gast)


Lesenswert?

Die 100Hz sind nur der Defaultwert, es können bis zu 10kHz 
werden...Immer noch kleine Frequenzen, ich weiss :)

Mich würde aber eher interessieren wieso meine Schaltung nicht 
funktionert, abgesehn davon ob Sie überdimensioniert ist...

von Falk B. (falk)


Lesenswert?

@  C3P0 (Gast)

>Ich möchte um 2 Systeme mit einander zu synchronisieren (100Hz-Signal),
>ein CPLD-Takt, als TTL-Signal an ein anderes System anschliessen. Um
>jetzt auch größere Übertragungsstrecken störungsfrei zu übertragen, habe
>ich an LVDS gedacht.

Was ist bei dir größer? 1m? 100m?

LVDS ist bestenfalls was für einige Meter, der 
Gleichtaktaussteuerbereich (was für ein Wort) ist bestenfalls 1V. RS485 
hat +12/-7V. Für 100 Hz, selbst wenn sie auf 10ns genau sein sollen, 
reicht da RS485.

>Der Ausgang des CPLDs bekommt noch einmal einen Leitungstreiber
>spendiert

Nobel geht die Welt zu grunde. Klingt alles sehr akademisch.

>hängt dann sowohl der Ausgang des Optokopplers als auch der LVDS-Treiber
>an der galv. getrennten Masse des DCDC-Wandlers.

Ja.

>Nun gibt es eine Empfängerplatine mit dem LVDS-Receiver drauf. Dieser
>wird nun mit 5V und GND aus dem Empfängersystem versorgt.

>Verbinde ich jetzt allerdings +O1 und -O1 des LVDS-Treibers mit +I1 und
>-I1 des Empfängers bekomme ich nicht das gewünschte 5V-TTL-Signal
>(100Hz) raus, der LVDS-Empfänger hängt am Ausgang auf konstant 5V?!

Und was ist mit der galvanisch getrennten Masse? Die musst du mitführen! 
Einer der großen Irtümer, dass differentielle Übertragung ohne Masse 
auskäme. Dem ist nicht so!

>Die ganze Schaltung funktioniert erst, wenn ich den Empfänger-LVDS mit
>dem selben VCC und dem selben GND des LVDS-Senders verbinde (+5V_out1,
>GND_out1).

GND_out1 reicht.

MfG
Falk

von C3P0 (Gast)


Lesenswert?

Danke Falk, werde ich gleich morgen ausprobieren...

Der HCT-Treiber ist eigenlich nur dazu gedacht, den CPLD nicht unnötig 
zu belasten und ihn vom Optokopller zu "entkoppeln"...kann ich mir den 
HCT125 komplett sparen?

Kannst du mir noch einmal erklären, warum ich GND_out1 benötige, gerne 
auch akademisch :)

Falk Brunner schrieb:
> Was ist bei dir größer? 1m? 100m?

10-20m wollte ich damit überbrücken...LVDS nicht geeignet?

von W.S. (Gast)


Lesenswert?

C3P0 schrieb:
> Kannst du mir noch einmal erklären, warum ich GND_out1 benötige, gerne
> auch akademisch :)

So ein LVDS-Empfänger hat nur einen begrenzten Gleichtakt-Bereich, in 
dem seine Eingänge funktionieren. Deshalb.

W.S.

von Falk B. (falk)


Lesenswert?

@  C3P0 (Gast)

>Der HCT-Treiber ist eigenlich nur dazu gedacht, den CPLD nicht unnötig
>zu belasten

Ach der Arme ;-) Die 6mA liefert der locker.

>und ihn vom Optokopller zu "entkoppeln"...kann ich mir den
>HCT125 komplett sparen?

Ja.

>Kannst du mir noch einmal erklären, warum ich GND_out1 benötige, gerne
>auch akademisch :)

Weil LVDS nicht potentialfrei ist, "nur" differentiell. Da braucht man 
die Masse, damit der Gleichtaktbereich der Spannung definiert ist. Die 
Empfänger sind zwar differentiell, haben aber wie bereits gesagt nur 
einen eher kleinen Gleichtaktbereich. Sprich, die Spannung an den 
Eingängen muss 1,25V +/-1V betragen, dann kann die Differenz sauber 
erkannt werden. Wenn dort wegen Masseverschiebung plötzlich 5V Offset 
drauf sind, fahren die Empfänger in die Ecke. Ebenso wenn keine 
Masseverbindung besteht, dann ist die Gleichtaktspannung nur sehr 
schwach über irgendwelche Leckströme und undefinierten Innenwiderstände 
festgelegt. Nicht gut. Auch nicht bei RS485.

>10-20m wollte ich damit überbrücken...LVDS nicht geeignet?

HDMI & Co nehmen es auch über mehrere Meter, dann aber mit guten 
Erdungsverhältnissen. Wozu LVDS? Für 100 Hz tut es RS485 deutlich 
besser, weil robuster. Wozu die galvanische Trennung?

von C3P0 (Gast)


Lesenswert?

Falk Brunner schrieb:
> HDMI & Co nehmen es auch über mehrere Meter, dann aber mit guten
> Erdungsverhältnissen. Wozu LVDS? Für 100 Hz tut es RS485 deutlich
> besser, weil robuster. Wozu die galvanische Trennung?

Nunja, das war wohl eben genau mein Denkfehler. Ich dachte an LVDS, weil 
hier eben nicht (Irrtum) massebezogen Übertragen wird, sondern 
"potentialfrei". Ich dachte, dann muss ich mich um gute 
Masseverhältnisse nicht kümmern :)

Zur galvanischen Trennung: Sollte sich auf meinem Übertragungsweg eine 
Störung einkoppeln, kann diese so nicht bis an meine Sender-Hardware 
(z.B. bis zum CPLD) gelangen. Oder bin ich hier auch wieder aufm 
Holzweg?

von Falk B. (falk)


Lesenswert?

@  C3P0 (Gast)

>Zur galvanischen Trennung: Sollte sich auf meinem Übertragungsweg eine
>Störung einkoppeln, kann diese so nicht bis an meine Sender-Hardware
>(z.B. bis zum CPLD) gelangen.

Im Prinzip ja, aber die Sender sind meist nicht das Problem bei 
Störeinkopplungen, eher die Empfänger. Und warum glaubst du, dass das 
soooo massiv Störungen einkopplen? Wie sieht das Umfeld des 
Übertragungswegs aus? Große Maschinenhalle mit bösen Verbrauchern?

Ausserdem haben da die Transceiver noch ein Wörtchen mitzusprechen. Und 
gerade da ist differentielle Übertragung schon recht robust.

von C3P0 (Gast)


Lesenswert?

Falk Brunner schrieb:
> Große Maschinenhalle mit bösen Verbrauchern?

Korrekt, Industriehallen. Es soll eine Kamera mit einer SPS-Anlage 
synchronisiert werden.

von Falk B. (falk)


Lesenswert?

@C3P0 (Gast)

>> Große Maschinenhalle mit bösen Verbrauchern?

>Korrekt, Industriehallen. Es soll eine Kamera mit einer SPS-Anlage
>synchronisiert werden.

Dafür nimmt man landein, landab RS485, in Fällen mit schweren 
Störungen mit Galvanische Trennung. LVDS ist definitiv nicht 
sinnvoll.

von René B. (reneb)


Lesenswert?

Um auf die eigentliche Frage mal wieder einzugehen...
Erstmal zum OK-Teil:
Bei 5V und 1,8V an der LED mit einem 680er Widerstand komme ich auf 
(5-1,8)/680=4,7mA. Liegt knapp unter den erforderlichen 5mA und die 
Toleranzen der Spannungsversorgung nicht mitgerechnet. Leg mal R2 für 
6,3mA aus (-20% Degeneration und man ist wieder bei 5mA). Mit einem 
470er bist du bei 6,8mA. Aber aktuell verrichtet er ja seinen Dienst...

Prinzipiell sollte dein Vorschlag zwar funktionieren, wenn beide 
Reciever auf das gleiche GND-Potential abzielen. Schau dir mal das 
"klassische" Schaltbild eines Differenzverstärkers (mit endlicher 
Verstärkung, aber erstmal egal) mit OpAmps an. Dort sind je ein 
Spannungsteiler gegen + und ein Spannungsteiler gegen - an die Eingänge 
des OpAmps geführt. Diese haben also eine Beziehung zur Masse des 
OpAmps. Ich nehme mal an dass im Ersatzschaltbild des LVDS-Empfängers 
diese Rs zu schwach sind und dieser deshalb streikt.

Probier mal jeweils "oben" an den 100er einen 1M-R gegen V+ des 
Empfängers und "unten" einen 1M-R gegen V- des Empfängers zu packen.

von René B. (reneb)


Angehängte Dateien:

Lesenswert?

Soviel erstmal zur eigentlichen Frage und hier jetzt der Gegenvorschlag:

Du willst ein 100Hz quer durch eine Maschinenhalle mit viel böser EMV 
schicken. Dafür sollte eine direkte OK-Verbindung reichen, da es 
unwahrscheinlich ist, dass ein so hoher Strom induziert wird, dass bei 
1,8V ein paar mA die LED zum leuchten bringen.

Hier die Schaltung, die ich mal schnell zusammengekritzelt habe.
Um die Ausgansseite ein wenig zu schützen kommt dort der erste OK und 
ein DC/DC-Wandler zur Isolation hin. Dein CPLD bekommt einen 
Ausgansstreiber und schaltet die LED des ersten OK.
Der erste OK schaltet an einen Treiber durch, der wiederum die LED an 
OK2 mit wesentlich höherem Strom treibt. Wenn dann der Transistor von 
OK2 mit dem Kollektor an 24V hängt und der Emitter auf den 24V-Eingang 
der SPS geht, kannst du direkt einen SPS-Eingang schalten.
Im Fehlerfall passiert deinem CPLD-Ausgang nichts, Treiberseite von OK1, 
eine Hälfte des DCDC und die LED-Seite des OK2 hängen draußen an der 
langen Leitung. Der Eingang zur SPS ist über OK2 gesichert und die 
Strombeschränkung ergibt sich aus der CTR des OK2. Für 100Hz sicher kein 
Problem.

Über die Leitung gehen dann auf einer Ader die 5V. Auf der SPS-Seite 
bleibt der OK UND der 47er Widerstand und erst hinter dem Widerstand 
geht es wieder auf der zweiten Ader zurück.

Den Umweg über den 2ten OK und den DC/DC kannst du dir evtl. auch 
sparen, wenn du den 24V-Eingang quer durch die Halle an OK1 ziehst. Wenn 
es da Probleme gibt, dann halt doch den zweiten OK.

von C3P0 (Gast)


Lesenswert?

Hallo René,

Danke für deinen Vorschlag! Ich muss ihn erst einmal verstehen, dann 
werde ich ihn testhalber einmal aufbauen.

Feedback in ein paar Tagen :)

von René B. (reneb)


Lesenswert?

Ok, bei Fragen einfach kurz posten. Ich kann dir nur mal kurz meine 
Rechnung geben. Ich hab mal den 4N35 genommen. Der hat eine 
Reaktionszeit von etwa 7us, was dann bei 100Hz und 10ms ja um mehr als 
den Faktor 1000 überdimensioniert ist, sollte also fürs Timing gehen...

von René B. (reneb)


Lesenswert?

Nebenbei sei noch schnell gesagt, dass der 4N35 ein "Klassiker" ist, hat 
also keinen eingebauten Komparator oder sonstige Digitaltechnik auf dem 
Chip. Daher nimmt der es auch nicht so genau mit der Restwelligkeit oder 
Problemen auf Vcc. Geht allerdings auf Kosten des Stromverbrauchs und 
der CTR. Zum Vergleich: Der HCPL2631 braucht zwar mindestens ordentliche 
4,5V, schaltet aber bei 5mA LED-Strom eine Last von 15mA zuverlässig 
durch und dabei extrem schnell. Für deine Anwendung würde ich aber den 
4N35 nehmen, denn da sind die o.g. Eigenschaften von Vorteil.

von C3P0 (Gast)


Lesenswert?

Kurze Frage, wie kommst du auf 47R-100R am Kollektor des BC547? Dadurch 
würde durch die LED von IC2 ja ca. 50mA fliessen oder? Sehe ich das 
korrekt?

von René B. (reneb)


Lesenswert?

Die 4N35 IR-LED kann 60mA continuous ab, wäre also nicht so wild. Jetzt 
zur Rechnung: 1,8V+0,7V=2,5V drop. 5-2,5=2,5V über R. Mit R=47 ergeben 
sich ~50mA und 100mW Abwärme, bei R=100 sind es ~25mA und ~50mW Abwärme.
Laut DB darf die LED kontinuierlich 100mW aufnehmen.

Wenn es dich beruhigt, dann nimm ruhig 100 Ohm. Den meisten 
SPS-Eingängen genügen 4-10mA. Da der 4N35 eine CTR von mindestens 100% 
hat, kannst du mit dem 47er auch SPS-Eingängen mit 50mA Stromaufnahme 
bedienen. Ich hab jetzt aber keine Spec von den 24V-Eingängen und was 
die so aufnehmen, deshalb hab ich es einfach mal auf 47-100Ohm, sprich 
50-25mA ausgelegt.
Meine VIPA 115 kommt damit (R=100) klar, sogar bei 12V :-)

von René B. (reneb)


Lesenswert?

Vielleicht wäre es auch sinnvoll auf zwei 47er zu verteilen. Einen als 
Überstromschutz auf der Sendeseite beim Phototransistor von OK1 und 
einmal um die Störempfindlichkeit herabzusetzen direkt vor der LED des 
OK2. Wenn dann jemand die Kabelenden zusammenhält wird findet der 
Spannungsabfall über den 47er statt und nicht komplett über den 
Phototransistor von OK1.

von René B. (reneb)


Lesenswert?

Und wenn du den 74-125 nur als Treiber für die LED hast, dann kannst du 
auch die LED von OK1 gegen 5V hängen und mit einem npn (z.B. BC547) über 
einen Vorwiderstand (4,7k-10k) aus dem 3,3V-CPLD auf die Basis gehen.
Dann wird ein HI-Pegel des CPLD auch mit 24V an der SPS abgebildet
(CPLD-HI=>LED1 leuchtet T1 schaltet LED2 leuchtet T2 schaltet=>24V an 
SPS)

Ein n-FET geht auch, aber der braucht auch nen Widerstand am Gate gegen 
Masse für einen definierten Einschaltzustand.

von Jobst M. (jobstens-de)


Lesenswert?

2 Toslinks (Rx und Tx) und ein Optokabel aus dem Audiobereich.


Gruß

Jobst

von René B. (reneb)


Lesenswert?

Und schon eine Lösung aufgebaut und ausprobiert?

von Gregor B. (Gast)


Lesenswert?

René B. schrieb:
> Laut DB darf die LED kontinuierlich 100mW aufnehmen.

Ja, steht unter "Absolute Maximum Ratings" und gilt für eine 
Umgebungstemperatur <= 25°C.
Darüber brauchst Du ein Derating von 1,33mW/K.

Charakterisiert wurde der Optokoppler mit einem Vorwärtsstrom von 10mA.
Das reicht zum sicheren Betrieb auch völlig aus. Mehr Leistung führt nur 
zu vorzeitiger Alterung des Optokopplers.

von C3P0 (Gast)


Lesenswert?

René B. schrieb:
> Und schon eine Lösung aufgebaut und ausprobiert?

Ja bin jetzt doch zu einer RS485-Lösung übergegangen und diese 
funktioniert bisher tadellos. Danke noch einmal für eure 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.