Forum: FPGA, VHDL & Co. seriell parallel Wandlung von double data rate Signalen


von Maik (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> (Timing)
Hast du Zahlen zur Datenrate bzw. DCO-Frequenz?

von Maik (Gast)


Lesenswert?

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

von Johann (Gast)


Lesenswert?

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?

von Joko (Gast)


Lesenswert?

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

von Johann (Gast)


Lesenswert?

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.

von Joko (Gast)


Lesenswert?

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

von Johann (Gast)


Lesenswert?

Stimmt an die habe ich nicht gedacht.

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.