Ü-Funktion DDS u.a.

Hallo zusammen, nach zwei Jahren ohne Usenet fehlt mir was. Das Internet wird immer bunter und langweiliger, Foren sind anscheinend nur zum Flamen da - naja, da bin ich wieder :) Und natürlich auch gleich mit einer Frage... ... einer Frage mit langer Vorgeschichte. Ich danke für Geduld beim Lesen :)

Ich verwende einen DDS als Teiler in einer PLL; der DDS ist hier einer von vier Kanälen eines AD9959, die PLL ein ADF4002 und als VCO habe ich einen MAX2608 auf 400MHz bei 1,0V Vtune. VCO und DDS arbeiten soweit absolut zufriedenstellend, ich habe neulich erst meinen amplitudengeregelten Ausgang eines anderen DDS-Kanals mit einem R&S-Specci untersucht und bin soweit erstmal begeisert. Nur: die PLL schwingt! Ich habe für den Test ein

1,84MHz-Referenzsignal am REF-Eingang des AFD4002, Amplitude 3Vss, kapazitiv gekoppelt, Anstiegszeit jenseits von Gut und Böse, hängt ein Sub-ns-Komparator und ein PECL-nach-LVTTL-Konverter vor. Die Signale sehen absoult sauber aus. Am RF-Eingang hängt der gefilterte und ebenfalls über einen Komparator geführte DDS-Ausgang, Amplitude hier: 550mVss, ebenfalls im grünen Bereich. Die Teiler der PLL sind derzeit so eingestellt, dass der PDF mit 10kHz laufen sollte, das Schleifenfilter (habe ein einfaches Lead-Lag-Filter und ein RC-Filter 3. Ordnung probier) liegt bei 400Hz. Wie dem auch sei, das Ganze schwingt bei 60Hz, sieht ziemlich wild aus, mit viel gutem Willen ist ein Sägezahn in der Abstimmspannung erkennbar. Nun habe ich den VCO-Steuereingang mal über ein Poti gesteuert und mir den Ausgang vom PFD angesehen: zum einen ist der Spannungshub für die Belastung (1k nach Vcc, 1k nach GND, also 50 Ohm gegen Vcc/2) zu niedrig, anstatt der eingestellten 5mA sieht es eher nach der niedrigst möglichen Einstellung von ca 0,6mA aus (andere Chips am selben SPI funktionieren tadellos, daher tue ich mich schwer, hier den Fehler zu suchen), zum anderen habe ich ungefähr gleichförmige Impulse nach oben wie nach unten nicht bei den rechnerischen 1,3MHz sondern irgendwo bei 1,1MHz, und da ist der VCO an seiner untersten Grenze.

Nun die Frage: klingelt's bei wem bei obigem Phänomen? Ich werde das Thema heute noch intensiver untersuchen, aber Ideen sind immer willkommen. Zum anderen habe ich die Übertragungsfunktion der DDS vom Referenzeingang zum Ausgang als linear angenommen. Durfte ich das, oder bringt irgendwas, was ich jetzt aus Betriebsblindheit nicht sehen will, einen Pol herein? Dass vom Phaseninkrementregister zum Ausgang ein integrierendes Verhalten auftritt, habe ich nun in einer Thesis bereits gelesen, aber von Referenz zu Ausgang...?

Wer mag mich mal erleuchten?

Danke!

Reply to
Stefan Huebner
Loading thread data ...

Hab nicht alles verstanden. DDS ist auch nicht ganz mein Thema, ich hab aber mal vor mehr als 20 Jahren einen Frequenzsynthesizer für 400-600 MHz als Studienarbeit gebaut. Damals mit U664 als Vorteiler und einem Haufen TTLs für den einstellbaren Frequenzteiler. Vergleichsfrequenz war irgendwo bei 25 KHz oder so.

Das Problem ist die Phasenverschiebung auf der Strecke Phasendetektor - Abstimmspannung. Ob die PLL schwingt oder nicht hängt von der Auslegung des PLL-Filters ab, und das ist kein einfacher Tiefpass.

Das Lead-Lag-Filter ist ein bedämpftes RC-Filter. Der zusätzliche Widerstand "verschlechtert" das Tiefpassverhalten und kann die unerwünschten Mischprodukte nicht ausreichend dämpfen, hat aber dafür im gesamten Frequenzbereich weniger als 90° Phasenverschiebung. Das ist notwendig, damit sich zusammen mit den 90° Phasenverschiebung des Phasendetektors Phase = Integral (frequenz) keine 180° ergeben können.

Du benötigst nun ein mehrstufiges Filter, z.B. ein mehrstufiges Tiefpassfilter bei 1 KHz mit dem die unerwünschten Mischprodukte f1+f2 ausreichend bedämpft werden. Dahinter dann das Lead-Lag-Filter mit einer deutlich geringeren Grenzfrequenz, z.B. 50 Hz.

Das Gesamtsystem musst du so auslegen, dass du in dem Frequenzbereich, wo die Phasenverschiebung >= 90° wird, d.h. im oberen Frequenzbereich, eine ausreichend große Durchlassdämpfung hast.

Reply to
Stefan Brröring

Hallo Namensvetter, danke für Deinen Beitrag.

In der Studienarbeit konnte ich mich noch gerade um eine PLL "drücken", aber jetzt in der Diplomarbeit führt kein Weg dran vorbei. Das Problem -befürchte ich zumindest- ist ja gerade die DDS, daher auch meine Frage nach der TF einer DDS.

Richtig, das ist mir aus der Regelungstechnik auch alles soweit bekannt, nur muss ich für eine sinnvolle Modellierung erstmal eine Idee vom Übertragungsverhalten der DDS haben.

Davon gehe ich auch aus, nur wenn die DDS wie ich befürchte selbst nochmal mit einer Phasenänderung auf eine Frequenzänderung reagiert, habe ich schon 180 Grad voll.

Na mal sehen, vielleicht kommen ja noch DDS-Profis dazu, ansonsten gucke ich heute abend erstmal, warum mein PFD meint, dass 10kHz gleich

9kHz sind (keine Sorge, ist nicht bloß ein EXOR, ist schon ein echter Phasen-Frequenz-Detektor)
Reply to
Stefan Huebner

Hab da noch einen interessanten Link gefunden:

formatting link

Was macht das Ding denn genau?

Wenn ich das richtig verstanden habe, ist die DDS ein Direct-Digital-Synthesizer.

Wenn der als Referenzfrequenzgenerator verwendet wird, geht der in die Regelschleife gar nicht ein...

Gruß

Stefan

Reply to
Stefan Brröring

Nein, als Teiler, so wie ich das verstanden habe: Nach N (TTL-)Takten auf dessen Takteingang ist eine ganze Sinusperiode (=pseudokontinuierlich) aus dem Ausgang herausgewandert.

Gruß Henning

Reply to
Henning Paul

PLL Filter sind nicht einfach ;-)

Schon möglich ;-/

Zunächst: Warum das PLL Filter kein einfacher Tiefpass ist, hat einen simplen Grund: Was Du möchtest, ist eine _Phasen_regel- schleife. Wenn Du aber die Spannung am VCO änderst, dann ändert sich dessen _Frequenz_. Die Phase steht zur Frequenz in der Beziehung über ein Integral, sprich eine einmalige Frequenzänderung entspricht einer kontinuierlichen Phasen- änderung, mit jedem Phasenvergleicherzyklus läuft infolge der Frequenzänderung die Phase noch ein Stück mehr in die eine oder andere Richtung.

Wenn die PLL regelt, ist es ergo gewünscht, dass zunächst beim Vorliegen eines Phasenfehlers die VCO Frequenz kurz geändert und dann auf _fast_ den alten Wert zurückgesetzt wird. Dadurch wird eine echte Phasenkorrektur erreicht. Das "fast" braucht es, um in zweiter Linie auch echte Frequenzfehler korrigieren zu können, dafür sind allerdings auch bestimmte Massnahmen im Phasenvergleicher nötig, z.B. ein XOR alleine als reine Phasendetektor kann bekanntlich "falsch" einrasten.

Darum ist ein reines RC-Filter als PLL Filter hier keine gute Idee.

Zum DDS: Von nix bringt der seine krummen Teilungsfaktoren auch nicht, sondern nur von einem analogen Ausgangs- tiefpassfilter. Würdest Du nur rein auf das MSB des DDS digital gehen, dann hättest Du nicht einen reinen Sinus als Ausgangssignal, sondern ein Frequenzgemisch, und zwar völlig unabhängig von den Rechteck-Oberwellen.

( Man kann das in der Tat bei PLL's rein digital machen, dann nimmt man aber keinen DDS sondern einen Sigma Delta Modulator her und wirkt typisch auf den N Teilungsfaktor des Hauptteilers ein => Fractional PLL. Problem: Fractional produziert nette Spurs, sprich Frequenzmodulation oder boshaft gesagt: "es schwingt halt", wobei Sigma Delta die FM Leistung wesentlich besser verschmiert als DDS. )

Damit doch ein Sinus rauskommt, braucht es besagten Filter und der hat ein _Gedächnis_. Und genau dieses geht in die Berechnung der Regelschleife mit ein.

Besonders problematisch kann es sein, den DDS Tiefpass an der Eckfrequenz zu betreiben, eine Frequenzänderung gibt dann u.U. lustige Phasenänderungen, der Phasengang an der Eckfrequenz ist bei Filtern naturgemäß umso problematischer, je steiler der Filter dort ist.

Es gäbe noch die profane Möglichkeit, dass der Phasendetektor in die falsche Richtung regelt, bei AD ist das programmierbar.

Ansonsten würde ich mal mit dem DDS Teilungsfaktor experimentieren, das könnte bei geraden Teilern Hinweise liefern.

Machbar ist DDS als PLL-Hauptteiler schon, siehe das Datenblatt des AD9858, Figure 39. Es ist aber alles andere als unproblematisch.

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

Hallo Oliver,

was Du schreibst ist mir soweit schon klar, auch wenn das in meiner Fragestellung vielleicht nicht an allen Stellen so deutlich wurde. PLLs mit "ordinären" Teilern habe ich schon gebaut, da hatte ich solche Probleme bisher nie.

Nein, daher habe ich auch ein Lead-Lag-Filter, zunächst einfach, später dann noch mit ein und zwei Tiefpässen dahinter und schliesslich aktiv.

Richtig, der DDS wird mit 400MHz getaktet, die Filter dahinter sind LC-Filter 7. Ordnung bei 180MHz.

Habe ich bisher vernachlässigt, der Abstand von meinem 180MHz-Filter zum 400Hz-Schleifenfilter erschien mir so absurd groß, dass ich mir das einfach mal erlaubt habe.

Bis 100MHz, also weit weg von Eckfrequenz. Vielleicht nicht weit genug weg, aber im Moment teste ich bei 1,3MHz...

Nö, sieht nicht so aus. Wenn ich die Schleife öffne und den VCO manuell abstimme, werden die negativen Impulse am PFD-Ausgang mehr wenn ich die Frequenz erhöhe bzw die positiven nehmen zu wenn ich die Frequenz. Nur dass die Frequenz, bei der sich sichtbar etwas am PFD-Ausgang tut, ein ganzes Stück von der eigentlich eingestellten Referenz entfernt ist.

Werde ich mal antesten.

Wär auch zu schön gewesen. Na gucken wir mal...

Reply to
Stefan Huebner

Richtig, die DDS wird mit der Annahme fref=400MHz so eingestellt, dass an einem ihrer Ausgänge ein Signal mit derselben Frequenz wie das Referenz-Eingangssignal des Gerätes anliegt und dann der taktende VCO so nachgestimmt, dass Referenz und DDS-Ausgang in Phase sind. Doch grau ist alle Theorie...

Reply to
Stefan Huebner

Ok, jetzt verstehe ich das, interessante Lösung. Hab mich mit dem Thema lange nicht beschäftigt, deshalb bin ich da nicht ganz auf dem Laufenden. Und damit wird das Signal des VCOs geteilt, oder das des Referenzoszillators?

Aber ich sehe für beide Fälle nicht, wieso der DDS sich anders verhalten sollte, als ein herkömmlicher digitaler Frequenzteiler. Zusätzliche Phasenverschiebung, die zu Stabilitätsproblemen führen kann sehe ich nicht.

Wie schnell sind denn solche DDS? Mir fällt da jetzt spontan eine Lösung mit nem EProm, einem Zähler für die niederwertigen Adressleitungen und Codierschaltern an den höherwertigen Adressleitungen ein. Das geht aber ja vermutlich nicht bis 400 MHz Eingangstakt.

Reply to
Stefan Brröring

Stimmt, es gibt auch aktive PLL-Filter, bei denen derselbe Effekt erreicht wird, wie mit dem Dämpfungswiderstand bei den Lead-Lag-Filtern. Das sollte hier aber nicht das Problem sein.

Das Lead-Lag-Filer muss das letzte vor dem VCO sein. Die Filterstufen mit höheren Grenzfrequenzen sollten davor liegen, d.h. zwischen Phasendetektor und Lead-Lag-Filter.

Das sollte aber nicht für 60 Hz Schwingungen verantwortlich sein.

Tut es nicht, weil es vor dem Phasendetektor liegt. Eine zusätliche Phasenverschiebung ergibt nur einen Phasenoffset am VCO und der interessiert nicht. Eine Zeitverzögerung könnte allerdings Probleme machen.

Würde ich auch so sehen

Das macht auch nichts, der VCO rastet dann einfach auf der nächsten Halbwelle ein.

Reply to
Stefan Brröring

Das des VCO. Ziel ist, in der Schaltung einen VCO so auf ein externes Referenzsignal zu "locken", dass der durch den VCO getakteten DDS Signale mit definierter Phasenlage zum externen Referenzsignal entnommen werden können, und das in einem weiten Frequenzbereich (1:10^4)

Ich werde halt das Gefühl nicht los, dass die DDS irgendwie integrierend wirkt, was ich aber analytisch gerade weder widerlegen noch begründen kann, daran wollte ich mich heute abend oder morgen nochmal versuchen. Erstmal muss ich die anderen Widersprüche, die mir das PLL-IC beschert, ausräumen.

GHz-Bereich ist zu haben, meiner kann 500MHz Takt und erzeugt daraus vier in Frequenz und Phase frei definierbare Ausgänge, mit dem Schmankerl, dass bei gleicher Frequenz die Phasen zueinander definiert sind. Funktionsprinzip klar? Du hast einen Phasenakkumulator, der zum jeweils letzten Phasenwert den Inhalt eines Phasenregisters hinzu addiert, so dass Du nur angeben musst, wie viel Grad Du Dich pro Schritt (des Referenzsignals) in der angeschlossenen Sinus-Lookup-Tabelle fortbewegen möchtest. Mit Registerbreiten von 32 bit und mehr und 10-12 bit DACs lässt sich da schon eine nette Auflösung zaubern (...die die Genauigkeit aller Referenzoszillatoren bei weitem überschreitet ;)

Reply to
Stefan Huebner

Das Designtool von AD (ADISIM PLL) sieht das genau anders herum - erst der reine Integrator für die genaue Phase, dann die RC-Reihenschaltung und dann noch zwei RC-Tiefpässe hintereinander...

Rein analytisch geht es schon in die Übertragungsfunktion ein, wenn ich das ganze Ding regelungstechnisch analysieren will, sollte ich es vielleicht mit einbauen, aber andererseits ist die Eckfrequenz so weit weg von allem, was hier gerade Probleme macht...

Da es ein PFD ist und auch Phasenfehler >2*pi noch richtig erkannt werden sollten, sollte das schon was ausmachen, oder? Ist die einfache Schaltung aus zwei D-Flipflops, die resettet werden, wenn beide gesetzt sind.

Reply to
Stefan Huebner

Stefan Huebner schrieb:

Meistens reichen da zwei Ausgänge mit 90°... :-)

Gruß Henning

--
henning paul home:  http://home.arcor.de/henning.paul
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

Kommt drauf an, was Du damit vor hast. Einen Ausgang brauche ich, um mich auf das externe Signal zu synchronisieren, einer ist entweder mit diesem in Phase oder um 90° verschoben und speist eine VCSEL-Diode, die auf einen entsprechenden Detektor am Ende einer Glasfussel leuchtet, wo mit dem Signal dann ein Mischer gefüttert wird - richtig, das Ganze dient der komplexen Amplitudenmessung. Und der 3. Ausgang schliesslich synthetisiert das gemessene Signal wieder, dort reicht dann nicht 0 oder 90.

Reply to
Stefan Huebner

Jep, und etwas, das stark nach Rauschen aussieht, auf dem kleinen Oszi, das ich hier am heímischen Schreibtisch habe, zeigen sich unter untenstehenden Bedingungen hopsende diskrete Werte...

Habe jetzt Referenz wie RF-Teiler auf 2 eingestellt, die DDS so programmiert, dass sie bei 400MHz VCO-Mittenfrequenz 1,8432MHz rauswirft (mit Oszi und Zähler gecheckt) - keine Chance, wenn ich den VCO manuell durchstimme das alte Bild: erst überwiegend positive Pulse, dann in etwa gleich viele positive wie negative und dann nur noch negativ. Bei geschlossener Loop interessiert er sich für diesen Punkt gar nicht.

Reply to
Stefan Huebner

Das Wort zur Nacht :)

Ich habe jetzt mal die Teiler beide auf 1 gestellt, die DDS auf

1,8432MHz programmiert und siehe da: der VCO-Eingang ist bei ziemlich genau 1V (das entspricht der Sollmittenfrequenz!), nur leichtes Zucken, der Lock-Detector springt aber noch wild herum (ALD, open-drain Ausgang, der im Lock-Zustand ganz schmale low-Impulse liefert. Dahinter 1k in Reihe und dann 180k nach +3,3V und 27nF nach Masse).

Als nächstes dann Referenzteiler=1, RF-Teiler=2, DDS auf 3,6864MHz - alles sauber, Lock Detect ist high(*), VCO-Eingang rock stable.

*: stabil hoch zwar, aber nur bei ca 1,2V, bei 3,3V Vcc hatte ich knapp eben diese auch am ALD erwartet. Als Last hängt da ein ADC-Eingang dran, der allerdings hinreichend hochohmig ist.

Für dieses Verhalten habe ich nun so gar keine Erklärung, da sind noch ein paar Messungen fällig denke ich. Morgen. Für heute reichts :)

Reply to
Stefan Huebner

Naja, unsereins[TM] als Funkheini braucht nur was, was er dem I/Q-Modulator zufüttern kann.

Gruß Henning (der demnächst vermutlich auch andere Wege beschreiten wird)

Reply to
Henning Paul

so richtig ist mir der Aufbau nicht klargeworden. Bei uns ist vor längerer Zeit einige Male was mit PLL gemacht worden. Was das Schleifenfilter betrifft, so liegt es hinter dem Phasendiskriminator und vor dem VCO-Eingang, sonst hättest Du ja das ganze Störspektrum des digitalen Diskriminators am VCO-Ein- und natürlich auch am Ausgang.

Der VCO wird als Integrator betrachtet, damit darf das Schleifenfilter im Nennergrad nur 1 höher sein als der Zählergrad, sonst wird's garantiert instabil. Diese Null- und Polstellen richtig zu verteilen, ist hier die Kunst. Inwieweit der Typ des Phasendiskriminators mit eingeht, weiß ich im Moment leider nicht, ich hatte das mal mit EXOR untersucht.

Welche Frequenz kommt denn nun eigentlich aus dem DDS raus und wie lautet die Übertragungsfunktion des Schleifenfilters? Schwingen bei 60 Hz kommt mir hier etwas merkwürdig vor, aber sieht zunächst wie ein falsch dimensioniertes Schleifenfilter aus.

Bei der DDS bin ich mir auch nicht sicher, ob die jitterfrei arbeitet. Ohne Tiefpaß an deren Ausgang würde ich ein Jittern des Nulldurchgangs nicht ausschließen. Der Tiefpaß liegt aber so hoch, daß er keinen Einfluß mehr darauf hat. Deshalb würde der Ausgang des Phasendiskriminators ebenfalls jittern, aber das ist jetzt nur eine Vermutung von mir. Dieses Jittern müßte aber das Schleifenfilter in der Gegend von 400 Hz deutlich unterdrücken und bei großen Teilerfaktoren müßte es IMHO auch kleiner werden.

Da ein Tiefpaß bei 180 MHz am Ausgang der DDS sich auswirken könnte, kann ich mir schwer vorstellen. Allerdings frage ich mich, wie Du den hingekriegt hast, bei 7. Ordnung, der wird ein mächtiges feedtrough haben, je nach Aufbau. Eigentlich könnte der hier sogar überflüssig sein wegen dem Schleifenfilter.

mfg. Winfried

Reply to
Winfried Salomon

Hallo Winfried,

Stell Dir eine normale PLL vor und ersetze den Teiler zwischen VCO und Phasendetektor durch eine DDS. Im Prinzip also auch nur ein programmierbarer Teiler, nur ob das Verhalten wirklich vergleichbar ist, versuche ich nun schon seit Tagen zu ergründen. Eigentlich geht es nur um die Frage, ob die DDS ein Integrator ist oder nicht - und das auf dem Weg Takteingang->DAC-Ausgang. Für den Weg Phaseninkrementregister->DAC-Ausgang wurde das schon mal nachgewiesen.

In dem hier zu untersuchenden Fall kommen einfach mal die 1,8432MHz raus, die ich auch an den Referenzeingang des PFD anlege.

Der Jitter des VCO wird durchgereicht, allerdings um das Frequenzverhältnis geteilt.

Es kommt noch Jitter durch Begrenzerverstärker und Komparatoren dazu, die durch Rauschen den Nulldurchgang verschmieren, aber das spielt sich auch 6 Dekaden und mehr höher ab. Spannend draran: bei großen Teilerfaktoren, also 184 um auf 10kHz PFD-Frequenz zu kommen, ist von Einrasten nichts zu erkennen, bei Teiler=1, also PFD direkt bei 1,84 MHz ist des fast optimal, wenn ich dann den DDS-Ausgang auf 3,68 MHz lege und einen Teiler durch zwei einschalte sieht es super aus. Widerspricht also der These, dass Jitter ein Problem sein könnte, spricht aber für ein noch langsameres Schleifenfilter. Nur warum? 400Hz bei 1.8MHz sollten doch nun wirklich reichen.

Sind Bessel-Filter aus drei Ls und 4 Cs, ganz trivial, aber den Messungen nach völlig ausreichend, der Spektrumanalyzer zeigt von

10k-100M nichts verdächtiges.
Reply to
Stefan Huebner

Ich antworte mir mal selbst mit einem ersten Erklärungsversuch.

In einer PLL bringt der VCO ein 1/s in die Übertragungsfunktion der (offenen) Schleife, weil er mit einer einmaligen Änderung der Eingangsgröße (Abstimmspannung) mit einer einmaligen Änderung der Frequenz reagiert, was wegen omega=dphi/dt eine Änderung des Phasen_anstiegs_ pro Zeit bedeutet, damit also phi(vco-out)=U(vco-in)*Kvco/s.

Ersetze ich den VCO durch einen NCO, zum Beispiel eine DDS, behält dies Gültigkeit, solange ich am Steuerwort der DDS drehe, hier würde dann sinngemäß gelten phi(dds-out)=N(dds-in)*Kdds/s.

Ändere ich aber bei konstantem N die Eingangsfrequenz der DDS, folgt die Frequenz(!) am Ausgang instantan der am Eingang, bestenfalls kann man also aufteilen und sagen, f(vco-out)=U(vco-in)*Kvco, f(dds-out)=N*f(dds-ein) und dann das 1/s dranklatschen, weil ich ja nun die Phase am DDS- statt der am VCO-Ausgang betrachte, für die Ü-Funktion des Systems nimmt es sich aber nichts.

Umso mehr frage ich mich natürlich, warum meine Schleife schwingt...

Reply to
Stefan Huebner

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.