Hallo, ist es moeglich mittels DDFS einen Sinus mit einer Frequenz von 28.534421 MHz zu erzeugen, wenn der FPGA eine Taktfrequenz von 100 MHz hat? Und was fuer einen DAC benoetige ich, damit der Sinus genau und stabil ist? Reichen da 100 MSPS aus? Oder sollte es dann schon mehr sein? Habt ihr eine Empfehlung fuer einen DAC, der hier angebracht waere? Und wie hoch waere hier der Jitter? Und wovon ist dieser Jitter abhaengig? Nur von der Stabilitaet des 100 MHz Oscillator + des DACs? Danke. LilaLauneBart
Der Jitter hängt hier vor allem von deiner DDFS ab. Verbessern kannst du das indem du das FPGA höher taktest. Je nach Modell kannst du den Takt vielleicht auch mit einem MMCM recht genau erzeugen, jedoch dann als Rechteck. Daraus kann man dann mit etwas Analogbeschaltung einen Sinus machen.
LilaLauneBart schrieb: > ist es moeglich mittels DDFS einen Sinus mit einer Frequenz von > 28.534421 MHz zu erzeugen, wenn der FPGA eine Taktfrequenz von 100 MHz > hat? Theoretisch reicht es, weil du das Abtasttheorem einhältst. Du bräuchtest also "nur" nach den DAC ein Analogfilter, das die 28MHz nicht stört, das aber die 100MHz sehr gut unterdrückt. Praktisch ist dieser Frequenzunterschied von einem Faktor 3 miserabel: wie schon angemerkt solltest du versuchen, die DDS höher zu takten. Ein ordentliches Analogfilter wirst du trotzdem noch brauchen. LilaLauneBart schrieb: > Und was fuer einen DAC benoetige ich, damit der Sinus genau und stabil > ist? Reichen da 100 MSPS aus? Wenn du die IO-Timings des FPGAs so constrainen kannst, dass sich DAC und FPGA fehlerfrei verstehen, dann reicht das. Wenn nicht (weil z.B. der DAC ein Setup-Hold Fenster verlangt, das das FPGA nicht garantieren kann), dann musst du irgendwo timing margin gewinnen - z.B. durch einen schnelleren DAC. LilaLauneBart schrieb: > Und wie hoch waere hier der Jitter? vor allem von der Taktung der DDS und von der Qualität des Analogfilters, das nicht nur die "Stufen" im Spannungsverlauf sondern auch den Jitter wegbügelt.
LilaLauneBart schrieb: > 28.534421 MHz Aufs Hertz genau? Alles klar...für was brauchst du das? Ein Quarz schafft in der Größenordnung von 10ppm, also bei 10MHz ist er gern mal um 100Hz daneben. Rubidium Frequenzstandards liegen wohl im Bereich 10^-10, das kommt schon eher hin. Selbst wenn du den jitter runterbekommst mit der PLL, der Offset bleibt. Also, erstmal einen Rubidium Frequenzstandard besorgen...
Guest schrieb: > LilaLauneBart schrieb: >> 28.534421 MHz > > Aufs Hertz genau? Alles klar...für was brauchst du das? > > Ein Quarz schafft in der Größenordnung von 10ppm, Wenn es etwas teurer sein darf, geht auch 1ppm (bei konstant gehaltener Temperatur), mit einem Phase-Jitter < 1 ps (rms). Der Xilinx Clocking-Wizard dagegen erlaubt die Eingabe der Frequenz lediglich bis auf 1 kHz genau; was er tatsächlich daraus zusammenteilt, mag schon mal um bis 1% von der gewünschten Frequenz abweichen. Was die Frage aufwirft, ob die Kombination DDS zzgl. >>100 MSample/s DAC nicht besser durch einen externen Quarz mit ca. 28.5 MHz ersetzt werden kann/sollte. Gruß, Burkhard
LilaLauneBart schrieb: > ist es moeglich mittels DDFS einen Sinus mit einer Frequenz von > 28.534421 MHz zu erzeugen, wenn der FPGA eine Taktfrequenz von 100 MHz > hat? Fazit: nur theoretisch. In der Praxis schaffst du es nicht, einen ausreichend steilen Filter zu bauen. Oder andersrum: dein Sinus wird kein Sinus sein, sondern irgendwas "Zackiges". Und auch die vielen Nachkommastellen... Wofür brauchst du sowas?
@ Lothar Miller (lkmiller) (Moderator) Benutzerseite >> ist es moeglich mittels DDFS einen Sinus mit einer Frequenz von >> 28.534421 MHz zu erzeugen, wenn der FPGA eine Taktfrequenz von 100 MHz >> hat? >Fazit: nur theoretisch. In der Praxis schaffst du es nicht, einen >ausreichend steilen Filter zu bauen. Oder andersrum: dein Sinus wird >kein Sinus sein, sondern irgendwas "Zackiges". Einspruch. Bau einen schmalbandigen Bandpass und das passt schon. Der OP will ja anscheinen nur EINE exakte Frequenz generieren. Wobei man dazu keine DDS braucht, da nimmt man gleich den passenden Quarzoszillator.
Mit dem dann extrem schmalen Bandpass bekommt er aber starke Amplitudenschwankungen. Je schmäler der Bandpass, desto stärker schwankt die Höhe des Signals.
Lothar M. schrieb: > LilaLauneBart schrieb: >> ist es moeglich mittels DDFS einen Sinus mit einer Frequenz von >> 28.534421 MHz zu erzeugen, wenn der FPGA eine Taktfrequenz von 100 MHz >> hat? > Fazit: nur theoretisch. In der Praxis schaffst du es nicht, einen > ausreichend steilen Filter zu bauen. Oder andersrum: dein Sinus wird > kein Sinus sein, sondern irgendwas "Zackiges". > Und auch die vielen Nachkommastellen... > Wofür brauchst du sowas? Danke fuer eure Antworten. Die Taktfrequenz meines FPGAs wird von einem OCXO betrieben. - Hoffte das ich damit schonmal eine gute Basis fuer die DDFS habe. Mein Ziel ist die DDFS als LO eines Mixers zu betreiben. Clue der Geschichte soll sein, dass ich sich eine Frequenz waehrend einer Synchronisierungszeit justieren soll. D.h. durch Veraenderung des FTW (frequency tuning word) der DDFS kann dann man genau (zumindest theoretisch) die frequenz aendern... Wenn die Frequenz am Ausgang des Mixers mir nicht passt, moechte ich dann dem FPGA sagen, "Herr FPGA, bitte aendere das FTW so, dass ich diese oder diese Frequenz am Mixer AUsgang habe). Ist das moeglich? In der Zwischenzeit (in Hoffnung meine Ueberlegung hat Potential) habe ich mal nach einem passenden DAC gesucht. Aber ich finde nur DACs die man ueber SPI oder derartiges ansteueren kann... Gibt es denn keine DACs, auf die ich z.B. einfach uber PMOD ansteuere (also auf jedes Pin meines PMODs ein bit ausgebe und dieses dann direkt auf einen DAC geben und dann an einem Ausgangspin des DACs meinen gewunschten sinus habe? - Dachte an sowas wie ein R/2nR DAC... Wuerde hier ein R/2nR DAC Sinn machen?
Falk B. schrieb: > Wobei man dazu keine DDS braucht, da nimmt man gleich den passenden > Quarzoszillator. Deshalb: wofür wird diese ultragenaue Frequenz gebraucht? Denn selbst 1ppm ist noch um den Faktor 30 zu schlecht...
LilaLauneBart schrieb: > Gibt es denn keine > DACs, auf die ich z.B. einfach uber PMOD ansteuere (also auf jedes Pin > meines PMODs ein bit ausgebe und dieses dann direkt auf einen DAC geben du meinst einen schnellen DAC mit Parallelinterface? Klar gibt es so was. Bei Distributor deines Vertrauens die benötigte Abtastrate eingeben und beim Interface nach Parallel suchen, dann bekommst du z.B. folgende Auswahl: http://www.digikey.de/product-search/de?pv243=142&pv243=24&FV=fff40027%2Cfff80184%2C5700032%2C5700038%2C5700049%2C570004d%2C5700051%2C5700055%2C570005b%2C5700061%2C570006a%2C5700073%2C5700078%2C5700082%2C5700091%2C57000aa%2C57000be%2C57000ed%2C570015d%2C5700185%2C5700186%2C5700192%2C57001ca%2C57001d7%2C57001e5%2C57001f6%2C570020e%2C5700210%2C5700211%2C5700212%2C570021e%2C5700220%2C5700224%2C5700235%2C570023d%2C5700254%2C5700283%2C12540002&k=dac&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25 Allerdings reicht dem DAC im Normalfall nicht das parallele Datenwort, sondern er will auch noch einen Takt, der ihm sagt, wann das Datenwort zu übernehmen ist.
PS: bei deiner Anwendung tust du dich vielleicht mit einem dedizierten DDS-IC leichter: http://www.digikey.de/product-search/de?pv515=13&pv515=8&pv515=9&pv515=10&pv515=11&pv515=19&FV=fff40027%2Cfff801e9&k=dds&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25 Die können intern problemlos mit einigen 100MHz DDS-Takt laufen. Das selbe mit FPGA und externem DAC zu bauen, kann schwierig werden.
Achim S. schrieb: > PS: bei deiner Anwendung tust du dich vielleicht mit einem dedizierten > DDS-IC leichter Falls und wenn die Frequenz überhaupt geändert werden muss. Und auch dann stellt sich die Frage nach der tatsächlich bemötigten Auflösung und Stabilität...
Lothar M. schrieb: > Falk B. schrieb: >> Wobei man dazu keine DDS braucht, da nimmt man gleich den passenden >> Quarzoszillator. > Deshalb: wofür wird diese ultragenaue Frequenz gebraucht? Denn selbst > 1ppm ist noch um den Faktor 30 zu schlecht... Ich moechte eine Frequenz im UHF bereich (900 MHz) runtermixen auf 500 Khz. Der vorhandene Mixer enthaelt eine PLL. Diese PLL benoetigt einen Takt von 28.534421 MHz um auf 500 KHz zu kommen. Da ich waehrend der Synchronisationsphase genau auf die IF von 500 KHz kommen moechte, jedoch aber anfangs die Frequenz nicht genau passen wird, moechte ich diese mit dem DDFS des FPGA selbstjutierend korriegen. Heisst, mit dem FPGA ueberpruefe ich mittels Frequenzzaehler wie die Frequenz am MixerAusgang ist und solange diese nicht passt, wird das FTW hoeher bzw niedriger gesetzt, bis ich am Ausgang des Mixers genau die 500 kHz +/- paar mHz rausbekomme..... Deswegen auch der OCXO.... Moechte hier keinen Quartzoscillator verwenden, da ich dann nur durch die Kapazitaet die Frequenz aendern kann... das waehre ueber einen FPGA in meinem Sinne eleganter... Was meint ihr - Ist das moeglich?
LilaLauneBart schrieb: Diese PLL benoetigt einen > Takt von 28.534421 MHz um auf 500 KHz zu kommen. Wenn der Phasenkomparator deiner PLL auch mit einem Rechtecksignal umgehen kann, dann wären der DAC überflüssig. Schon mal das Datenblatt daraufhin angeschaut?
:
Bearbeitet durch User
Der Faktor dreikommairgendwas ist hier garnicht einmal das Problem. Man kann da durchaus einen Filter für bauen. Das Problem ist, dass die DDS schwebt, wenn man nicht dieselbe für den Bereich optimiert. Und dann muss man fragen, wozu man DDS macht, wenn die Frequenz konstant sein soll! Eine DDS mit einstellbare Frequenz wird IMMMER Phasenfehler haben, die weggeglättet werden müssen und dies geschieht mit einem Tiefpass. Ein Tiefpass und kein Schmalbandfilter muss es sein, damit die Frequenz einstellbar ist. Hinzu kommt, dass es hier wohl sehr genau sein muss. Wozu also FPGA? Klar könnte man mit einer zweistufigen DDS zunächst den Takt und dann daraus den Sinus machen. Das geht sogar prima, weil man ein Vielfaches der Frequenz nehmen kann, z.B. das 16fache und daraus den Sinus generiert. Aber: Bei DEN Anforderungen braucht es einen sher genauen Eingangstakt / Oszillator und den kann man auch ohne FPGA auswerten: Ein Chip kann das genau so gut, wenn man erst einmal den Takt hat. Also 14,50 für den Oszillator, 57,20 für die Temperatur- und Driftkompensation und 22,40 für den AD-Chip. Ein FPGA kommt nur in Frage, wenn man mit mehr Jitter leben kann. Dann reicht ein Spartan mit angeschlossenem Quarz und manueller Taktratenherabsetzung durch IOs sowie ein angeschlossenes Filter. Macht 10,50! Das Filter dann gerne steilflankig. Allerdings: Wenn man ein so genaues steilflankiges Filter hat, kann man es auch gleich rückkoppeln und ist fertig :-) Achim S. schrieb: > PS: bei deiner Anwendung tust du dich vielleicht mit einem > dedizierten > DDS-IC leichter: > http://www.digikey.de/product-search/de?pv515=13&p... Exakt. > Die können intern problemlos mit einigen 100MHz DDS-Takt laufen. Bis 3 GHz ist es aktuell, soweit mir bekannt. Wer es super genau und trotzdem einstellbar braucht, nimmt ein DDS-IC mit einem geringen Ausgangstakt, z.B. nur 5 MHz, hat also einen DDS-Sinus mit Auflösung 1:1000 und fitert den entsprechend. Diesen gibt man auf eine PLL, die den Jitter rausnimmt und einen entsprechenden stabilen Takt für ein zweites DDS-IC mit Aussentrigger.
Okay dann wird das wohl nichts... Ihr habt mir ueberzeugt. - Danke für eure aufschlussreichen Beitraege. Habt mir wohl eine Menge Arbeit und schlussendlich eine Enttaeuschung erspart.
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.