Hi, kennt jemand DDS-ICs mit einem Kosinus und Sinus (Quadratur) – Ausgang? Ich habe nur den AD9852 gefunden – ist aber mit 80 Pins etwas überdimensioniert. Man könnte auch einen Single-DDS nehmen + frequenzunabhängigen Phasenschieber; gibt es so was überhaupt? Gruß Andreas
ein altes DDS-IC, AD8007 hatte diese Ausgänge. Bei den Nachfolgern sollte man in den Datenblättern nachsuchen, es gibt meines Wissens die Möglichkeit, zwei DDS-IC's mit einem Offset von 90 Grad zu synchronisieren.
>Man könnte auch einen Single-DDS nehmen + frequenzunabhängigen >Phasenschieber; gibt es so was überhaupt? Wenn du nur Rechteck haben willst gehts das mit 2 Flipflops. Dann hast du aber nur noch ein 1/4 deiner Ausgangsfrequenz. Du koenntes eventuell einen 2. DDS Chip nehmen und mit ihm eine 90 Grad Phasenverschoben Spannung erzeugen. Mit dem AD9850 habe ich sowas schon mal gemacht. Frequenzwort laden und dann das Update kommando an beide gleichzeitig ausgeben. Schon laufen die beiden synchron los. Die Phasenverschiebung kannst du dann digital einstellen in 12.5 Grad schritten. Analog ist das ueber einen grossen Frequenzbereich schwierig zu machen. Gruss Helmi
Hallo, Hab da mal ne Frage zur Phasenverschiebung bei DDS Chips wie AD9833/35 . Datenblatt sagt aus, daß sowas möglich ist. Nur wie wird nicht gesagt ( Beispiel mit Werten für 90grad zB ) Habe alle möglichen Applikationen durchforstet bin jedoch nicht fündig geworden. Einzige Quelle ist PC Programm für das Testboard wo man Werte einstellen kann. Nicht jedoch in Verbindung mit AVR zB ( möglichst Assembler). Ziel ist es über Poti-AVR-DDS die Phasenlage kontinuierlich zu verändern. Danke schonmal für Antworten
Phasenverschiebung beim DDS ? Dann hast aber gar nichts verstanden. Der Phasenraum deckt 2*pi ab. darin ein Offset, zB Phasenraum/10 sind 36 Grad.
Er meint die Phasenverschiebung zwischen zwei DDS Chips. Und die kann man sehr wohl einstellen. Dazu muessen die beiden an der gleichen Clock betrieben werden und synchron gestartet werden. Dann kann man einen Versatz in einem der beiden DDS Chip programieren. Allerdings ist die Aufloesung beim AD9850 auf 11.25 Grad beschraenkt. Gruss Helmi
@helmi Genau das meinte ich. Ein DDS läuft konstant mit Phase 0 der andere varíabel. Werden die beiden Ausgangssignale verknüpft (gemischt) sieht man am Oszi wie sich die Amplituden überlagern. Formuliere meine Frage also mal anders. Gem Datenblatt AD9833 zB ist das Phasenregister 12 bit breit. Es entspricht nach meiner Auffassung dann einem umsetzbaren Wertebereich von 0 bis 2pi gem Schaubild auf Seite 8 des Datenblattes. Ist somit die Auflösung immer konstant oder von MCLCK abhängig ? Die angeführten Beispiele im Datenblatt betreffen leider nur das Einschreiben der Frequenzworte nicht jedoch eine konkrete Phasenverschiebung. DDS_FREAK
Das sollte mit dem AD9833 auch gehen. Du must nur ein paar Tricks anwenden damit die beiden DDS Chips syncron laufen. 1. Es muss eine gemeinsame Clock vorhanden sein. Alos ide beiden MCLK Eingaenge verbinden. 2. Es muss sichergestellt werden das beide gleichzeitig ihr Datenwort bekommen. Das kannst du dadurch erreichen das der FSYNC Eingang der beiden DDS zusammen betaetigt werden. 3. Jetzt musst du durch ein geeignetes Frequenzwort erreichen das der Phasenakkumulator in beiden geresetet wird. Jetzt sollten die beiden Syncron laufen. 4. Ab jetzt kannst du jedem sein eignes Frequenzwort b.z.w. Phasenoffset zukommen lassen. Damit du die beiden jedem sein eigenes Datenwort zukommen lassen kannst must du die SDATA Eingaenge separat bedienen koennen. Also gleichzeitig mit dem SCLK impuls fuer jedem der beiden ein eigenes Datenbit ausgeben. Die umschaltung mit dem FSYNC Signal hast du ja in diesem Fall nicht. Damit solltes du es eigentlich hinbekommen die Phasenlage der beiden DDS Chips zueinander einstellen zu koennen. Gruss Helmi
Danke Helmi fürs erste Habe irgendwo einen Thread oder Applikation gelesen, wo mit zwei DDS gearbeitet wird, denke es muß ähnlich ablaufen. Ich hatte vor den ersten zu programmieren sowie zu starten, dann den zweiten zu programmieren jedoch erst zu starten wenn ein Nulldetektor den Beginn einer Phase meldet am Ausgang des ersten DDS . Möglich daß man dabei Befehlslaufzeiten mit einrechnen muß. Da die Frequenz jedoch konstant ist,ist Zeitspanne 2*pi bekannt. Beide DDS sollen nur den Bereich bis ca 50 Khz abdecken. Welche MLCK empfiehlt sich da ? Mal ne ganz dumme Frage: Gibt es einfachere Wege die Frequenzworte zu ermitteln ? evtl PC Programm wo nur Fsync und Sollfrequenz eingegeben wird ? Übliche DDS Applikationen gibt es anscheinend nur für HF Anwendungen was man so liest. Arbeite mit STK 500/ Studio 4, also nur Assembler ( da fühl ich mich noch sicher ;) ,alles andere später ) DDS_FREAK
>Ich hatte vor den ersten zu programmieren sowie zu starten, dann den >zweiten zu programmieren jedoch erst zu starten wenn ein Nulldetektor >den Beginn einer Phase meldet am Ausgang des ersten DDS . Das brauchst du nicht. Du brauchst bloss ein Reset-Commando an beide zu geben. Danach sind die beiden Phasenakkus in gleicher Phasenlage. Jetzt kannst du in beiden die gleiche Frequenz aber eine unterschiedliche Phasenlage programmieren. Danach laufen beide synchron zueinander. Bediengung dafuer ist nur das die beiden Fsync leitung gleichzeitig bediend werden.
Hi Helmi, Schon verstanden, doch was heißt bei Resetfunktion der Begriff "midscale" definitiv? Die Register Frequenz und Phasenlage werden ja nicht verändert laut Tabelle IX. Stehe im übrigen noch vor der Wahl welcher DDS der geeigenete wäre. Habe AD 9850,9835 und 9833 vorliegen. Tendiere allein schon wegen der Löterei ;) zum 9833. Werde heute mal verschiedene Quarzoszillator- frequenzen als MCLK testen. Bei den Fummeldingern spielt das Printlayout ja auch eine gewisse Rolle. Hab mir kleine SMD-DIL Platinchen gemacht für das Breadboard, naja mal sehen ...... Ist es ratsam zwischen SPI Ausgänge AVR und DDS Chip Widerstände einzubauen? Hab irgendwo hier gelesen, daß ohne die der DDS Probleme machen könnte. Hab keine Lust mir auf diese Weise die teueren 9850 abzuschießen. Hast Du da schon Erfahrungen gemacht helmi ? schönes WE DDS_FREAK
>Ist es ratsam zwischen SPI Ausgänge AVR und DDS Chip Widerstände >einzubauen? Hab irgendwo hier gelesen, daß ohne die der DDS Probleme >machen könnte. Hab keine Lust mir auf diese Weise die teueren 9850 >abzuschießen. Hast Du da schon Erfahrungen gemacht helmi ? Wenn beide aus der gleichen +5V Quelle versorgt werden passiert da nichts. Die Widerstaende dienen in erster Linie zum bedaempfen der Leitungen. Wenn die Verbindung zwischen AVR und DDS etwas laenger ist koennen sich Reflektionen auf den Leitungen zeigen. Da der DDS Chip sehr schnell ist koennen sich dann schon mal Signalverfaelschungen einstellen.Folge daraus die Ausgangsfrequenz stimmt nicht. Diese Widerstaende bedaempfen dies und liegen so zwischen 22 Ohm und 100 OHm. Ich selber habe schon mal den AD9850 eingesetzt allerdings im Parallelmode. Die Ausgangsfrequenz war bei mir zwischen 20..30MHz. Eingangstakt 96Mhz. War alles kein Problem. >Stehe im übrigen noch vor der Wahl welcher DDS der geeigenete wäre. >Habe AD 9850,9835 und 9833 vorliegen. Ich selber tendiere zum AD9850. Mit dem habe ich schon mal einen Quadraturgenerator gebaut. >Bei den Fummeldingern spielt das Printlayout ja auch eine gewisse Rolle. Ganz so schlimm ist es nicht. Bei deinen 50KHz sollte das alles kein Problem sein. Selbst bei meinen 30MHz war das kein Problem. >Schon verstanden, doch was heißt bei Resetfunktion der Begriff >"midscale" definitiv? Damit meint AD das wenn du ein Reset-Commando gibts danach der Ausgang auf halber Versorgungsspannung liegt. Gruss Helmi
@helmi Okay dann ist das mit midscale klar. Habe eh am Ausgang einen OP der LT Serie vorgesehen und AGND strikt von DGND getrennt, Sternpunkt im NT. Werde dann mal um die Software die grauen Zellen bewegen. schönes WE DDS_FREAK
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.