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
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.