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
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
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...
@ 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
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?
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.
@ 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?
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?
@ 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.
Falk Brunner schrieb: > Große Maschinenhalle mit bösen Verbrauchern? Korrekt, Industriehallen. Es soll eine Kamera mit einer SPS-Anlage synchronisiert werden.
@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.
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.
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.
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 :)
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...
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.
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?
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 :-)
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.
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.
2 Toslinks (Rx und Tx) und ein Optokabel aus dem Audiobereich. Gruß Jobst
Und schon eine Lösung aufgebaut und ausprobiert?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.