Hallo zusammen,
ich treibe mit einem LVDS Treiber einen Laser Treiber:
HG30 von iC Haus:
https://www.ichaus.de/product/iC-HG30
Da ich Probleme mit dem LVDS hatte, habe ich mich auf Rat eines
Elektronik Kommilitonen für eine "fehlersichere LVDS Schaltung"
entschieden.
Ich eliminiere den DC Anteil des LVDS drivers (AC coupling 1nF) und
stelle diesen dann durch einen Widerstandsteiler am Receiver wieder her.
Der HG30 hat bereits interne pull up und down, wobei ich nicht
herauslesen konnte, wohin "pull up", also zu 5V VDD?
Der HG30 wird an 5V VDD betrieben.
Wenn ich nun meine Laser triggere, habe ich ein LVDS Signal, was meinen
Erwartungen entspricht.
1.2V common mode voltage.
Am Ende meiner Trigger-Pulse kommt aber eine Phase mit irgendeinem
verrauschten 400mV offset, der ebenfalls die Laser triggert. Das ist
natürlich nicht gewollt!
Die Störungen da haben reproduziertbar 10xMHz.
Mir ist nicht ganz klar:
1. wie kann es zur Absenkung der common mode voltage auf 400-500mV
kommen. Da muss doch irgendwo eine Menge Strom fließen, um den
Spannungsteiler so runterzuziehen?
Die 3V3 sind stabil, aber während dieser Störungen auch stark
verrauscht.
2. Woher kommen dann die 10xMHz Störungen, die meine Laser triggern? Das
könnt ihr sicher nicht beantworten... muss ich mal suchen...
3. ich muss nochmal schauen, welche Channel des HG30 es betrifft.
Gefühlt betrifft es nicht alle Channel, sondern eher zwei, wenn sie
gleichzeitig an sind.
Ich werde nochmal schauen, ob ich einen Fehler im Schematic habe, oder
das Layout Fehler aufweist.
Da das Verhalten reproduzierbar/systematisch ist, halte ich Störungen
oder Einkopplung für fast ausgeschlossen, die ja dann stochastisch sein
müssten.
Das wird ein langer Weg im Debuggen mit meinen begrenzten Elektronik
Wissen :(
Vielen Dank!
offset schrieb:> Ich eliminiere den DC Anteil des LVDS drivers (AC coupling 1nF)
das kann nur funktionieren, wenn die versendeten Signale
gleichanteilsfrei sind. Zusätzlich müsste die Häufigkeit des
Flankenwechsels und die Zeitkonstante deiner AC-Kopplung zueinander
passen. Da du die Zeitachse in deinem Bild abgeschnitten hast, kann ich
nicht wirklich was zur Zeitkonstante sagen, aber dein Steuersignal ist
ganz offensichtlich nicht gleichanteilsfrei. Ein AC-coupling deiner
LVDS-Signale kann nicht funktionieren.
Wirf die Kondensatoren wieder raus, und bring es DC-gekoppelt zum
Laufen.
offset schrieb:> Da ich Probleme mit dem LVDS hatte,
dann beschreibe, welche Probleme du dabei hattest und versuche (mit
Hilfe des Forums) diese zu lösen.
Hallo und danke!
Ich hatte schon mal ähnliche Probleme mit einem anderen Receiver ohne
fail safe Beschaltung.
Hier im Forum wurde mir dann der Hintergrund dazu erklärt und mein ET
Kollege hat mir den Hintergrund des AC Coupling erklärt.
Beitrag "fail safe LVDS (pull up/down?)"
Hier hatte ich noch ohne AC und mit einem FET gearbeitet.
Seiner Aussage nach geht das wohl so, wenn man unterschiedliche DC
Anteile hat und diese auf diese Art und Weise anpassen kann.
Wenn ich mir mit oben gezeigter Schaltung nun die "guten" LVDS Signale
anschaue, sehe ich das angehängt Bild.
Von den 1.2V gehts also erstmal abwärts und dann stabilisiert sich alles
nach ca. 6µs wieder.
Da hier P-N ein ähnliches Verhalten haben, sieht das Differenzsignal gut
aus und daher gibt es da keine Probleme mit dem Laser.
Wenn ich keine "fail safe" Schaltung verwende, dann habe ich am Ausgang
mit 100 Ohm Terminierung immer 3.3V als DC Anteil.
Den LVDS Treiber kann ich leider nicht teilen, da es sich um einen
Sensor handelt, dessen Datenblatt nicht öffentlich verfügbar ist.
Hier habe ich nur folgende Angaben:
differential output = min 80 typ 100 max 800 mV
common mode voltage = min 0.7 typ 1.2 max vdd-0.3 V
output impedance = min 40 typ 100 max 200 Ohm
max output current = min 0.4 typ 19.2 max 25.2 mA
Für mich sah das nach einem normalen LVDS Interface aus.
Vielen Dank!
offset schrieb:> Ich hatte schon mal ähnliche Probleme mit einem anderen Receiver ohne> fail safe Beschaltung.
faul Safe ist in Ordnung. aber AC Kopplung per Kondensator mit einem
normalen LVDS-Treiber nur bei einem gleichanteilfreien Signal. (was du
nicht hast).
offset schrieb:> Seiner Aussage nach geht das wohl so
na, wenn das so geht, dann ist ja alles gut. aber scheint ja doch nicht
zu gehen.
jetzt etwas ausführlicher:
hier findest du eine Schaltbild, wie ein LVDS-Treiber grundsätzlich
aufgebaut ist.
https://de.wikipedia.org/wiki/Low_Voltage_Differential_Signaling#Funktionsprinzip
Der Strom der Kontantstromquelle muss über den Widerstand fließen
können. Dass kann er in deiner Schaltung und bei deinem langfristig
konstanten Signal mit Gleichanteil nicht. Deswegen wird ein echter
LVDS-Treiber in dieser Situation die Differenzspannung zu weit
auseinander treiben und die Stromquelle verlässt ihren Arbeitsbereich
und funktioniert nicht mehr.
offset schrieb:> Den LVDS Treiber kann ich leider nicht teilen, da es sich um einen> Sensor handelt, dessen Datenblatt nicht öffentlich verfügbar ist.
Ist es ein echter LVDS-Treiber? Dann entsteht das genannte Problem. Oder
ist es irgendwas anderes, das ungefähr LVDS-ähnliche Pegel erzeugt? Dann
bräuchte man genauere Infos dazu, die du nicht liefern kannst.
Die Fail-Safe Schaltung hilft dir, einen definierten Differenzpegel zu
erzeugen, wenn der Treiber nicht vorhanden oder nicht aktiv ist. Ist
tatsächlich das dein Problem bei deiner normalen LVDS-Verbindung?
Schaltet dein Treiber zwischendurch aus, so dass du undefinierte
Spannungen am Empfänger bekommst? (davon handelt der von dir verlinkte
thread). Dagegen hilft die Fail-safe Schaltung, und zwar auch ohne
AC-Kopplung.
Vielen Dank Achim für deine ausführliche Antwort.
Ich werde mal versuchen deine Frage bzgl. des Treibers beantwortet zu
bekommen. Kann aber sicher etwas dauern. Chinese new year... keine
Ahnung wie schnell ich da eine Antwort bekomme.
Das mit dem AC Coupling muss ich nochmal zu Ende denken. Deine Hinweise
geben ja eine klare Richtung vor. Mit AC sah das Signal am Laser aber
erstmal besser aus, aber vielleicht überlagern sich da nun zwei
Fehlerbilder.
Ich hatte LVDS immer als sehr einfach zu handhaben im Kopf. Aber in
diesem Fall hier ist gar nix "einfach".
offset schrieb:> Ich hatte LVDS immer als sehr einfach zu handhaben im Kopf.
zumindest bezogen auf seine Leistungsfähigkeit ist es auch recht
einfach.
offset schrieb:> Mit AC sah das Signal am Laser aber> erstmal besser aus, aber vielleicht überlagern sich da nun zwei> Fehlerbilder.
Ich hab den Eindruck, dass da mal ein Stück weit "auf gut Glück" ein
paar Änderungen ausprobiert wurden. Wenn das klappt, ist es ja auch ok.
Aber wenn nicht, dann würde ich tatsächlich nochmal einen Schritt zurück
gehen und versuchen, die Fehlerbilder sauber herauszuarbeiten (und ggf.
zu trennen, wenn sich mehrere überlagern).
Wie schon geschrieben: wenn zwischendurch kein aktiver Treiber vorhanden
ist, dann ist eine fail-safe Terminierung sinnvoll. (ob das bei dir
tatsächlich der Fall ist, habe ich aus deinen Beschreibungen noch nicht
eindeutig herausarbeiten können).
Wieso du glaubst, neben der fail-safe Terminierung noch eine AC-Kopplung
zu brauchen, ist mir noch in Gänze schleierhaft. Du redest zwar von der
common mode voltage, aber ich konnte noch nicht nachvollziehen, wieso
diese ohne AC-Kopplung problematisch sein sollte.
Falls mit passender Terminierung ohne AC-Kopplung die Signale keine
korrekten Pegel annehmen, dann wäre ein aussagekräftiges Oszibild der
Signale bei dieser Konfiguration hilfreich.
Dieses Dokument kennst du vielleicht schon...
https://www.ti.com/lit/an/slaa840/slaa840.pdf?ts=1643704311444&ref_url=https%253A%252F%252Fwww.google.com%252F
Hallo,
ohne die 1nF Caps sieht das ganze so aus (siehe Anhang).
Da habe ich also zwischendrin einen 2.6V DC Pegel zwischen den LVDS
Bursts.
Ohne die Fail Safe Schaltung sind es dann 3.3V (wenn mich nicht alles
täuscht).
Hier scheint es also Phasen "treiberseitig" zu geben, in denen nicht
aktiv getrieben wird.
Oder es scheinen sogar "schwach" aktiv 3.3V getrieben zu werden (500 Ohm
Innenwiderstand?), sonst würde sich ja die 1.2V von der fail-safe
einstellen, oder?
So überlagern sich schwache 3.3V und starke 1.2V am LVDS Receiver input
und ergeben irgendwas um die 2.6V.
Ich habe auch versucht das LVDS mal zu simulieren.
ren, um etwas mehr Verständnis zu generieren. Bin aber vorerst
gescheitert.
Also mit den AC sah es irgendwie besser aus... auch wenn es natürlich
weniger Sinn ergibt!
Die ungewünschten Störungen sind übrigens auch noch da, aber offenbar
suche ich da zwei unterschiedliche Fehler. Ich muss jetzt erstmal den
LVDS fixen, sonst komme ich systematisch nicht weiter.
Vielen Dank!
offset schrieb:> Oder es scheinen sogar "schwach" aktiv 3.3V getrieben zu werden (500 Ohm> Innenwiderstand?), sonst würde sich ja die 1.2V von der fail-safe> einstellen, oder?
sowas könnte es sein. Wobei in dieser Phase der Spannungsunterschied
zwischen den beiden differentiellen Signalen extrem klein ist (der Strom
über die 100mA also auch sehr klein ist). Da dürfte das identische
Potential auf beiden Leitungen getrieben werden, nicht nur auf einer wie
in deiner Simu. Andernfalls sollte sie über die 100Ohm eine
Spannungsdifferenz von 0,1/(1,5+0,1)*2,6=160mV einstellen. Laut
Differenzmessung F1 ist es aber viel weniger.
Eine andere denkbare Erklärung wäre noch, dass sich im Treiber ebenfalls
ein fail-safe Widerstandsnetz befindet, das aber gerade den umgekehrten
Pegel einstellen will wie die fail-safe Terminierung am Receiver. So
dass die beiden fail-safe Netze sich gegenseitig ungefähr aufheben. Wenn
das der Fall ist, dann müsstest du ein eindeutiges Differenzsignal
bekommen, sobald am Receiver die fail-safe Widerstände entfernt werden
(und nur der 100Ohm bleibt). Das Differenzsignal wäre dann ggf. nur
gerade umgekehrt als du es eigentlich möchtest.
Falls sich das Differenzsignal während der inaktiven Phase ohne
fail-safe Netz am Receiver nicht signifikant ändert, dann treibt dein
Treiber während tatsächlich den selben Spannungswert auf beide Leitungen
(über einen gewissen Innenwiderstand). Dann wäre es noch einen Versuch
wert, das fail-safe Netz am Receiver etwas "agressiver" (niederohmiger)
zu dimensionieren. Das geht natürlich irgendwann auf die Symmetrie der
Flanken, und wenn der Innenwiderstand des seltsamen Treibers in der
inaktiven Phase zu niedrig ist, dann wird er "trotzdem gewinnen".
offset schrieb:> Also mit den AC sah es irgendwie besser aus... auch wenn es natürlich> weniger Sinn ergibt!
Ja, das kann ich jetzt nachvollziehen. Wenn der Treiber in der inaktiven
Phase eine ungewünschte Gleichspannung einprägt, dann kann man die
natürlich über die AC-Kopplung entfernen. Das Dumme ist nur, dass im
Anschluss die Kondensatoren auf "seltsame Werte" aufgeladen sind. Und je
nachdem, welche Pulsfolge in der aktiven Phase getrieben wird, bekommst
du mehr oder minder ungeschickte Verschiebungen der Gleichtaktspannung.
Für eine bestimmte Pulsfolge ließe sich dann vielleicht mit der
AC-Kopplung
was funktionierendes bauen. Aber wenn immer wieder andere Pulsfolgen in
der aktiven Phase kommen sollten, dann wirst du immer wieder andere
Gleichtaktverschiebungen erhalten.
offset schrieb:> Die ungewünschten Störungen sind übrigens auch noch da
Die kommen daher, dass in der inaktiven Phase beide Signale fast den
selben Pegel haben. F1 liegt bestenfalls bei -50mV, und wenn die
eingekoppelten Störungen größer als dieser Wert werden, dann
interpretiert dein Receiver das zurecht als Pegelwechsel.
Ich würde es an deiner Stelle nochmal mit einer niederohmigeren
fail-safe-Spreizung probieren (z.B. 820Ohm, 100Ohm, 500Ohm). Wirklich
sauber ist auch das nicht, aber vielleicht gut genug, um trotz des
seltsamen Verhalten des Treibers zu funktionieren.
Oder schauen, ob man dem Treiber sein seltsames Verhalten während der
inaktiven Phase abgewöhnen kann (vielleicht indem man das richtige Bit
in seinem "Power Safe Register" deaktiviert...)
Soweit ich weiß sollte ein gewisser Offset bei LVDS kein Problem sein.
Es wurde ja mal entwickelt, um Potentialverschiebungen auf der Masse
durch viele gleichzeitig geschaltete Signale aus dem Weg zu gehen. Bei
Bildschirmen von Laptops, wenn ich mich recht erinnere.
Deshalb liegt die Signalinformatino bei LVDS ja eigentlich auch in der
Stromflußrichtung. Die Graphik aus Wikipedia zeigt ja sehr deutlich wie
das funktioniert.
Bist du sicher, daß das Problem auf der Senderseite liegt? Und an dessen
Hardware?
Vielen herzlichen Dank für deine Mühe Achim - sehr aufschlussreich für
mich als Nicht-Elektroniker!
Kann ich das LVDS eigentlich auch ohne Masserverbindung übertragen
zwischen Driver und Receiver?
Aktuell habe ich noch ein Massekabel zwischen der Treiber Platine und
der Laser-Platine. Da LVDS ja differentiell ist, sollte ich das doch
theoretisch auch weglassen können? Der Stromfluss der LVDS-Stromquelle
geschieht ja durch P und N und nicht über GND. LAN Kabel gibt es ja auch
ohne Schirm/GND Verbindung? Try and error...
Ich habe nur Angst, dass ich irgendwelche fiesen GND Probleme habe.
Wenn ich die Leistung des Lasers aufdrehe und mehr Strom (grüne Kurve im
Bild, Stromzange) fließt, häufen sich diese ungewollten "Störungen".
Gleichzeitig sehe ich, dass die LVDS common mode voltage mit dem
Stromverlauf bounced. Da schwingt also irgendetwas, was ich nicht
erwarten würde.
Pandur S. schrieb:> Perhaps not yet mentioned .. LVDS is current driven, it is 3mA, not a> voltage. Meaning it cannot work through caps.
Thank you!
Yes... I already considered LVDS a current driven interface. The
voltages only appear only on the termination resistor.
The current cant flow because of the cap, but that was done on purpose
to eliminate the common mode (DC) part of the signal.
offset schrieb:> Kann ich das LVDS eigentlich auch ohne Masserverbindung übertragen> zwischen Driver und Receiver?
NEIN
offset schrieb:> Gleichzeitig sehe ich, dass die LVDS common mode voltage mit dem> Stromverlauf bounced.
wenn du keine Masseverbindung hast, liegt es daran. ansonsten ggf. das
Umschalten deines Treibers vom "seltsamen" Modus in den normalen LVDS
Modus.
Hier nochmal eine andere Perspektive zum LVDS.
Sobald ich Leistung der Laser hochdrehe, fängt der Strom incl. LVDS
offset zu schwingen an.
Mit weniger Strom bleibt es "schön" stabil.
Achim S. schrieb:> Das Dumme ist nur, dass im> Anschluss die Kondensatoren auf "seltsame Werte" aufgeladen sind.
Ich denke das wird auch der Grund sei, wieso die LVDS Signale am Anfang
und am Ende diese Spikes ausbilden.
Achim S. schrieb:> wenn du keine Masseverbindung hast, liegt es daran. ansonsten ggf. das> Umschalten deines Treibers vom "seltsamen" Modus in den normalen LVDS> Modus.
Ich habe die ganze Zeit eine Masseverbindung, war nur eine Idee als
mögliche Fehlerquelle.
offset schrieb:> Sobald ich Leistung der Laser hochdrehe, fängt der Strom incl. LVDS> offset zu schwingen an.> Mit weniger Strom bleibt es "schön" stabil.
Kann sein, dass dein Laserstrom auf der Receiver-Seite zu
Massverschiebungen führt. Je nach dem, mit Bezug auf welche Masse du
misst, können sich dann solche Gleichtaktverschiebungen ergeben.
Solange sie innerhalb eines gewissen Bereichs bleiben, stört sich die
LVDS-Übertragung tatsächlich nicht daran. Wenn sie zu groß werden, kann
auch LVDS nicht mehr funktionieren.
offset schrieb:> Ich habe die ganze Zeit eine Masseverbindung,
gut.
Prinzipiell wäre es einer AC-Kopplung auch möglich, mit (deutlich)
unterschiedlichen Massepotentialen auf Sender- und Empfängerseite zu
arbeiten. Aber wie schon zu Beginn des Threads gesagt: für eine
funktonierende AC-Kopplung müsste das Signal hinreichend häufig schalten
und dürfte keinen Gleichanteil aufweisen (weil über die
Koppelkondensatoren eben nur Wechselströme fließen können, aber nicht
dauerhafte Gleichströme). Und diese Voraussetzungen für die AC-Kopplung
sind bei deinem System/deinem Signal eben nicht gegeben.
Bernhard K. schrieb:> Oder irre ich mich da?
Klar gibts die, warum auch nicht.
Du kannst LVDS halt nicht ohne Masse betreiben, weil du sonst keine
Impedanzanpassung mehr hinbekommst. Und auch wenn LVDS mit
Potentialverschiebung zurechtkommt, so sind diese Signale immernoch
potentialgebunden und das Ganze hat trotzdem gewisse Grenzen.
Ein kleines Update.
Ich habe inzwischen einfach einen LVDS driver/receiver-IC zwischen
driver und laser gehangen.
Der IC (PI90LV179) + AC coupling + pull up/down am Eingang scheint
besser mit der LVDS Quelle klar zu kommen.
Der Laser IC scheint auch besser mit einem "echten" LVDS driver klar zu
kommen.
So habe ich zwar ein extra delay, aber bisher scheint alles zu klappen.
Woher diese ungewollten Störungen kommen, konnte ich leider nicht
abschließend klären, aber offenbar scheint es nun zu funktionieren.
Vielleicht einfach nur Pech mit AC coupling, interne und externe pull
up/downs und eine nicht-normale LVDS Quelle. Schwer alles
nachzuvollziehen und gerade zu ziehen.
Wühlhase schrieb:> Bzw. die LVDS-Signale durchgängig in Leitungen mit angepasster Impedanz?
Nein, ich habe einen eher fliegenden Aufbau.
Aber die Störungen waren kein systematisches Problem der
Signalintegrität, sondern es waren ja zeitlich begrenzte Probleme und
Störungen, die sporadisch auftauchten oder nicht.
Ausschließen kann ich es natürlich nicht. Ich will ja keine super
schnellen Daten übertragen, sondern einfach nur Triggersignale 0 und 1
auswerten.
Danke!
offset schrieb:> Nein, ich habe einen eher fliegenden Aufbau.
Und welche Fläche wird zwischen der Masseleitung und jeder der
Signalleitungen aufgespannt? Und zwischen den Signalleitungen?
> Ich will ja keine super schnellen Daten übertragen, sondern> einfach nur Triggersignale 0 und 1 auswerten.
Die Grundfrequenz spielt überhaupt keine Rolle, sondern die Musik spielt
ausschließlich in den Signalflanken. Selbst bei nur 1 Hz und
Flankensteilheiten im ps- oder unteren ns-Bereich würden genau die
gleichen Probleme auftreten wie bei mehreren MHz.
Wo fließt denn eigentlich der Strom für den Laser entlang? Wenn
womöglich dieselbe Leitung gleichzeitig als Signalmasse und als
Leistungsmasse dienen sollte, wäre die Sache nochmals klarer. Folglich
benötigen wir wirklich aussagekräftige Fotos des gesamten Aufbaus, um
das ganze sinnvoll beurteilen zu können.
Nur weil Dein Hardwareentwickler behauptet, AC-Kopplung wäre hier
einsetzbar, bedeutet das noch lange nicht, dass sich die Physik nach dem
Entwickler richtet. Vielleicht hat er einfach zu wenig Ahnung von der
Thematik. In welche Region arbeitet Ihr denn? Dann solltet Ihr
vielleicht mal jemanden mit etwas mehr Ahnung auf den Aufbau schauen
lassen.
> offset schrieb:> Nein, ich habe einen eher fliegenden Aufbau.
Na, dann ist doch toll, dass es bisher funktionierte...
Andere Leute sind hier bereits beim GHz faehigen PCB...
.. was schliesslich fuer zuverlaessige Operation auch benotigt wird.
Hallo zusammen,
ja, der fliegende Aufbau ist aktuell wenig hilfreich und immer wieder
fehleranfällig.
Meine Vermutung war allerdings (vielleicht laienhaft!), dass LVDS, oder
allgemein differentielle Signale, weit verbreitet und auch lange
Strecken überbrücken können. LAN, HDMI usw.
Wenn ich da nun 5cm lange Litze habe für P und N und das GND Kabel
drumherum wickle, war ich der Annahme, das sollte für einen ersten Test
schon funktionieren.
Wären denn micro-SMA Kabel (oder wie heißen diese kleinen
Micro-Antennen-Stecker) hilfreich für P und N getrennt? verdrillt mit
Schirm incl. passender Impedanz geht nicht zu realisieren von den Boards
her.
Dann ist zumindest auf der LVDS Leitung kein Impedanzsprung (50Ohm
single ended?) und ich habe alles sauber geschirmt?
Ich muss leider zwei PCBs mittels LVDS verbinden und kann die PCBs nicht
neu layouten, oder tiefe Anpassungen vornehmen.
Bevor ich aber beide Platinen auf einer zusammenfassen lasse und wir
Geld ausgeben, wollte ich schon sichergehen, dass das zumindest
funktioniert und ich mir die gleichen Probleme dann nicht auf die
Einzelplatine hole, wo ich noch weniger Eingriffsmöglichkeiten habe.
AC Coupling, pull up/down Footprints werde aber in jedem Fall mit
vorsehen und dann ggf brücken, oder nicht bestücke.
Danke!
Andreas S. schrieb:> Warum gehst Du überhaupt nicht auf meine Fragen und Anmerkungen ein?
Verzeihung, dein Post war mir untergegangen, hatte nur den von Pandur
gesehen! Hatte zwischendurch noch ein paar Prüfungen.
Andreas S. schrieb:> Und welche Fläche wird zwischen der Masseleitung und jeder der> Signalleitungen aufgespannt? Und zwischen den Signalleitungen?
Die Fläche kann ich nur grob schätzen.
Es sind auf der LVDS Strecke vielleicht in Summe ca. 2cm².
Platine 1 LVDS driver => 1.5cm dünne Litze => Pfostenbuchse/stecker =>
3cm dünne Litze => kleine Platine mit LVDS receiver/driver => 2cm dünne
Litze => Platine 2 Laser driver
Signalkabel und GND habe ich versucht immer so nah wie möglich zu
führen.
Wie gesagt, meine Erwartung war nicht, dass dieser Aufbau solche
Probleme macht. Ursprünglich wollte ich nur ein par cm Kabel verwenden,
der LVDS driver/receiver ist ja nur dazu gekommen, weil es dann
irgendwie funktioniert hat (bis jetzt).
Aber offenbar muss ich auch hier noch viel lernen!
Andreas S. schrieb:> Die Grundfrequenz spielt überhaupt keine Rolle, sondern die Musik spielt> ausschließlich in den Signalflanken. Selbst bei nur 1 Hz und> Flankensteilheiten im ps- oder unteren ns-Bereich würden genau die> gleichen Probleme auftreten wie bei mehreren MHz.
Ok, das habe ich inzwischen verinnerlicht ;)
Die Signalflanken von dem LVDS Signal sind in der Region 1-2.5ns laut
meinen Messungen, also sind wir schon im GHz Bereich.
Andreas S. schrieb:> Wo fließt denn eigentlich der Strom für den Laser entlang? Wenn> womöglich dieselbe Leitung gleichzeitig als Signalmasse und als> Leistungsmasse dienen sollte, wäre die Sache nochmals klarer.
Platine 1 mit der LVDS Quelle und Platine 2 mit dem Laser haben
unterschiedliche Spannungsversorgungen.
Platine 1 wird mit einem Steckernetzteil versorgt.
Platine 2 mit einem Labornetzteil.
Der LVDS GND zwischen den Platinen bekommt also theoretisch nicht den
hohen Strom ab.
Labornetzteil => DC/DC => Laser driver/laser
Da würde ich erwarten, dass der hohe Strom hier lang fließt und die LVDS
Signale nicht weiter beeinflusst.
Andreas S. schrieb:> Folglich> benötigen wir wirklich aussagekräftige Fotos des gesamten Aufbaus, um> das ganze sinnvoll beurteilen zu können.
Der verwendete Sensor ist ein Eval-Kit und noch nicht frei verkäuflich.
Da gibt es irgendeine Geheimhaltung zwischen Hochschule und
Sensorhersteller, so dass ich keine Fotos machen darf :(
Ich glaube am Ende muss ich einfach ein neues Platinenlayout anstreben,
auch ohne das Verhalten komplett verstanden zu haben. Ich werde dann
alle Infos hier mitgeben! Ich versuche dann 50 Ohm Kabel zu verwenden
für die LVDS Signale. Dann sollte ich hoffentlich eine saubere GND
Führung haben und keinen fliegenden Aufbau mehr.
Dann mit sowas:
https://www.digikey.de/en/products/detail/amphenol-rf/A-2JA/5029285?s=N4IgTCBcDaIIIFkEGEAEBWADAewBYFsQBdAXyA
Die Kommentare hier helfen sehr - können aber sicher keine langjährige
Erfahrung ersetzen. Dennoch war ich der Meinung, dass LVDS irgendwie
robuster wäre... das war wohl ein Fehler!
Andreas S. schrieb:> Dann solltet Ihr> vielleicht mal jemanden mit etwas mehr Ahnung auf den Aufbau schauen> lassen.
Das kann ich beim Prof mal erfragen, ob man externe Berater hinzuziehen
darf. Vielleicht treibe ich ja vor Ort noch jemanden auf, der LVDS Pro
ist.
Vielen Dank!
Eigentlich ist LVDS nicht fuer ueber Kabel gedacht. Der
Gleichtaktbereich ist auch eher klein. Ich wuerde Koax empfehlen. Je
nachdem kann man dann ECL oder Analog uebertragen.
Und ja, das Layout muss GHz tauglich sein. Ich mach sowas immer mit
mindestens 4 Lagen. Sonst wird das nichts. Wenn der Laser, resp der
Diodentreiber reinpfuscht hast du ein GND Problem. Da muss man ganz
genau ueberlegen, wo die Stroeme durchfliessen. Denn GND ist nicht mehr
einfach GND.
Alternativ muss man ja nicht unbedingt das schnelle Signal von Board zu
Board uebertragen, sondern kann den Laser auch gleich mit einer Faser
auf die Leiterplatte bringen.
bounce schrieb:> Ich glaube am Ende muss ich einfach ein neues Platinenlayout anstreben,> auch ohne das Verhalten komplett verstanden zu haben. Ich werde dann> alle Infos hier mitgeben! Ich versuche dann 50 Ohm Kabel zu verwenden> für die LVDS Signale. Dann sollte ich hoffentlich eine saubere GND> Führung haben und keinen fliegenden Aufbau mehr.
Ich würde mir eher ein Ethernetkabel nehmen, aufschneiden und ein
Aderpärchen versuchen. Die Impedanz von Ethernetkabeln ist der von LVDS
recht ähnlich (95Ω und 100Ω oder so).
Arbeite sehr kurz, also laß die Adern so max. einen Zentimeter aus dem
Mantel schauen. Weniger ist besser, und den Schirm dann nah auf Masse
legen.
Das Kabel selbst würde ich etwas länger lassen, so vielleicht 10-15cm
kann das ruhig lang sein, damit die Impedanzstörstellen nicht zu dicht
aneinander liegen.
Besser wäre es natürlich gewesen, ihr hättet es gleich richtig
gemacht...dann müßte man nicht so viel Geld und Zeit ausgeben, um ein
paar Cents zu sparen.
inzwischen dreht sich dieser Thread hauptsächlich darum, wie man LVDS
richtig überträgt. Was dazu geschrieben wird stimmt zwar, aber ich
denke, es geht am eigentlichen Problem des TO vorbei.
Wenn der LVDS-Treiber sauber eingeschwungen ist, dann ist die Qualität
der LVDS-Signale auch bei dem bestehenden Aufbau schon ausreichend.
Siehe z.B. die Messung in
Beitrag "Re: LVDS unbekannter offset"
Das Problem entsteht aus meiner Sicht, weil es erst diesen
"Einschwingvorgang" durchlaufen muss. Und der ist nötig, weil der
Treiberbaustein des TO sich nur zwischendurch ein LVDS-Treiber verhält.
In den anderen Phasen hat er irgendein "seltsames" Verhalten, bei dem
eben kein differentielles Stromsignal getrieben wird sondern beide
Leitungen des LVDS-Pärchens auf irgendwelche Potentiale schiebt. (in der
Messung in Beitrag "Re: LVDS unbekannter offset" übrigens
auf andere Werte als in der Messung in
Beitrag "Re: LVDS unbekannter offset").
Dieses Einschwingverhalten des Treibers beim Übergang von "irgendwas"
nach LVDS ist imho das eigentliche Problem des TO. (Und dem versuchte er
zu Beginn mit der AC-Kopplung zu begegnen, die aber bei dieser
Signalform auch nicht sinnvoll ist).
bounce schrieb:> Dennoch war ich der Meinung, dass LVDS irgendwie> robuster wäre
Ist es auch. Mit einem echten LVDS-Treiber würdest du das zum Laufen
bringen. Die Probleme kommen im Kern von diesem Teil:
offset schrieb:> Den LVDS Treiber kann ich leider nicht teilen, da es sich um einen> Sensor handelt, dessen Datenblatt nicht öffentlich verfügbar ist.
Achim S. schrieb:> Ist es auch. Mit einem echten LVDS-Treiber würdest du das zum Laufen> bringen. Die Probleme kommen im Kern von diesem Teil:>> offset schrieb:>> Den LVDS Treiber kann ich leider nicht teilen, da es sich um einen>> Sensor handelt, dessen Datenblatt nicht öffentlich verfügbar ist.
sogesehen ist der Weg, einen LVDS repeater zu nutzen, um das Problem
auszuschalten, ein durchaus gangbarer.
nochwas: nimm kein 50Ohm koax. Ein LVDS signal ist ein differentielles
Signal. Man kann das zwar in ein Single ended umwandeln und auch wieder
zurück zu differentiell, aber das ist nicht so trivial. Einfach eine
Ader des LVDS nehmen oder beide separat in einem Koax übertragen ist da
nicht. Da muss man einige Anpassung vornehmen.
Der Tipp mit dem Ethernet Kabel ist da besser geeignet.
Purzel H. schrieb:> Eigentlich ist LVDS nicht fuer ueber Kabel gedacht.
Ja wofür denn sonst? Das ist in erster Linie eine Displayschnittstelle,
die beinhaltet normalerweise immer eine Kabelübertragung. In der
Anwendung als Displayversorgung geht das auch über mindestens 2m Kabel
problemlos.
Ich vermute hier eher das Problem, wie viele andere auch, im LVDS
ähnlichen Treiber. Wenn der LVDS Repeater damit klar kommt, setz den
dazwischen und gut ist.
Achim S. schrieb:> Wenn der LVDS-Treiber sauber eingeschwungen ist, dann ist die Qualität> der LVDS-Signale auch bei dem bestehenden Aufbau schon ausreichend.> Siehe z.B. die Messung in> Beitrag "Re: LVDS unbekannter offset">> Das Problem entsteht aus meiner Sicht, weil es erst diesen> "Einschwingvorgang" durchlaufen muss. Und der ist nötig, weil der> Treiberbaustein des TO sich nur zwischendurch ein LVDS-Treiber verhält.> In den anderen Phasen hat er irgendein "seltsames" Verhalten, bei dem> eben kein differentielles Stromsignal getrieben wird sondern beide> Leitungen des LVDS-Pärchens auf irgendwelche Potentiale schiebt. (in der> Messung in Beitrag "Re: LVDS unbekannter offset" übrigens> auf andere Werte als in der Messung in> Beitrag "Re: LVDS unbekannter offset").
Seit wann müßten sich LVDS-Treiber sich irgendwo einschwingen? Das sind
Push-Pull-Stufen mit vorgeschalteter Stromquelle, da ist nix was
schwingen soll.
LVDS ist vor allem für digitale Signale gemacht. Das heißt eben kein
gleichmäßiges Rechtecksignal, sondern das Signal kann beliebig lang und
oft in einem von zwei Zuständen verweilen. Da darf sich nichts erst
einschwingen müssen oder aus dem Takt geraten.
Wühlhase schrieb:> Seit wann müßten sich LVDS-Treiber sich irgendwo einschwingen? Das sind> Push-Pull-Stufen mit vorgeschalteter Stromquelle, da ist nix was> schwingen soll.
Das trifft zu, wenn der entsprechende Ausgangstreiber dauerhaft aktiv
ist, was in diesem Anwendungsfall doch sehr zu empfehlen wäre. Ob das
wirklich so ist, lässt sich leider aus den ersten gezeigten
Oszillogrammen nicht ganz klar erkennen.
Es gibt genug andere Übertragungsstandards, bei denen die
Leitungstreiber nur sporadisch eingeschaltet werden. Meist ist dies
einem geteilten Medium geschuldet (RS-485, 1000Base-TX), aber auch bei
10Base-T und 100Base-T, die ja pro Richtung ein eigenes Leitungspaar
verwenden, ist das so. Auch deswegen beginnt ein Ethernet-Frame mit
einer längeren Prämambel zum "Einschwingen". Konkret bedeutet das nicht
nur das Aufsynchronisieren der Empfangs-PLL, sondern auch das Erreichen
des DC-Arbeitspunktes auf Senderseite. Es ist wirklich erstaunlich,
welch gewaltiger Spannungssprung es da häufig gibt, insbesondere bei
Ethernet-PHYs mit Stromausgang. Bei "normalen" Ethernetverbindungen
fällt das meist nicht auf, da ja eine doppelte galvanische Trennung
durch zwei Transformatoren erfolgt, aber für Kurzstreckenübertragungen
(z.B. auf einer Leiterplatte oder zwischen Backplane und Steckkarte)
kann man Ethernet-PHYs auch mittels Koppelkondensatoren statt teurer und
großer Trafos verbinden.
Andere Bussysteme, z.B. PCI Express, schalten bei Nichtverwendung in
bestimmten Stromsparmodi auch ihre Leitungstreiber ab, so dass nach der
Reaktivierung ebenfalls der DC-Arbeitspunkt wieder erreicht werden muss.
> LVDS ist vor allem für digitale Signale gemacht. Das heißt eben kein> gleichmäßiges Rechtecksignal, sondern das Signal kann beliebig lang und> oft in einem von zwei Zuständen verweilen. Da darf sich nichts erst> einschwingen müssen oder aus dem Takt geraten.
Sofern die Ausgangstreiber daueraktiv sind, ist dies zutreffend.
Andreas S. schrieb:> Wühlhase schrieb:>> Seit wann müßten sich LVDS-Treiber sich irgendwo einschwingen? Das sind>> Push-Pull-Stufen mit vorgeschalteter Stromquelle, da ist nix was>> schwingen soll.>> Das trifft zu, wenn der entsprechende Ausgangstreiber dauerhaft aktiv> ist, was in diesem Anwendungsfall doch sehr zu empfehlen wäre. Ob das> wirklich so ist, lässt sich leider aus den ersten gezeigten> Oszillogrammen nicht ganz klar erkennen.
Wenn man die Messungen im Detail durchgeht wird eindeutig, dass die
Treiber nicht dauerhaft im "LVDS-Mode" sind. Nochmal der Hinweis auf die
Messung in Beitrag "Re: LVDS unbekannter offset"
Dort sind beide Signale des LVDS-Paars jeweils single ended gemessen
(und mit dem Oszi die Differenz gebildet). Die AC-Kopplung war bei
dieser Messung entfernt.
Man sieht, dass vor dem LVDS-Betrieb die Signale aktiv auf einen Pegel
gezogen werden, der sich eindeutig nicht durch die
fail-safe-Terminierung am Receiver ergibt (Bleichtaktspannung von ca.
2,6V, Differenzspannung von <100mV)
Der Treiber ist in dem Bereich also auch nicht einfach nur disabled,
sondern er ist in einem anderen Mode aktiv. Und der Übergang zwischen
den Modes, der beim Einschalten des Lasers stattfindet, ist die Stelle,
an denen die Probleme des TO auftreten.
Andreas S. schrieb:> Wühlhase schrieb:>> Seit wann müßten sich LVDS-Treiber sich irgendwo einschwingen? Das sind>> Push-Pull-Stufen mit vorgeschalteter Stromquelle, da ist nix was>> schwingen soll.>> Das trifft zu, wenn der entsprechende Ausgangstreiber dauerhaft aktiv> ist, was in diesem Anwendungsfall doch sehr zu empfehlen wäre. Ob das> wirklich so ist, lässt sich leider aus den ersten gezeigten> Oszillogrammen nicht ganz klar erkennen.
Naja, das würde ich erwarten daß der LVDS-Treiber dauerhaft
eingeschaltet ist. LVDS wurde schließlich nicht entwickelt um Energie zu
sparen und kann das prinzipbedingt auch nicht. (Ausgenommen natürlich
der Fall, die Senke weiß daß die Quelle abgeschaltet wurde und sie
gefälligst ignorieren soll.)
Aber wer weiß, vielleicht hat das auch seinen guten Grund daß der Sensor
so geheim ist.
Wühlhase schrieb:> LVDS wurde schließlich nicht entwickelt um Energie zu> sparen und kann das prinzipbedingt auch nicht. (Ausgenommen natürlich> der Fall, die Senke weiß daß die Quelle abgeschaltet wurde und sie> gefälligst ignorieren soll.)
Wenn der Treiber "nur" abgeschaltet würde, käme die Schaltung des TO
damit klar. Er setzt eine fail safe Terminierung ein, die auch bei
abgeschaltetem Treiber die Pegel auf defnierten, vernünftigen Werten
hält. Beim Wiedereinschalten des Treibers könnte es sofort (ohne
Einschwingvorgang) mit einer korrekten Übertragung weitergehen.
Die Messungen des TO zeigen eindeutig, dass der Treiber in den "Pausen"
noch üblere Sachen machen muss als sich einfach abzuschalten - und genau
beim Übergang zwischen den beiden Betriebsmodi entsteht das Problem des
TO.