Liebes Mikrocontroller Forum, Ich suche nach Hilfe/Inspiration für eine möglichst schnelle Ansteuerung eines AD9852. Im Datenblatt wird 10MHz für SPI und 100MHz für parallele Ansteuerung spezifiziert. Im parallelen Fall werden 8Bit auf 8 Leitungen für die Daten und 6bit auf 6 Leitungen für die Adresse übertragen. Nun suche ich nach einer möglichst einfachen Lösung den AD9852 per µC/µP/SoC anzusteuern. Eine erste Recherche ergab, dass das Beagle Board im SoC zwei realtime µC mit 200MHz implementiert, diese allerdings nicht genügend Leitungen haben die nach außen geführt haben. Ich würde mich sehr über Anrgegungen von euch freuen. Vielen Dank euch, Dominik
Verzeih meine Neugier. Aber wozu benötigt man eine Cosinus-Schwingung, deren Parameter Frequenz/Phase/Amplitude man pro Sekunde mehr als 1 Million mal verändern muss. Und ist da dann ein DDS-Baustein überhaupt noch das richtige?
:
Wiederhergestellt durch User
Hallo Karl-Heinz, ich bin dabein ein Phasen/Freqeunz-Lock zu implementieren. Da das Frequenzregister des AD9852 48bit breit ist sind 6 Zyklen für ein Update nötig daher eine 6x kleinere Updaterate. Für eine entsprechend große Regelbandbreite wäre es schön ein paar Millionen Updates in der Sekunde zu haben. Aktuell ist dieses Lock analog mithilfe eines VCOs implementiert. Für den VCO (50-200MHz betrieben bei 110MHz) besteht der Nachteil, dass dieser eine sehr große Sensitivität hat und es sich nur um sehr kleine Phasenschübe handelt (mx 10x 2pi) die herausgeregelt werden sollen, was bedeutet dass kleinste Spannungsschwankungen schon für ein großes Rauschen sorgen. Daher war mein Gedanke mit einer bereits sehr stabilen rf-Quelle zu beginnen und diese zu regeln. Ich bin offen für Mögliche Alternativen zu DDS systemen. Hast du eine bestimmte Idee? viele Grüße, Dominik
Die anwendung macht sinn. Ich wuerd's mit einem FPGA ansteuern, und den algorithmus ins FPGA giessen.
Aber doch nicht SO. Erstmal eines: Was bittesehr ist ein " Phasen/Freqeunz-Lock " ? Meinst du eine PLL? Vermutlich. Phasen/Freqeunz-Lock klingt bloß dramatischer. Also erstmal eines: Mit einer digitalen Nachregelung wirst du niemals (NIE, NIE NIE!) auch nur annähernd so gut wie mit einer analogen Lösung sein. Wenn es denn eine feinfühlige Phasenregelung sein soll, dann nimm einen VCXO, treibe damit den DDS IC und mach deine PLL-Regelschleife analog. PLL-Eingänge = Empfangssignal und tiefpassgefilterter DDS-Ausgang, PLL-Nachstimm-Ausgang via Filter zum VCXO. Das ist feinfühlig und man kann sogar per DDS die Frequenz ganz gut voreinstellen - ist ja auch nötig, denn ein VCXO hat nur einen recht kleinen Abstimmbereich. Ich vermute mal, daß du damit ein PSK Signal demodulieren willst. Also schreib lieber direkt, das du machen willst/sollst und nicht so eine theoretisierende Umschreibung. W.S.
Lieber W.S., vielen Dank für deinen Vorschlag, das hört sich nach einer Vernünftigen Lösung an. Ich habe auch schon einmal über eine Lösung per vcxo nachgedacht, hatte sie dann aber verworfen weil ich mich nicht sehr viel darüber weis. Meine Zweifel waren vor allem, ob die tuning Range tatsächlich reicht, dazu muss ich noch eine Rechnung/Messung durchführen. Außerdem müsste ich mir noch überlegen ob die Regelbandbreite durch den VCXO beschränkt werden könnte, da es sich ja um einen Oszillator mit großem Q-Faktor handelt. Bis jetzt habe ich erst ein Datenblatt gefunden das eine Modulationbandbreite angibt und diese lediglich mit >10kHz angibt, was in meinem Fall zu wenig ist. Was das Rennen zwischen Digital und Analog angeht muss ich dir recht geben. Auch meine Erfahrung zeigt, dass analog immer die bessere Lösung ist. Mein Gedanke zu dem DDS ist lediglich folgender: Wenn im Datenblatt 100MHz Übertragungsrate angegeben ist was zu einer Updaterate von ~17MHz führen sollte, was würde dann dagegensprechen letztendlich eine Regelbandbreite von >1MHz zu erreichen? Was die Terminologie angeht: Ich habe den Begriff PLL vermieden weil es sich nicht um den klassischen Fall eines PLLs handelt, da auf der Regelstrecke nicht nur Phasenrauschen hinzukommt, sondern auch die Frequenz (optisch) verdoppelt wird - du hast aber recht, damit ist es noch immer ein PLL. Zu dem Verwendungszweck: es geht darum die Phase von Laserstrahlen zu stabilisieren. Ich würde mich sehr über einen Vorschlag für einen geeigneten VCXO freuen!
oohh schrieb: > Die anwendung macht sinn. Ich wuerd's mit einem FPGA ansteuern, und den > algorithmus ins FPGA giessen. Bei FPGA muss man sich doch echt sehr viel Mühe geben um sehr große Geschwindigkeiten hinzubekommen, oder? Da die Logik in dem Fall eine sehr einfache ist, möglicherweise nur eine Multiplikation, war ich davon ausgegangen, dass es mit einem µC/µP/SoC einfacher gehen sollte, war mir aber nicht dessen bewusst, dass obwohl solche Hochgeschwindigkeitsschnittstellen für PCs (wie z.B. fast ethernet) kein Problem sind es doch keine direkten und parallelen Implementierungen in diesem Bereich zu geben scheint.
Dominik Vogel schrieb: > Wenn im Datenblatt > 100MHz Übertragungsrate angegeben ist was zu einer Updaterate von ~17MHz > führen sollte, wenn du regeln willst zählt nicht nur die Updaterate sondern auch das Pipeline-Delay. Selbst wenn du inv-sinc-Filter und Amplitudeneinstellung bypasst dauert es nach meinem Verständnis mindestens 37 Sysclk-Zyklen, bis der neu geschriebene Wert am Ausgang des Bausteins wirksam wird. Das bremst deine Regelbandbreite etwas aus. Dominik Vogel schrieb: > Bei FPGA muss man sich doch echt sehr viel Mühe geben um sehr große > Geschwindigkeiten hinzubekommen, oder? Da die Logik in dem Fall eine > sehr einfache ist, möglicherweise nur eine Multiplikation, war ich davon > ausgegangen, dass es mit einem µC/µP/SoC einfacher gehen sollte wenn es nur darum geht, einen (parallelen) Wert einzulesen, zu multiplizieren und ihn dann byteweise wieder auszugeben, kannst du das mit einem FPGA sehr schnell erledigen. Die von dir angedachten Frequenzen wären kein großes Problem und die Latenzen (die für deine Regelung wichtig sind) wären vergleichsweise gering. Die generelle Einarbeitung in FPGAs ist aber tatsächlich aufwändiger als die in viele µCs.
Vielen Dank Achim für die wertvollen Informationen. Insbesondere ist es sehr gut zu Wissen, dass ich mit 37 Syszyklen delay rechnen muss. Ich sehe auch ein dass ein FPGA wahrscheinlich die beste Lösung wäre. Dennoch würde ich gerne in die Runde fragen welchen SoC oder µC ihr kennt, der die größt mögliche GPIO Geschwindigkeit erreicht und die Anforderungen an die Anzahl der Leitungen erfüllt. viele Grüße, Dominik
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.