Hallo ich habe an meinem Xilinx V5 einen AD Wnadler von Analog gefrickelt. Der Bausteon gibt mir folgende Signale 14 Bit Daten seriell in LVDS DCO (Clock für die Daten) in LVDS FCO (Clock gibt an wann die 14 Bit neu anfangen) in LVDS Ich möchte den seriellen Datenstrom jetzt gerne parallel wandeln. Mein Problem ist allerdings das es sich um ein double data rate System handelt. Ich muss also mit steigender und fallender Flanke die Daten seriell parallel wandeln. Ich komme gerade nicht auf den namen aber die Xilinx IO's können ja auch seriell parallel wandeln. Aber ich meine keien 14 Bit und erst recht nicht LVDS glaube ich. Gibt es Ideen wie man diese Problem möglichst geschickt (Timing) lösen kann. Das Problem ist natürlich das mein Logik zum seriell parallel Wandeln 14 mal schneller sein muss als meien spätere parallele Verarbeitung. Die jetzt bestimmt kommenden Fragen wie schnell die clk sein wird möchte ich gleich mit der Aussage so schnell wie möglich begegnen.
> (Timing)
Hast du Zahlen zur Datenrate bzw. DCO-Frequenz?
Wie gesagt ich möchte so hoch wie möglich kommen. Damit ich meinen AD Wandler so gut wie möglich ausnutzen kann. Der AD schafft 50MHz das sind seriell immerhin 700MHz. Das werde ich wohl nicht schaffen :o) Aber so 300 bis 350 MHz wären schon ne Wucht. Aber generell um so schnell um so besser. DCO wäre ntürlich immer nur die halbe Frequenz ist ja DDR
So viel ich weiß bekommst Du die Daten vom AD-Wandler parralel als LVDS. Bedenke das Du hierfür nicht die normalen I/O Buffer nehmen kannst sondern die LVDS-BUFFER. Die LVDS Buffder erzeugen aus dem differentiellen Signal (P und N Leitung) wieder einen normalen digitalen Pegel. Zudem haben die LVDS-Leitungen auch sehr geringe Schaltzeiten. Hinter diesen Buffern hast Du also wieder einen "normalen" 14 Bit breiten Datenbus. Möchtest Du diesen jetzt in einem externen RAM abspeichern?
700MBit/s in LVDS ? da lacht sogar ein Spartan6 drüber (kann bis zu 1,05 GBit) 770 MBit/s laufen bei uns in der Hardware (Spartan6 !!!!) Also sollte das mit nem Virtex5 auch machbar sein
Wenn ich ehrlich bin habe ich seind Projekt noch nicht verstanden. Er hat einen 14 Bit AD/Wandler der mit 50MHz digitalisiert. 1. Wie bekommt der AD-Wandler seinen Clock? (kommt dieser direkt von einem Quarz oder vom FPGA) 2. Wie werden die Daten nun vom AD-Wandler zum FPGA übertragen? (seriell oder parallel?) Das mit dem Spartan 3 ist so nicht richtig. Da LVDS verwendet wird, muß der Eingangsbuffer im FPGA auf LVDS umgeschaltet werden. Dann kann man im Datenblatt nachschauen wie schnell die IO Ports mir LVDS- Signalen betrieben werden können. Wenn ich mich recht erinner dann erreicht man 1,05GBit nur mit den DDR Registern. Jedoch haben die FPGAs zum Bsp. so ein Virtex 5 und sicher auch ein Spartan 6 GTP Ports die dann bis zu 3,125 GBit können. Ich verstehe blos nicht warum Du nicht ein 50MHz AD-Wandler mit einem parallelem Bus nimmst? Deine Informationen sind immer sehr wenig.
im Spartan6 gibts ISERDES - in Verbindung mit LVDS sind hier 1,05 GBit/s möglich, die dann intern auf den n-ten Teil runter getaktet werden. Im o.a. Fall dann bei einem Spartan6 (siehe xapp1064) - erst auf 700MHz/7 = 100 MHz (nur Teiler 1..8 möglich) - dann auf 100MHz/2 mit "User Logic", um wieder 14 Bit parallel zu bekommen V5 hat ebenfalls diese ISERDES. Mit Virtex kenn ich mich nicht aus - aber im V5 könnte durchaus eine 'direkte' Umsetzung auf 1:14 möglich sein: glaube, dort sind die (de-)serializer doppelt so breit/tief
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.