Forum: Mikrocontroller und Digitale Elektronik LVDS unbekannter offset


von offset (Gast)


Angehängte Dateien:

Lesenswert?

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!

von Achim S. (Gast)


Lesenswert?

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.

von offset (Gast)


Angehängte Dateien:

Lesenswert?

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!

von Achim S. (Gast)


Lesenswert?

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.

von Achim S. (Gast)


Lesenswert?

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.

von offset (Gast)


Lesenswert?

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".

von Achim S. (Gast)


Lesenswert?

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

von offset (Gast)


Angehängte Dateien:

Lesenswert?

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!

von Achim S. (Gast)


Lesenswert?

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...)

von Wühlhase (Gast)


Lesenswert?

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?

von Pandur S. (jetztnicht)


Lesenswert?

Perhaps not yet mentioned .. LVDS is current driven, it is 3mA, not a 
voltage. Meaning it cannot work through caps. Make this 3mA currrent 
flow.

von offset (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Achim S. (Gast)


Lesenswert?

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.

von offset (Gast)


Angehängte Dateien:

Lesenswert?

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.

von offset (Gast)


Lesenswert?

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.

von Achim S. (Gast)


Lesenswert?

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.

von Wühlhase (Gast)


Lesenswert?

Hast du die LVDS-Leitungen eigentlich durchgängig in angepassten 
Leitungen?

von Wühlhase (Gast)


Lesenswert?

Bzw. die LVDS-Signale durchgängig in Leitungen mit angepasster Impedanz?

Sorry...ist schon spät.

von Bernhard K. (bkom)


Lesenswert?

Achim S. schrieb:
> offset schrieb:
>> Kann ich das LVDS eigentlich auch ohne Masserverbindung übertragen
>> zwischen Driver und Receiver?
>
> NEIN

Es gäbe aber Bausteine zu kaufen welche LVDS galvanisch trennen:
https://www.digikey.de/de/product-highlight/a/analog-devices/adn4650-adn4651-lvds-digital-isolators

Oder irre ich mich da?

von Wühlhase (Gast)


Lesenswert?

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.

von offset (Gast)


Lesenswert?

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!

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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.

: Bearbeitet durch User
von Pandur S. (jetztnicht)


Lesenswert?

> 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.

: Bearbeitet durch User
von offset (Gast)


Lesenswert?

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!

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Warum gehst Du überhaupt nicht auf meine Fragen und Anmerkungen ein?

Nachtrag:
Und hier geht es weiter...
Beitrag "GND bounced - wie messen?"

: Bearbeitet durch User
von bounce (Gast)


Lesenswert?

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!

von Purzel H. (hacky)


Lesenswert?

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.

von Wühlhase (Gast)


Lesenswert?

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.

von Achim S. (Gast)


Lesenswert?

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.

von Christian B. (luckyfu)


Lesenswert?

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.

von Wühlhase (Gast)


Lesenswert?

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.

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

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.

von Achim S. (Gast)


Lesenswert?

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.

von Wühlhase (Gast)


Lesenswert?

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.

von Achim S. (Gast)


Lesenswert?

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.

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.