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


von Johann (Gast)


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?

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


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?

von Klaus F. (kfalser)


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.

von J. S. (engineer) Benutzerseite


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.

von Johann (Gast)


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?

von Patrick S. (abaddon1979)


Lesenswert?


von J. S. (engineer) Benutzerseite


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?

von Zefix (Gast)


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 ...

von J. S. (engineer) Benutzerseite


Lesenswert?

> wird das aber eh nix ...

Tja Johan, jetzt weisst du es :-)

von Johann (Gast)


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.

von Zefix (Gast)


Lesenswert?


von gagamel (Gast)


Lesenswert?

Hey das kannt ich auch nocht nocht, Johann, wir danken Dir!

von Patrick S. (abaddon1979)


Lesenswert?

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

von Michael O. (mischu)


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....

von gagamel (Gast)


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,,,

von Angus (Gast)


Lesenswert?

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

von GAST (Gast)


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.

von Amöbe (Gast)


Lesenswert?

Full Ack! Die eigentlichen Probleme liegen in der Nachhaltigkeit des 
Projekts. Vergiss es!

von Querdenker (Gast)


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).

von Hanane (Gast)


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

von Frank (Gast)


Lesenswert?

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

von Johann (Gast)


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.

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.