mikrocontroller.net

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


Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> (Timing)
Hast du Zahlen zur Datenrate bzw. DCO-Frequenz?

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Joko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joko (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt an die habe ich nicht gedacht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.