Hallo an alle, ich hoffe ihr könnt mir einen Schubs in die richtige Richtung geben. Ich möchte über einen BCD-Schalter, inem Codeumsetzer (momentan ATMEGA16) und einen Frequenzteiler Frequenzen von 50kHz - 20MHz einstellen können. Pegel ist eigentlich "egal" (5 Volt wäre gut). Seither habe ich einen Referenztakt (20MHz Quarzoszillator) mit dem 74HC40103 (8Bit Binary Down Counter) auf den gewünschten Ausgangstakt heruntergeteilt. Nun sollen noch mehr Frequenzen und auch die 20MHz direkt als Ausgangstakt realisiert werden. Leider kann man bei diesem Baustein aber den Takt nicht 1:1 durchleiten. -->Also müsste ich einen höheren Ref-Takt nehmen (max_f=40 MHz) und den dann bis auf 50kHz runterteilen. Das geht aber mit den 8 Bit des Teilers nicht. Eine Kaskadierung kommt durch das min. Teilerverhältnis von 1/2 auch nicht in Frage. Also beschäftige ich mich seit geraumer Zeit mit anderen Teilern(74HC4059, 74F525...). Da ich mit Ihnen nicht den kompletten Frequenzbereich abdecken kann, sind diese leider alle ungeeignet oder mittlerweile nicht mehr verfügbar. Das Problem an der ganzen Sache ist, dass der erzeugte Ausgangstakt möglichst kleine Jitter werte haben sollte, was ich seither ziemlich gut realisiern konnte. Eine andere Möglichkeit wäre ein CPLD mit einstellbarem Teilerverhälnis. Das ganze wäre da ja mit ca. 9-10 T-FF´s und ein paar normalen Logikbausteinen realisierbar. Da bekomme ich dann aber evtl. auch wieder Probleme mit dem 50%Tastverhältnis. Doch wie sieht es da mit dem Jitter/Phasenrauschen aus? Ich hab ja da dann eine gewisse Taktabhängigkeit vom CPLD? Oder sehe ich das falsch? Hat jemand schon mal was ähnliches gemacht? Gruß und danke Mani
>hast Du mal über einen DDS-Chip nachgedacht?
Ja, hab ich erlich gesagt auch schon. Aber ich glaube nicht dass ich da
so Jitterarm bin wie mit einer Logikschaltung!?
(Da hab ich wenigstens kontinuirliche Signallaufzeiten)
Aber da lass ich mich gerne belehren :-D
(hab auch erlich gesagt noch nichts mit DDS gemacht).
Danke für die Antwort.
Gruß Mani
Ein guter DDS_Chip mit sauberem Eingangstakt und korrekt dimensioniertem Tiefpassfilter am Ausgang kann extrem niedrigen Jitter haben. Uebrigens im Gegensatz zu der von Dir verwendeten 74HCxx-CMOS-Logik - die hat um viele Klassen mehr Jitter (wenn Du Logikbausteine mit sehr niedrigen Jitter willst, musst Du differentielle Gatter verwenden - Stichwort ECL/PECL). Ich baue gerade ein Geraet, das den AD9912 von Analog Devices verwendet. Da messe ich ueber den Bereich von 40 - 330 MHz einen Jitter von unter 1.5ps RMS (bis auf einige Spurs sogar unter 1ps RMS); das Problem ist da eher schon, so niedrige Jitterwerte ueberhaupt zu messen (kann man aber mit einer Schaltung um wenige Euro, wenn man weiss, wie :-) Das Taksignal kommt von einem 100 MHz-Quarzoszillator. Du kannst ein Eval-Board fuer diesen Chip fuer US$250 von Analog bestellen - das ist billiger, als Du so ein Einzelstueck selber bauen kannst, und Du brauchst keinen 0.5mm-Pitch-Chip selber aufloeten. Der Chip hat ausser einem differentiellen Ausgang auch einen CMOS-Level-Ausgang (2.5 - 3.3V je nach Spannungsversorgung), der gegenueber dem differentiellen Ausgang um den Faktor 1 - ~128000 heruntergeteilt werden kann; 50 kHz Ausgang mit nHz (ja, nano-Hertz)-Aufloesung sind damit kein Problem. Analog hat auch eine ganze Serie anderer DDS-Chips im Angebot, einer passt sicher fuer Deine Ansprueche. Die Eval-Boards fuer diese Chips kann man sowohl ueber USB vom PC als auch ueber SPI von einem Mikrocontroller ansteuern. Wolfgang
Hallo Wolfgang, danke für deine ausführliche Schilderung. Das dass so genau (immer relativ) geht mit dem DDS wusste ich nicht. 250 Takken ist mir dann doch ein bischen zu viel...dachte da eher an eine Lösung für 2-10 Euro. Wie gesagt hab ich auch noch garnichts mit nem DDS gemacht (ich weis...es ist immer das erste mal). Wie aufwendig ist denn sowas im vergleich zu einem CPLD? Gruß Mani
Äh...ich schieß mal gleich noch ne Frage hinterher:
>und korrekt dimensioniertem Tiefpassfilter am Ausgang
Auf was für einen Frequenzbereich soll man den denn auslegen wenn man
z.B wie bei mir einen Bereich von 50kHz - 20MHz hat?
Einfach in die Mitte und gut?
Danke.
>Auf was für einen Frequenzbereich soll man den denn auslegen wenn man >z.B wie bei mir einen Bereich von 50kHz - 20MHz hat? >Einfach in die Mitte und gut? Nix in der Mitte. 3dB Grenzfrequenz bei etwas ueber 20MHz je nachdem wie steil dein Filter ist. Gruss Helmi
Klingt irgendwie logisch ... War grad noch bei nem Rechtecksignal und dachte, dass ja dann die ganzen Oberwellen weg sind :-D Aber kann mir noch jemand sagen wie aufwendig dass sowas mit nem DDS ist. Möchte ja eigentlich nur einen Referenztakt runterteilen, alla Frequenzteiler. Mit nem CPLD haben dass hier ja schon einige Leute gemacht. Mein Problem ist es, dass ich nicht ne große Ahnung in der Auswahl der Komponente habe (ob jetzt Lattice, Altera, Atmel...?). Wenn ich also jetzt einen Referenztakt von z.B. 40 MHz habe und den auf die Werte 20MHz,10MHz,5MHz, 2MHz,1MHz,500kHz, 200kHz,100kHz,50kHz runterteilen möchte, dann brauche ich ja jeweils Teiler durch 2 (einfaches T-FF) und teiler durch 10 (von z.B 20MHz --> 2MHz). Das heißt ich bräuchte 6 Teiler durch 2 und 3 Teiler durch 10 um alle Frequenzen abzudecken. Oder halt einen Zähler den ich bei Carry / Borrow zurücksetzte. Das wären dann so grob über den Daumen gepeilt 10 Bit für den Zähler und ein Latch für den Ausgang? Das heißt ein CPLD mit um die 20-30 Makrozellen müsste ausreichend sein, oder? Könnt ihr mir da nochmal weiterhelfen? Gruß Mani
Zum DDS-Filter - dessen Grenzfrequenz muss mindestens ein bisschen ueber der hoechsten gewuenschten Frequenz liegen, maximal aber bei der halben Samplerate (in der Praxis eher bei 40% oder darunter). Was auch heisst, fuer 40 MHz am Ausgang brauchst Du mindestens 100 MHz Samplerate (mehr ist besser). Viele der DDS-Chips haben aber eingebaute PLLs zur Frequenzvervielfachung des Referenztaktes. Wenn Du langsamere Chips nimmst als "meinen" AD9912 sind die Eval-Boards auch etwas billiger, aber fuer ein paar Euros gibt es auch die nicht. Wenn Du wirklich nur um ganzzahlige Verhaeltnisse teilen musst, ist allerdings ein CPLD einfacher. Nur - diese Dinger sind dezidiert NICHT auf niedrigen Jitter getrimmt. Die brauchen ja bloss zuverlaessig innerhalb einer Bitperiode schalten, es ist aber (relativ) egal, wann genau. Was sind denn eignetlich Deine genauen Anforderungen an den Jitter? ("niedrig" heisst ganz unterschiedliche Sachen fuer unterschiedliche Leute bzw. Anwendungen) Ansonsten sind CPLDs recht einfach benuzten. Ich persoenlich mag Xilinx, aber so ziemlich jeder andere Anbieter geht auch. Du bekommst CPLDs mit bis zu 72 Makrozellen in Hobby-freundlichen MLCC-Verpackungen (die kann man noch in Sockel reinstecken). Z.B. den XC9572, der hat 72 Zellen und laeuft auf 5V. Fuer niedrigere Betriebsspannungen gibt es mehr Auswahl. Wolfgang
@Wolfgang: >Was sind denn eignetlich Deine genauen Anforderungen an den Jitter? Aus eigenem Ergeiz soll er "so niedrig wie möglich" sein. Wenn ich mir aber den Aufwand überlege den ich evtl. dafür betreiben muss, dann ist ein bischen Jitter mehr vielleicht auch nicht so schlimm :-D Mache gerade was in Richtung Kammgenerator. Und um im Spektrum etwas sauberere Signale zu bekommen wollte ich möglichst wenig Jitter. Aber dann sind die Spektrallinien eben etwas breiter. Also dann werd ich wahrscheinlich mal in Richtung CPLD gehen. Der XC9572 ist mir von den Dimensionen fast etwas zu groß!? Theoretisch brauche ich ja nur 5 Portpins (4xBCD, 1xCLK) und genug Makrozellen um den Zähler bzw. Codeumsetzung BCD-->Frequenz unterzubringen. Ich schau mal ob ich was in Richtung TQFP44 finde. Ist meine grobe abschätzung mit 20-30 Makrozellen so richtig oder mache ich irgendeinen entscheidenden Denkfehler? Gruß Mani
Ich wuerde fuer den Anfang eher etwas mehr Makrozellen nehmen - aus Erfahrung weiss ich, man findet immer noch was, das man uebersehen hat oder das man gerne ergaenzen moechte :-) Der 9572 ist praktisch gleich teuer wie der 9536, hat aber doppelt so viel Platz. Gibt's beide in denselben Gehaeusevarianten (44 pins). Wolfgang
Danke für deine Ratschläge. Hab ihn gerade mal gesuch und für die 5,40€ kann ich mir gleich mal ein paar bestellen. Jetzt noch ne ganz dumme frage, kann ich den Systemtakt auch gleich für das runterteilen nehmen? Gruß Mani
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.