Forum: Mikrocontroller und Digitale Elektronik Levelshifter LVDS2.5 <> LVDS3.3


von Micha (Gast)


Lesenswert?

Hallo allerseits.

Ich habe hier 24 LVDS Lanes auf einer eigenen Platine welche jeweils mit 
200 MHz DDR Daten (also auf beiden Flanken) zwischen 2 FPGA übertragen 
sollen.
Dummerweise habe ich jeweils unterschiedliche IO Standards: 2.5V auf der 
einen, 1.8V auf der anderen Seite - die sind von den FPGA-Boards so 
vorgegeben.

Nun kann ich das zwar mit einigen Rs und Cs lösen (habe ich schonmal 
zwischen einer LVDS Kamera und einem FPGA so gemacht), eine integrierte 
Lösung gefiele mir aber besser, zumindest erhoffe ich mir hier eine 
Platzersparnis. Kennt jemand von Euch einen Baustein (je Richtung) der 
das leisten kann?

Von 2.5V nach 1.8V habe ich den ADG3245 von Analog gefunden, für die 
Rückrichtung finde ich aber nichts passendes.

Das ganze wird Reflow-gelötet, kleine Gehäuse sind also eher gewünscht 
und weniger ein Problem.

Hat jemand von Euch eine Idee?


VG, Micha.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?


von Jan M. (mueschel)


Lesenswert?

LVDS ist ein differentielles Signal, das hat weder 2.5V noch 1.8V. In 
der Regel haben Treiber einen DC Offset von etwa 1.1 V und Pegel von 
0.8V und 1.4V. Soetwas wie "1.8V LVDS" gibt es nicht. Der Unterschied 
ist nur der maximale DC-Offset den die Empfänger vertragen und die 
Versorgungsspannung.
Wenn beide Seiten eine gemeinsame Masse haben gibt es kein Problem, wenn 
sie keine haben muss ohnehin eine AC-Kopplung vorgesehen werden.

von Micha (Gast)


Lesenswert?

Erstmal Danke an Rufus für den Link, könnte aber obsolet sein...

@Jan: Guter Punkt.
Dass LVDS differenziell ist, ist klar. Man hat ja allerdings Constraints 
bzgl. der maximalen Spannung an den FPGA IOBs in Abhängigkeit davon  mit 
welcher Spannung (VCCO bei Xilinx) diese Bänke betrieben werden. Und die 
VCCO kann ich bei mir jew. nicht ändern. Scheint aber kein Problem zu 
sein:

Was ich so einfach nicht erwartet hatte (daher mein ursprünglicher Post) 
ist, dass selbst bei LVDS_25 (ist ein Terminus von Xilinx für 2.5 V 
LVDS), die High-Spannung immernoch << 2.5V ist (nämlich 1,675V, Common 
Mode Voltage sogar nur 1.4V). Und das darf ich immernoch in einen 
Empfänger-IOB füttern der mit 1.8V Betrieben wird.

Habe inzwischen auch rausgefunden wo ich bei Xilinx schauen muss ob es 
direkt machbar ist, das prüfe ich morgen nochmal im Detail schaut aber 
gut aus (ein FPGA macht LVDS_25 und einer LVDS und beide schicken sich 
gegenseitig Daten) sofern ich eine externe Terminierung statt einer 
FPGA-internen mache.

Sprengt vermutlich den Rahmen, aber wen es interessiert:
- UG471, Tabelle 1-55, Note1 und Text unter 1-44
- AR43989
- ds183: für die erlaubte eingangsspannung am VC707
- ds 187: das gleiche für zynq

von Jan M. (mueschel)


Lesenswert?

LVDS25, LVDS33 und LVDS18 haben nur deshalb unterschiedliche Namen, weil 
die Treiber und Empfänger je nach Versorgungsspannung unterschiedlich 
konfiguriert werden müssen - die Ausgangssignale sehen alle ziemlich 
gleich aus.
Selbst wenn an irgendeiner Stelle die common-mode Spannung außerhalb der 
Spezifikation sein sollte (ist sie nicht, weil in der Regel alle Treiber 
1.1V offset liefern) , kann man einfach eine AC-Kopplung einbauen und 
ist das Problem los. Der Spannungshub ist in jedem Fall etwa 400 mV, die 
Signale können also sicher erkannt werden.

Für wirkliche Niedrig-Spannungs-Anwendungen gibt es dann SLV(D)S, mit 
ungefähr halbierter Spannung, common mode 800 mV, swing 200 mV. Dann 
kann man die Bauteile auch mit 1.2V betreiben.

von Micha (Gast)


Lesenswert?

Ok, danke für die Erklärungen und noch eine schöne Woche.
Problem kann als gelöst angesehen werden.

VG, Micha.

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.