Forum: FPGA, VHDL & Co. AD9224 ADC an Spartan 3E


von exseler (Gast)


Lesenswert?

Hallo zusammen,

ich möchte einen AD9224 ADC (40Ms/s) an ein Spartan 3E hängen. Ich bin 
sonst immer etwas langsamer unterwegs und nach den Kommentaren im ADC 
Datenblatt habe ich etwas Respekt vor dem ADC-Clock.
Mein Plan wäre den Clock mit einem eigenen DCM im FPGA zu erzeugen, über 
einen Pin auszugeben und über einen Buffer (muss auch auf 5V umgesetzt 
werden) dem ADC zuzuführen. Dazu hätte ich folgende Fragen:

1. Macht das so überhaupt Sinn oder macht man das schon bei 40MHz lieber 
anders.
2. Sind dazu bestimmte Spartan Pins besser geeignet als andere?
3. Was wäre als Buffer geeignet, evtl gleich mit 3.3 auf 5V 
Pegelumsetzung. Kann man da einfach ein HCT Gatter nehmen?

Wäre für ein Paar Ratschläge dankbar.

Grüße,
Rudi

von Christian R. (supachris)


Lesenswert?

ADC Clock gibt man nicht aus einem FPGA aus, (und schon gar nicht aus 
DCM/PLL) sondern schließt den direkt an einen jitter-armen 
Quarzoszillator an. Bei 40MS/s und 12 Bit mag das noch gehen, aber 
sauber ist das nicht. Lieber direkt an den Oszillator, dann einen 2-fach 
jitterarmen Buffer und dann an den FPGA.

von exseler (Gast)


Lesenswert?

Danke für die Einschätzung. Was bringt eigentlich zweifacher Buffer? Ist 
mir nicht ganz klar. Hättest du eine Empfehlung welchen Baustein man da 
nehmen könnte zumal noch die Pegelumsetzung dazu kommt?

Von der Strategie her könnte ich mir dann für die Übernahme ins FPGA 
(läuft bei mir auf 100Mhz) zwei Möglichkeiten vorstellen: Entweder die 
ADC Datenleitungen direkt als asynchrone Signale auf den FPGA Clock 
einsynchronisieren (mit zwei Registern), oder einen Teil des FPGAs mit 
dem ADC Clock laufen lassen, die Daten synchron übernehmen und später 
einsynchronisieren. Ist da das eine geschickter als das andere?

Grüße,

Rudi

von Christian R. (supachris)


Lesenswert?

Doppelter Buffer verhinder Stubs auf der Clock-Leitung und damit 
eventuelle Relexionen, die die Qualität des Taktes beeinflussen.
Mit der 5V für den CLK ist echt blöd an dem ADC, aber das zusätzliche 
Delay durch den Pegelwandler kannst du ganz gut mit dem DCM im FPGA 
ausgleichen. Bei 40MHz und einem schnellen Pegelwandler dürfte das aber 
recht wenig sein.
Ich würde die ADC Daten erst mal mit den 40 MHz einlesen durch einen 
Dual-Clock FIFO jagen und dann mit 100MHz auslesen. Kommt aber halt auch 
bissl auf die Anwendung an. Ich hab auch ein Design, da läuft da ganze 
Sampling und die Datenverarbeitung mit dem ADC Takt und wird dann ganz 
zum Schluss erst mit einem FIFO auf den Bustakt angepasst. Da ist der 
ADC aber schneller als der Bus und es werden immer nur x Samples 
gespeichert.

von exseler (Gast)


Lesenswert?

Nochmals Danke für die Kommentare!

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.