Ü-Funktion DDS u.a.

Jul 25, 2007 33 Replies

Hallo Stefan,

Natürlich nicht, je nach dem, wo Dein Komparator die Schwelle hat, liegt eine zusätzliche Verzögerung drin, die mit dem 180 MHz Filter nicht weniger wird. Mir ist ohnehin nicht klar, wozu Du dieses Filter einsetzen willst, wenn danach ohnehin wieder ein Komparator ein Rechteck draus macht. Willst Du damit den 2,x ns Jitter eliminieren?

Klar, was denn sonst ;-) Die DDS als solche kennt ja keinen Jitter. ich wüsste auch nicht, woher eine DDS ein Integratorverhalten oder sonst etwas her bekommen sollte. Wen Du aber nicht exakt im Nulldurchgang schaltest, bekommst Du eine frequenzabhängige Latenzzeit.

Welchen Ripple auf der Steuerspannung hast Du denn und welcher Frequenzbreite entspricht dies beim VCO? Darauf würde ich als erstes mal schauen. Ein VCO der 10 kHz bis 100 MHz überstreichen soll, reagiert eben schon auf ein paar mV Ripple auf der Steuerspannung recht eklig. Da das Eingangssignal in Dein Filter vom Regelkreis kein Sinus sein wird, sondern eben bei Phasennachlauf die Spannung hochzieht schubst das Teil die Frequenz zu hoch und hat dann einige Phasen lang eben eine zu hohe Frequenz, und das so lange, bis wieder eine Phase hinterher hinkt, dann schießt das Teil wieder viel zu hoch ... Mit ein bischen glück findet sich eine Frequenz, wo das leidlich klappt, aber eben nur zufällig :-) und dann auch nur in einem schalen Frequenzbereich = Arbeitspunkt auf der U/f-Kennlinie.

Marte

Marte

Hi Stefan,

Jetzt verwirrst Du mich... ich dachte, Du verwendest den DDS als Frequenzteiler, nicht als Ersatz für den VCO. Den wolltest Du doch als Generator nutzen, nicht?

Na ja, Frequenzänderungen innerhalb einer Periode sind so eine Sache für sich ;-)

Weil eine Anregung des Filters kein Sinus und die U/f-Kennlinie alles andere als linear sein werden.

Marte

Hallo Marte,

ich versuche mal zusammenfassend zu antworten. Zum ersten Posting: der Komparator an jedem PFD-Eingang sitzt dort, weil die rise time des Sinus im unteren Frequenzbereich (das Ganze soll von 10k-100MHz arbeiten) unter den Specs vom ADF4002 ist.

Richtig, als Teiler. Ich wollte in meiner Betrachtung den VCO durch die Kette VCO->DDS substituieren, um mir zu verdeutlichen, ob ich mir ein 1/s oder ein 1/s^2 einhandle.

Zum VCO: der Abstimmbereich liegt +/-8% von der Mittenfrequenz von

400MHz bei einer Abstimmspannung von 0-3V, die Kennlinie ist nicht ganz linear (s. Datenblatt MAX2608), aber ich hab schon grausameres gesehen.

Deine restliche Ausführung geht leider von einem Umstand aus, den ich ja gerade nicht habe: er regelt nicht ständig um den korrekten Wert rum, sondern klebt am unteren Bereichsende und sucht dort irgendwas! Und das bei geringer PFD-Frequenz von 10kHz, bei 1.8MHz geht es so leidglich.

Die Anregung des Filters sind natürlich Impulse aus den Stromquellen am Ausgang des Phasendetektors, und die Kennlinie - naja, so schlimm sieht sie nicht aus.

Ich zeichne mal einen Schaltplan und lade den auf eine meiner Homepages, ein Bild sagt ja bekanntlich mehr als 1000 Worte.

wenn Du das Phaseninkrementregister als als Eingang benutzt, hast Du so etwas wie einen digitalen VCO, der würde ein integrierendes Verhalten haben, nicht jedoch, wenn Du den Takt als Eingang benutzt. Das hast Du in Deiner anderen Mail aber auch erkannt.

ok, entspräche bei 400 MHz VCO einem Teilerfaktor von 217. Versuch doch mal 2**n zu erreichen, also 128 oder 256, falls der VCO das noch mitmacht.

Den Jitter des VCO meinte ich nicht.

Wir hatten bei uns vor kürzerer Zeit eine DDS mit FPGA realisiert und waren überrascht, wie sauber das Spektrum des Sinus am Ausgang aussieht, trotz der Diskretisierung. Nur die Samples des Sinus werden von einer zur nächsten Periode meistens nicht an derselben Stelle sein und damit der Nulldurchgang jittern. Allerdings kann ich mir nicht so recht vorstellen, daß dieser Effekt so starke Auswirkungen haben sollte.

Das habe ich nicht so recht verstanden, also von 400 MHz auf 10 KHz runtergeteilt, also Teilerfaktor 39928? Wie groß ist denn die look up-table? Ich weiß jetzt nicht, wie stark ein so großes Teilerverhältnis in das Schleifenfilter eingeht, das müßte man nachlesen.

Aber bei 1 oder 2 Teilerfaktor geht es? Dann versuch doch mal 2**n zu nehmen, ob auch 128 oder 256 gehen.

Wie sieht denn nun Dein Schleifenfilter aus? Hast Du nach z.B. R. Best einen PD Typ 4 mit charge pump und Integrator? Dann brauchst Du zur Kompensation noch 1 Nullstelle. Wie hast Du denn das realisiert?

Eine weitere Fehlerquelle wäre der Komparator nach der DDS, hat der eine Hysterese? Bei 10 KHz ist der Nulldurchgang doch sehr langsam, vielleicht schwingt der? Hier wäre ein Rechteck in der look up table besser, aber wahrscheinlich kommst Du da nicht dran.

Na, trivial kann ich mir fast nicht vorstellen, wir hatten bei 30 MHz schon Probleme mit der Güte der L bei SMD, allerdings bei 13. Ordnung. Aber ich glaube eher weniger, daß der TP hier irgendeine Funktion hat.

mfg. Winfried

Für alle, die hier schon mitgeschrieben haben und die, die da hoffentlich noch kommen: die ersten Schaltpläne findet ihr unter

formatting link

Das Loop-Filter ist schon wieder stark abgespeckt, zwischenzeitlich waren verschiedene Varianten drin, die allesamt eins nicht taten: die Schleife stabilisieren. Diese Bastelei schafft es immerhin, mit R=1 und N=2 und einer auf

3,686MHz eingestellten DDS stabil zu werden, nur leider nicht für R=1 und N=1 (rastet immer mal wieder aus) und schon gar nicht für R=N=184 für eine PFD-Frequenz von 10kHz, für die es eigentlich mal ausgelegt war. Am Referenzeingang links auf Blatt 2 hängt ein 1,8432MHz-Oszi über einen 470R-Widerstand.

Was da im Block "Experimental" steht, ist aber kein Filter, sondern nur eine komplexe Last, die zusammen mit der Ausgangsimpedanz des ADF4002 einen Tiefpass bilden könnte. Der 1nF am VTune Eingang könnte auch noch einen Einfluss haben.

Schau dir mal das Filter in folgendem Link an:

formatting link

Widerstand R4 verhindert, dass die 90° Phasenverschiebung erreicht werden.

Die "Last" beruht 1:1 auf dem Ergebnis des Berechnungsprogrammes ADISIM PLL, welches AD für diesen Chip bereitstellt. Was den ADF4002 von den 4046ern in Deinem Link grundlegend unterscheidet ist der Ausgang des Phasendiskriminators: beim 4046 ein Spannungsausgang mit einer TF von zB 5V/2*pi, beim ADF4002 zwei geschaltete Stromquellen mit einer TF von 5mA/2*pi. Da muss das Filter anders aussehen...

Das tut bei mir der 2.74k, und der 120n parallel dazu stellt regelungstechnisch einen reinen I-Anteil zum Erreichen eines Phasenfehlers gegen Null dar. Wobei mir der Wert etwas groß scheint, den ADISIM hier vorschlägt, in allen Design-Handbüchern wird der Kondensator mit 1/10..1/5 des Cs aus der RC-Reihenschaltung bemessen.

Bei R=N=184 ist der Verstärkungsfaktor in der Schleife auch ein leicht anderer ;-)

Aber mal was ganz anderes, Programmierung:

Du hast schon sichergestellt, dass a) Du nicht über den DDS internen Ref. Multiplier gehst, der ist nämlich eine PLL, und Loop inside Loop ist nicht gut. b) Der DDS nicht meint, intern über eine solche Schaltung gehen zu wollen, auch wenn Du das nicht möchtest ...

Ich täte als erstes mit einem schnellen Oszi die Phasen am Eingang und Ausgang des DDS bei einer Phasenänderung validieren (sprich Flanken auszählen) und schauen, dass da nicht merkwürdige Dinge passieren. Erst dann weißt Du sicher, dass sich der DDS wie ein Teiler verhält und nicht eigenen Jitter einbringt. Normal kann man die DDS interne PLL abschalten, aber Software kann bekanntlich auch Bugs beinhalten.

Ansonsten könntest Du hier mal posten, mit was für konkreten Bauteilwerten im Schleifenfilter Du arbeitest. Die C-Werte scheinen mir nämlich sehr hoch zu sein, hast Du Dir das Transientenverhalten mit dem ADIsim PLL mal näher angesehen ?

Und wenn schon DDS, dann würde ich den Phasendetektor nicht bei 10kHz laufen lassen, das_ist_nicht_gut (tm) Das Phasenrauschen läßt grüßen, es gibt hier IMHO keinen Grund, bei so niedriger Detektorfrequenz zu arbeiten, da der DDS auch krumme Teiler erlaubt. Außerdem bekommst Du so den R Teiler klein, was der Schleifenverstärkung gut tut.

Btw.: Wegen der Kritik am Filteraufbau an sich hier: Der ist an dem IC grundsätzlich ok, die arbeiten mit "Ladungspumpen" (eigentlich schnellen Schaltern) am Phasendetektor, der C direkt am Ausgang übernimmt die Ladung, zieht die Steuerspannung kurz weg und wird dann vom R/C fast wieder zurückgeholt, da eben primär die Phase und nicht die Frequenz geregelt werden soll.

Gruß Oliver

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

...der aber ansich auch berücksichtigt wurde, umso mehr wundert's mich ja.

Die Ausgangsfrequenz der DDS entspricht bei fVCO=400MHz exakt dem programmierten Wert, die PLL im AD9959 wird wohl mit 400MHz auch nicht mehr so ganz klarkommen. Also: nein, der interne Multiplier ist nicht aktiv.

Ein- und Ausgangssignal der DDS habe ich mir angesehen, als ich den Regler an Ausgang 2 dimensioniert habe, dabei ist mir nichts aufgefallen.

Schön langsam, ja. Die Werte sind für die ursprüngliche Dimensionierung - mit R=N=184, fPFD=10kHz von ADIsim berechnet worden, aber wie gesagt - damit geht's nicht, bei R=N=1 geht es.

Das Problem ist, dass am externen Referenzeingang 10kHz..100MHz vorgegeben werden können sollen ;) Die Frequenz wird zunächst gemessen, dann die DDS eingestellt und dann auf "lock" der PLL gewartet. Es spricht ja nichts dagegen, mit R=N=1 weiter zu arbeiten, aber dann gezielt. Dann muss ich halt mehrere Schleifenfilter aufbauen und diese dann umschalten, je nach Frequenzbereich. Wieso eigentlich R-Teiler für die Schleifenverstärkung? Der N ist in der Schleife, R ist aussen vor und wirkt sich nur auf die PFD-Frequenz aus. Ursprünglich war mein Gedanke: mach die PLL so langsam wie nötig, dann dauert das Einrasten halt. Inzwischen bin ich dank euch und diverser Literatur dann auch zur Erkenntnis gelangt, dass die PFD-Frequenz so hoch wie möglich sein sollte. Der elendig weite Frequenzbereich hat dann auch zu den sub-ns-Komparatoren geführt, die bei

Hallo Stefan,

Solche Umschaltgeschichten sind in der Funktechnik (allerdings bei reiner PLL) durchaus ueblich. So eine Art Gangschaltung, womit die Forderungen nach schnellem Frequenzwechsel und trotzdem geringem Phasenrauschen erfuellt werden. Das hoechste, was mir bisher begegnet ist, waren drei "Gaenge".

Gruesse, Joerg http://www.analogconsultants.com

Dann leg ich noch einen drauf :) Da das Topic dieses Threads etwas unglücklich geraten ist, mache ich erstmal in dem Endlosthread "PLL allgemein und ADF4002" oder so ähnlich weiter.

Hallo Stefan,

Und dort sieht es ja so aus, als ob Deine Sache langsam Form annimmt. Versuche mal, die Ladungspumpe loszuwerden. Wenn das mit den zwei Lagen schon zu spaet ist, vielleicht noch den Trick mit der "Poor-Man's Ground Plane" (Kupferfolie auf Kapton).

Gruesse, Joerg http://www.analogconsultants.com

Nagut, einer noch in diesem Thread. Aber dann is gut ;)

Kupferfolie habe ich schon bereit liegen, damit werde ich die wenigen Unterbrechungen in der unterseitigen Kupferfläche großflächig brücken. Die Ladungspumpe werde ich wohl nicht los, es sei denn, ich nehme eine andere PLL. Der Phasendetektor muss aber bis 100MHz schaffen, da sehe ich ein Problem. Noch mehr Teiler will ich auch nicht, schon wegen des Phasenrauschens.

Logisch. Die Analog Devices PLL sind auch mit Ladungspumpe gut. Einfach nur genügend abblocken und für eine saubere Masse sorgen.

Gruß Oliver

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required