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
ok... ich hab jetzt von Xilinx VHDL code gefunden, der mir das differenz Signal wider wandelt (Stichwort IBUFDS). Bleibt noch die Frage ob das LVDS Signal einfach an die dafür vorgesehenen Pins am FPGA angeschlossen werden kann?
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.
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?
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.
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.
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???
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.
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.
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.
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.