LVDS receiver in FPGA

Gast #1275958
Lesenswert?

Hallo,
ich habe mal ein paar verständnissfragen zu LVDS.
Ich möchte an einem FPGA (Xilinx Virtex 5) ein LVDS-Signal empfangen.
In den Spezifikationen zu dem FPGA, wird beschrieben, dass bestimmte I/O 
Pins für diesen zweck geeignet sind.
Nun meine Fragen:

1. In den spezifikationen zu LVDS wird beschrieben das der 
"Output-Swing" plus minus 350mV beträgt... wird dies vom FPGA problemlos 
erkannt?

2. Wie kann ich aus dem differenziellen Signal mein "normales" digitales 
Signal zurückgewinnen? Muss ich dafür etwas bestimmtes in meinem 
VHDL-code implementieren (gibts da was von Xilinx... wenn ja wo)? oder 
muss ich mir da selber was in VHDL einfalles lassen.

schon mal Danke
Gast #1276022
Lesenswert?

An sich gehört zwischen den p- und den n-Pin bei LVDS noch ein 100 Ohm 
Widerstand, sonst funktionierts nicht. Es gibt aber auch die 
Möglichkeit, das mit DCI zu machen, da wird dieser Widerstand im FPGA 
dazwischen geschalten. Welche Variante man nimmt hängt hauptsächlich 
davon ab, wieviel Platz man für Widerstände auf dem Board hat. Lies dir 
mal DCI Kapitel im V5 User Guide durch, da gibts auch gute Diagramme, 
die das verständlich machen.
Gast #1276034
Lesenswert?

mit dem Widerstand mach ich mir keine Sorgen, weil ich für diesen Zweck 
das Eval Board ML507 von Xilinx benutzen werde und die schon drauf sind.

Was ich noch nicht verstehe, ob dieser Output Swing von 350mV bei LVDS 
standart ist und ich damit dierekt an den FPGA gehen kann, oder ob es da 
noch etwas zu beachten gibt. Sind das am FPGA spezielle Pins, die diese 
geringe Spannung erkennen?
#1276077
Lesenswert?

Wenn du die zum LVDS-Standard passende IO-Spannung anlegst und den 
richtigen IO-Standard einstellst, passt das zusammen. Am besten noch per 
DCI die Impedanz einstellen, sonst musst du wie geschrieben an jedes 
Paar den Widerstand dran machen. Wenn du die beiden Widerstände für den 
DCI korrekt bestückst, macht das der Virtex intern.
Gast #1276086
Lesenswert?

Das ganze geht dann an einen Komparator, der aus diesem Voltage Swing 
ein Signal mit dem Spannungspegel der internen Logik macht. Wenn man den 
richtigen I/O-Standard für die Synthese vorgibt (zb LVDS 2.5 V) dann 
wird dieser Komparator an die beiden Pins geschalten und es ist alles 
geregelt. am Ausgangssignal der IBUFDS Komponente kriegt man ein Signal, 
das man einfach im VHDL Code weiter verarbeiten kann.
Gast #1276092
Lesenswert?

bei dem VHDL code, den ich gefunden hab steht unter anderem:
IOSTANDARD => "LVDS_25"

ist damit die Versorgungsspannung des FPGA's gemeint, oder doch der 
Spannungspegel der LVDS Schnittstelle, wobei die denke ich wesentlich 
kleiner ist???
Gast #1276104
Lesenswert?

Nein, das ist schon der I/O Standard, den du brauchst (ich hab mich da 
oben falsch erinnert, LVDS gibts eh nur mit 2.5 V). Der I/O Standard 
kann auch im UCF File gesetzt werden, so mach ich das immer. Die von dir 
genannte Methode sollte aber auch funktionieren.

Bei der Synthese wird auch eine *.pad Datei erzeugt, die auflistet, 
welche Ausgänge an welchen Pin mit welchem I/O Standard gehängt wurden, 
es kann nicht schaden (zumindest nicht nach der ersten Synthese), dort 
zu kontrollieren, dass wirklich LVDS für die Pins eingetragen ist.
Gast #1276117
Lesenswert?

ok schonmal vielen dank, aber wenn du sagst LVDS gibt es eh nur mit 
2,5V, warum steht dann in denn spezifikationen was von +/- 350mV? Kann 
ich die 2,5V an der LVDS Schnittstelle messen? Aus dem Datenblatt, von 
dem Gerät, von dem ich das LVDS Signal bekomme steht eben nix drin über 
die Spannungspegel? Was mich vermuten lies das es da eienen Standart 
gibt und ich eben die besagten +/-350mv gefunden hab.
Gast #1276240
Lesenswert?

Puh, jetzt fällt mir auch schon langsam nix mehr ein. Was ich sicher 
weiß: Die I/O Bank auf der die LVDS Traensceiver am FPGA hängen braucht 
2.5V I/O Spannung. Die 250 mV auf die du dich beziehst sind die 
Spannung, die über den Widerstand abfallen. An sich ist LVDS ein 
Stromtreiber, das Ding ist also so gebaut, dass es ca 3.5 mA durch die 
Leitung durchtreibt und damit diesen besagten 350 mV Spannungsabfall 
über den Widerstand macht. Die I/O Spannung wird für die Komponenten im 
FPGA gebraucht, auf die bezieht sich eben die Spannung von 2.5 V.

Nach meinem Verständnis kann man das ganze auch, sofern ein geeigneter 
Komparator benutzt wird, an eine 3,3 V Schaltung dranhängen, wichtig ist 
dass der Komparator am Eingang hochohmig ist und den Unterschied von ca 
350 mV zu einem Spannungspegel wandeln kann, der von der 
dahinterliegenden Schaltung sicher abgegriffen und weiter verarbeitet 
werden kann.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren