mikrocontroller.net

Forum: FPGA, VHDL & Co. 500MHz ADC Board


Autor: Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo @ all

Ich möchte ein Signal mit dem E2V (ehemals Atmel) 500MHz 12Bit ADC 
digitalisieren. Das digitalisierte Signal soll in einen externen Puffer 
z.B. SDRAM geschrieben werden bevor es dann über einen noch nicht 
festgelegte Schnittstelle an den PC gesendet wird.

1. Welchen FPGA muss ich dafür benutzen? (Bis jetzt habe ich einige 
Jahre mit einem Spartan 2 gearbeitet.)

Der ADC bekommt seinen Clock nicht vom FPGA sondern von einer externen 
Quelle. Der Clock ist nicht konstant, sondern ändert sich von 10MHz bis 
hin zu einigen 100MHz. Daher zu meiner Frage wie kommt der ADC und der 
FPGA mit einer sich verändernen Clock-Frequenz klar. Ist es überhaupt 
möglich dies umzusetzen?

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

Bewertung
0 lesenswert
nicht lesenswert
> 500MHz 12Bit ADC digitalisieren.
Schon schön sportlich.

> Der Clock ist nicht konstant, sondern ändert sich von 10MHz bis
> hin zu einigen 100MHz.
Diese Latte liegt recht hoch...
Wie schnell verändert sich der Takt?
Ist der zu irgendwas synchron?
Woher kommt der?

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Daher zu meiner Frage wie kommt der ADC und der FPGA mit einer sich
> verändernen Clock-Frequenz klar.

Das FPGA sollte mit einer fixen Taktfrequenz laufen. Die Eingangsdaten 
kommen mit der variablen Frequenz in ein FIFO, dieses wird von FPGA mit 
einer fixen Frequenz ausgelesen. Dann muß nur garantiert sein, dass 
alles mit der maximalen Eingangsfrequenz klappt.

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann, muss aber nicht. Wenn man den Teil, den frontseitig den 
asynchronen FiFo beschreibt funktionsfähig bekommt, geht das auch mit 
dem gesamten FPGA :-)

Aber um es einfach zu halten, sollte man in der Tat den Wandler zusammen 
mit dem annehmenden Register direkt takten, wobei man bei 100MHz mit 
einem schnellen FPGA auch konventionell eintakten könnte. Das ist etwas 
sicherer im Fall eines unsauberen clocks / problematischen Flanken.

Autor: Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich auf dem FPGA einen konstanten Takt verwende, dann muss ich 
sicherstellen, das ich nicht langsame Frequenzen mehrfach auslese.

Wenn ich z.B. einen FPGA-Takt von 500MHz habe, und der ADC gerade mit 
einer Frequenz von 100MHz angesteuert wird, dann lese ich die gleichen 
Daten 5 mal aus.

Der ADC hat nur einen CLK Eingang, CLK Ausgang und die Datenleitungen. 
Daher bietet es sich an die CLK-Ausgang des Wandlers an den 
Clock-Eingang des FPGAs anzuschließen. Nur weiß ich halt nicht ob der 
FPGA mit einem dynamischen Clock sauber läuft.

Ich würde mit dem dynamischen Clock die Daten in einen Dual-Block-Ram 
schreiben. Mit einem konstanten Clock von ca 400 oder 500MHz die Daten 
auslesen und in einen externen SRAM schreiben.

Bekommt man dies mit einem Virtex 2, Virtex 4 oder Virtex 5 hin?

Autor: Patrick Sulimma (abaddon1979)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn ich z.B. einen FPGA-Takt von 500MHz habe, und der ADC gerade mit
>einer Frequenz von 100MHz angesteuert wird, dann lese ich die gleichen
>Daten 5 mal aus.

Ja, aber Du liest ja den Clock, mit dem beide Chips in dem Fall kommen, 
ein und reagierst bitte nur einmal je steigender Flanke. :-)

Du musst natürlich die Beziehung zwisschen den Daten und dem Takt 
seitens des Chips beachten und gfs skew nutzen, damit nach erfasster 
Flanke die Daten korrekt erfasst sind, falls da viel Latenz sein sollte. 
Of ist es aber so, dass die Daten mit der fallenden gültig sind, dann 
wird es wieder einfach.

Wie gesagt, normalerweise könnte man den Takt, der ADC und FPGA trieben 
soll direkt für das Eingangsregister nehmen, aber wenn ich so seltsame 
Sachen höre, dass dieser Takt stark variiert.

Warum eigentich?

Autor: Zefix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Xilinx bietet zu diesem Thema eine Application Note an.
Da du aber offensichtlich schon zu faul bist um ordentlich zu
recherchieren wird das aber eh nix ...

Autor: Jürgen Schuhmacher (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wird das aber eh nix ...

Tja Johan, jetzt weisst du es :-)

Autor: Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Karte habe ich bereits gesehn. Sie ist aber noch nicht verfügbar.

@ Zefix Ich will mich erst mal über die Machbarkeit informieren, bevor 
ich mich in Tonnen von Dokumenten begrabe.

Wenn Du die Application Note schon gefunden hast hättest Du ja auch so 
freunlich sein können und diesen Link hier posten können.

Autor: Zefix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.xilinx.com/publications/xcellonline/xce...

lesen kannste aber alleine nehm ich an ...

Autor: gagamel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey das kannt ich auch nocht nocht, Johann, wir danken Dir!

Autor: Patrick Sulimma (abaddon1979)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sage Bescheid wenn die Karte verfügbar ist, wird nicht mehr lange 
dauern.....

Autor: Michael O. (mischu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei variabler Taktfrequenz mit AD-Wandlern solltest Du noch folgendes 
beachten:

Normalerweise verwendet man ein Anti-aliasingfilter (Tiefpass) vor dem 
Eingang des ADC um Spektralanteile mit Frequnzen jenseits der 
Nyquistfrequenz herauszufiltern.

Streng genommen müsstest Du je nach Abtastfrequenz deinen Tiefpass 
anpassen, da sich mit Änderung der Abtastfrequenz jeweils eine neue 
Nyquistfrequenz einstellt.

Wenn Du es ganz sauber machen möchtest, dann taste konstant mit 500MSPS 
ab, und rechne eine decimation filter (Abtastratenkonversion) im FPGA. 
Damit macht dein Wandler immer die volle Performance, der analoge 
Tiefpass stimmt, und du hast immer die richtige Ausgangsbandbreite.
Ist wohl ein bischen Arbeit....

Autor: gagamel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Streng genommen müsstest Du je nach Abtastfrequenz deinen Tiefpass
> anpassen, da sich mit Änderung der Abtastfrequenz jeweils eine neue
> Nyquistfrequenz einstellt.

Ich glaube es ist einfacher, er sampelt maximal und dezimert dann 
später,,,

Autor: Angus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Außer es muss merklich auf Strom geachtet werden. Dann wäre es 
vielleicht ratsam schon so langsam wie möglich abzutasten.

Autor: GAST (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wer achtet schon auf den Stron? Druch das Glühlampenverbot ist soviel 
Strom übrig, der verbraten werden muss, da braucht es noch viele FPGAs.

Aber passt mal auf: Demnächst kommt ein FPGA Verbot. Dann würfen nur 
noch stronpsarende Typen verkauft werden. Jede LED braucht dann einen 
Shutdown.

Autor: Amöbe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Full Ack! Die eigentlichen Probleme liegen in der Nachhaltigkeit des 
Projekts. Vergiss es!

Autor: Querdenker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Außer es muss merklich auf Strom geachtet werden. Dann wäre es
>vielleicht ratsam schon so langsam wie möglich abzutasten.

Nicht die ganze wahrheit, FF brauchen nur beim Umladen Leistungen, also
ist es Leistungsmäßig kein so großer Untershied ob du eine 
Konstantspannung mit 50 oder 500 Mhz abtastet im vergleich zum Abtasten 
einer 50 MHz Spannung (bei Vollaussteuerung).

Autor: Hanane (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen !!
Ich suche eine Lösung für ein Problem und zwar wie kann ich eine 
Datenmenge von 23Mbyte/s die aus einem ADC der 14 bit auflösung hat , 
mit einem MC bearbeiten?? sprich der MC soll die Daten speichern und 
auswerten..hat jemand von euch einen Vorschlag???
Ich habe schon ein NEC V850 E2/Me3 ( 200 MHz) ausgesucht aber ich weiss 
es nicht ob er fähig ist um die Daten zu speichern und auch 
auswerten!!!?????
Gruss hanane

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du fragst in einem FPGA Forum, also wird die logische Antwort hier sein:
Nimm einen FPGA
Ein Spartan 3 Reicht da völlig

Autor: Johann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem PDF hört sich schon mal ganz gut an. Ich werde es mir über 
Weihnachten mal durch den Kopf gehen lassen. Dann habe ich sicherlich 
einige Fragen dazu. Vielleicht weiß dann auch einer eine Antwort darauf 
^^.

Schon mal Danke für die Informationen.

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.