I/Q-DDS-Modul

  • Hallo,


    diese Thema geht aus dem Thema "Software Defined Radio / Soft Rock" hervor.


    Die Idee ist, 2 seperate DDS AD9951 zu synchronisieren, um ein I/Q-Signal zu produzieren. Dies kann dann für ein SDR oder zu Messzwecken benutzt werden.


    vy 73 DK4ARL, Gruß Karl

  • Hallo Gerd,


    ich würde den AD9951 benutzen, da er der Preiswerteste von den AD9951-AD9954 ist. Die anderen unterscheiden sich, soweit ich das überblicke, nur darin, dass sie noch einen "onboard-Comparator" und weiteren "Schnick-Schnack" besitzen, den wir für unsere Anwendungen nicht benötigen. Die Tuningwortbreite und die AD-Wandler bleiben die gleichen?! Eventuell schaust Du nochmal bitte drüber, falls ich einen wichtigen Punkt übersehen habe?!


    Ansonsten bräuchte ich noch einen guten Tipp für den Ausgangsfilter. Ich stelle mir erstmal einen Tiefpass bei 60 - 70 MHz vor (so hat man noch 6m). Die Werte der Bauelemente kann man ja dann ändern, wenn man einen TPF für 150 MHz machen möchte, um auf 2m zu arbeiten.


    Hat jemand einen bewährten Vorschlag für einen 60 bis 70 MHz-Tiefpass?!


    Gruß Karl, DK4ARL
    PS: Ich weiss, wie man einen TPF berechnet, möchte mir aber die Arbeit sparen, da es bestimmt schon viiieeeeele Leute vor mir gemacht haben. ;)

  • Hallo Karl,


    prima, dass Du ein neues Thema aufgemacht hast. Beim I/Q-Betrieb musst Du beide DDS gleichzeitig mit den Frequenz- und Phasendaten versorgen. Ausgelesen werden sie dann synchron über Synch. Wie willst Du das ohne zusätzlichen im DDS integriertem RAM hinbekommen? Der Microproz kann ja wohl die Daten nur nacheinander senden. Für das Tiefpassfilter solltest ein 7 poliges Filter mit 3 Ringkernen und 4 C gegen Masse vorsehen. Dann folgt jeweils ein MIC als Ausgangsverstärker. Werte für das Filter habe ich z.Z. auch nicht , kümmere mich aber. Übrigens gibt es durch das TP-Filter Phasenschweinereien.



    vy 73 Gerd, DM2CDB

  • Hallo Gerd


    Zitat

    Original von DM2CDB
    Beim I/Q-Betrieb musst Du beide DDS gleichzeitig mit den Frequenz- und Phasendaten versorgen. Ausgelesen werden sie dann synchron über Synch. Wie willst Du das ohne zusätzlichen im DDS integriertem RAM hinbekommen? Der Microproz kann ja wohl die Daten nur nacheinander senden.


    Die neuen Frequenz- und Phasenabstimmwerte werden erst mit I/O-Update übernommen, dies muss also gleichzeitig (eine Leitung) vom Mikrocontroller gesetzt werden. Die Daten kann man vorher über 2 seperate Ports den beiden DDS "reinschieben", also:


    - Schreibe Frequenzwort und Phasenwort1 zu DDS1 auf Bus1
    - Schreibe Frequenzwort (dasselbe) und Phasenwort2 zu DDS2 auf Bus2
    - gemeinsames I/O-Update


    So denke ich mir das jedenfalls. Die DDS haben doch ein Input-Register, in das Du die Daten seriell hineinschiebst, mit IO-Update werden sie dann wohl erst vom DDS-Core übernommen!?


    Zitat

    Original von DM2CDB
    Für das Tiefpassfilter solltest ein 7 poliges Filter mit 3 Ringkernen und 4 C gegen Masse vorsehen. Dann folgt jeweils ein MIC als Ausgangsverstärker. Werte für das Filter habe ich z.Z. auch nicht , kümmere mich aber. Übrigens gibt es durch das TP-Filter Phasenschweinereien.


    Ich werde mal beim Link von Markus schauen (Danke). Die TPF sollten natürlich beide so identisch wie möglich sein, dann sollte die Phase ja durch beide gleich "verzerrt" werden. Daher suche ich ja nach einem guten udn einfachen TPF, dessen Parameter reproduzierbar sind.


    Gruß Karl, DK4ARL

  • Hallo,


    wie wollt Ihr die DDS-Chips ansteuern (Controller, PC) ?


    Für eine Steuerung über den PC gäbe es verschiedene Lösungen.
    1) LPT-Por: inout32.dll
    Über den LTP - Port (Auch Windows) würde dies relativ einfach funktionieren.


    2) USB IOWariior Chip


    3) USB Cypress-Modul



    vy 73 DB7MK, Markus


  • Hallo Markus,


    geplant ist ein "Stand-alone"-Gerät, also mit eigenem Controller. Ich habe jetzt erstmal den ATMEGA16 eingesetzt. Mit 5V kann ich ihn mit über 16 MHz arbeiten lassen. Zuerst werde ich das Programm so auslegen, dass der AVR Befehle über RS232 versteht und damit die DDS steuert. Ein LCD und ein paar Taster/Drehknopf sollen dann auch noch dran, so dass man das ganze Ding auch portabel verwenden kann.
    Schau mal auf:
    http://www.qsl.net/dk4arl
    Da habe ich das ganze "in klein" für meinen Spatz gemacht.


    Gruß Karl, vy 73 DK4ARL

  • Hallo,


    damit das hier nicht nur ein theoretisches Thema bleibt.... :)


    Ich habe die Möglichkeit, eine Platine kostenlos fertigen zu lassen, aber ich muß sie am Montag schon abgeben....


    Meine Wochenendaufgabe ist also routen.... ;)


    Ich lege erstmal alles so flexibel wie möglich aus, ich hoffe, ich kann heute nacht noch die ersten Schaltpläne mal posten, vielleicht kann mal noch jemand (Gerd?) morgen drüberschauen, so dass ich eventuelle Korrekturen noch bis Montag Vormittag vornehmen kann!


    Ich weiss, es wird ein ganz schöner "Schnellschuss", aber wenns kostenlos ist, da kann ich nicht nein sagen...


    Bis heute Nacht!
    Gruß Karl, DK4ARL

  • Hei Karl,


    ich wollte mir mal die Schaltungen ansehen aber leider
    wird der Server nicht gefunden. ?(


    Ist die Uni abgestürzt? :D



    73de kai-Erik, DG2IAC _._|_._

    _._|_._
    Det er meget nedslående å leve i en tid da det er lettere
    å sprenge et atom enn en fordom.
    Albert Einstein

  • Hallo Karl,


    ich habe es auch nicht geschafft, Deine Schaltbilder aufzurufen. Gruß auch an Kai-Erik, gibt es Dich auch noch.


    vy 72 Gerd, DM2CDB

  • Hallo,


    irgendwie scheint der Web-Server der Uni offline zu sein, es geht ja noch nicht mal mehr die Hauptseite?!


    Komischerweise kann ich einwandfrei über SSH auf den Rechnerverbund zugreifen. Ich nehme mal an, Wartungsarbeiten oder Ausfall ... aber dass wird dann meist erst am Montag behoben. ;(


    Muss ich also drauf vertrauen, dass ich AGND nicht an VCC gelegt habe... ;)


    Schönes Wochenende und ich bin wieder bei meiner "Lieblingsbeschäftigung".... Routen...


    Gruß Karl, vy 73 DK4ARL

  • Hallo,


    so, also der Uni-Server läuft wieder und Ihr könnt Euch die Bilder anschauen.


    Eine Änderung mußte ich noch vornehmen. Vor den REFCLK-Eingängen der beiden DDS wurden noch 100 Ohm-Abschlusswiderstände gesetzt und jeweils 100p-Koppelkondensatoren. Somit sollte die Referenz-PLL ca. 50 Ohm sehen.


    Das Routen wurden nach einem langen Wochenende erfolgreich abgeschlossen und das Board ist heute rausgegangen. Ab Mitte der Woche bin ich erstmal unterwegs, so dass ich dann hoffentlich nächste Woche weiterkomme.


    Für die Interessierten habe ich das Board ( meine 48-Std. WE-Arbeit) mal hinterlegt:


    http://www.uni-magdeburg.de/kwill/2dds_synthi/top.jpg (177kB)
    http://www.uni-magdeburg.de/kwill/2dds_synthi/bottom.jpg (168kB)


    Viele Grüße Karl, DK4ARL

    Einmal editiert, zuletzt von DK4ARL ()

  • Hallo,


    ich wollte Euch den neusten Zwischenstand berichten:


    Spannungsversorgung, Atmel mit RS232 und LCD funktionieren.


    Heute habe ich die Referenz-PLL vervollständigt und sie schwingt einwandfrei auf der Referenzfrequenz von 400 MHz.


    Naja, eigentlich sind es 399,997.770 MHz, das kann man ja dann bei der Programmierung der DDS wieder hinbiegen, wenn es stört.... ;)


    Ansonsten habe ich noch das Phasenrauschen der PLL gemessen:


    Offset dBc/Hz
    100 -85,7
    1000 -102,5
    6000 -107
    10000 -98,5
    30000 -95,5
    50000 -93,7
    80000 -98,9
    100000 -104,4
    200000 -115
    500000 -137,4


    Da die Werte mit einem Spektrumanalyzer gemessen und anschließend rechnerisch korrigiert wurden, würde ich sie erstmal als "Pi*Daumen"-Messung ansehen.
    Es ändert sich ja eh noch einiges, durch den DDS...


    Es sieht aber erstmal alles okay aus, der Ausgangspegel ist mir etwas gering mit -12 dBm. Die DDS-Eingänge sind relativ hochohmig mit 1k5 und wurden mit 100-Ohm-Widerständen abgeschlossen. Die Messung der -12 dBm wurden aber mit 50-Ohm des Spektrumanalyzers gemacht, der mir also meine Anpassung verpfuscht.... somit kann der Pegel nur größer sein, wenn die DDS drauf sind.
    Da die Ref-Eingänge des DDS noch bis unter -15dBm arbeiten, sollte es ausserdem keine Probleme geben...


    Jetzt warte ich eigentlich nur auf meine AD9951, die Analog anscheinend z.Z. nicht liefern kann...?!?!?
    Ich habe ja 2 AD9954 liegen, werde mir mal die Kompatibilität anschauen, vielleicht mache ich erstmal mit den beiden ICs weiter...


    Schönes Wochenende!
    Gruß Karl, DK4ARL

  • Hei,


    mit was für eine Analise hast du die Messung gemacht?


    73de Kai-Erik, DG2IAC _._|_._

    _._|_._
    Det er meget nedslående å leve i en tid da det er lettere
    å sprenge et atom enn en fordom.
    Albert Einstein

  • Hallo Karl,


    besten Dank für den Zwischenbericht. Wenigstens eine Baustelle, die sich vorwärts bewegt. Die Rauschwerte werde ich mir noch mal im Detail ansehen. AD9951 und 9954 habe unterschiedliche Beschaltung, es wäre sicher sinnvoller, die Schaltung des AD9954 zu Grunde zu legen und dann abzuspecken.Habe versucht, Deine Schaltbilder mit dem Layout zu vergleichen, bin aber dran verzweifelt. Ich habe inzwischen mal ein Schalbild für den iQ-Schaltermischer gezeichnet. Es sieht garnicht so übel aus.


    vy 73 Gerd, DM2CDB

  • Hallo Kai-Erik,


    die Messungen mache ich mit einem HP 8564E! Ganz nettes Gerät, RBW bis 1 Hz einstellbar und Frequenzbereich bis 40 GHz.


    Wofür spielt das eine Rolle?


    Gruß Karl, DK4ARL

  • Hallo Gerd,


    also laut Datenblatt sind der AD9951 und AD9954 von der Belegung her identisch!
    Der AD9954 hat halt nur noch den internen RAM und den Komparator.


    Ich konnte es natürlich nicht abwarten und habe gestern den ersten AD9954 draufgelötet. Die Pins für den Comparator habe ich nach oben gebogen und PS0 und PS1 auf Masse gelegt. Sonst alles wie AD9951!!!


    Nachdem ich nun gestern bis spät in die Nacht versucht habe, das ganze Ding zu programmieren (SYSCLK usw. funktionieren einwandfrei!), habe ich heute morgen mal mit einem Logic-Analyzer auf den Datenbus geschaut! Da kam nichts rüber?! Ich hatte natürlich nicht gewußt, dass die JTAG-Schnittstelle des ATMEGA bei Auslieferung aktiviert ist, darum geht PORTC nicht vollständig! Nachdem JTAG mit geringem Aufwand deaktiviert war, läuft jetzt alles zur vollsten Zufriedenheit! Bescheuerter Fehler, den wohl jeder mal machen muß, wenn man von AT90.... auf ATMEGA umsteigt... ?(


    Ende gut, alles gut! Nun sollte der 2.DDS "nur noch" die Kür werden... :D


    Mal sehen, was ich heute Nachmittag noch zu tun bekomme... :]


    Gruß Karl, DK4ARL

  • ...wenns läuft, dann läufts...


    ...der 2. DDS auf dem Board funktioniert auch einwandfrei! Dann mache ich mich mal weiter ans "Schönprogrammieren", damit auch jemand der nicht die hex-Steuerworte auswendig kennt, die DDS programmieren kann... :D


    Werde bei Gelegenheit mal ein paar Bilder und Messungen präsentieren.


    Gruß Karl, DK4ARL

  • Hallo Karl,


    Gratulation zum laufenden DDS*2. Jetzt kannst Du die 90 Grad und damit die Seitenbandunterdrückung exakt auf eben diesen Wert abgleichen und das geht eben nur mit 2 DDS. Bin mal gespannt, erste Messergebnisse zu sehen. Ich zeichne inzwischen an dem Mischerteil (mit Schalter oder Gilbertzelle je nach Wunsch, wobei der Schalter mit Abstand erheblich billiger ist bei gleichem IP3). Niemand sagt aber bisher was zur Oszillatorunterdrückung desselben. Führe deshalb die HF symmetrisch zu, da sollte sich der Oszillator als Gleichtaktsignal? aufheben. Es wird langsam Zeit, über das übrige Konzept zu entscheiden. Wie siehst Du das?


    vy 72/72 Gerd, DM2CDB


    PS: Wie hast Du den VCO aufgelötet, wieder mit Kaffee?

    Einmal editiert, zuletzt von DM2CDB ()