PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PLL Synth. 1,6MHz bis 16 Mhz



dreadbrain
22.11.2009, 11:00
Hallo
für ein Projekt, das später beliebige Datensätze mit einstellbarer Geschwindigkeit aus einem SRAM auslesen soll brauche ich eine digital einstellbare Taktquelle.
Die Eckdaten dieser benötigten Tacktquelle sind:

fmin: 1,6 Mhz
fmax:16 Mhz
fstep: 4096Hz

Ich habe mich informiert und die Variante mit 74HCT4046 PLL ausgewählt.
Nach Zeichnen eines Schaltplans und Aufbau der Schaltung bekomm ich sie jedoch nicht zum laufen

den VCO habe ich ohne Offset mit C = 40pF und R = 10KOhm beschaltet.

Beim Loopfilter habe ich verschiedenste Varianten ausprobiert aber leider nie nur den Anschein das der Kreis dauerhaft einrastet erreicht.
Zum Testen habe ich das Teilerverhältnis fest auf 2000 eingestellt, so das eine Ausgangsfrequenz von ca. 8 Mhz erzeugt werden sollte.

Das beste was ich hatte ist, er lief ca. 1 sec. mit 8Mhz, rastete wieder aus und nach ca. 3 sec. wieder ein, usw.

Kann mir jemand sagen, ob die Daten (1,6MHz bis 16Mhz in 4Khz Schritten) mit dem 4046 überhaupt realisierbar ist.
Wenn ja mit oder ohne Offsett, und wie muss der loopfilter ausgelegt sein ( aktiv?, passiv?, welcher Ordnung, Grenzfrequenz?)

Anbei habe ich euch die skizze angehängt die ich z.Z. aufgebaut habe.
Ich habe auch schon Versuch unternommen das Ausgangssignals des programmierbaren Teilers74HC4059 mit Hilfe eines Toggle-Flip Flops zu symmetrieren, dasohne FF nur kurze Nadelimpulse erzeugt werden.
Um die Schrittweite von 4KHz zu erreichen, habe ich dann aber die Referenzfrequenz auf 2Khz abgesenkt.

Ich habe bis jetzt noch keine Erfahrung mit PLL und kann überhaupt nicht einschätzen inwieweit diese Schaltung so zu realisiern ist.
Für weitreichende Versuchsreihen fehlen mir z.Z. neben der Berufsoberschule die Zeit.
Deshalb wäre es nett, wenn mir jemand etwas Helfen könnte.

mfg Benedikt Lippert

Besserwessi
22.11.2009, 11:17
Im prinzip solle das so gehen. vermutlich ist vor allem der Loopfilter falsch dimensioniert. Außerdem ist ist so eine PLL Schaltung sehr empfindlich auf Störungen. Der Eingang des 4046 ist z.B. empfindlich darauf wenn das Signal auch nur etwas über den Beiruch GND-VCC hinausgeht. Da ist es ggf. Sinnvoll das Signal per Spannungteiler etwas zu verkleinern.

Eine Offset , also den 2 ten Widerstand wird man hier nicht brauchen, der fängt nur mehr Störungen ein und viel helfen kann er ohnehin nicht bei eime Frequenzbereich 1:10.
Das Extra Flipflop ist beim 2 PC2 Ausgang wohl nicht nötig, denn es wird nur auf die eine Sorte Flanken reagiert.

Das große Frequenzverhältnis (16 MHz / 4 kHz) ist nicht so gut. Das macht die Filterauslegung etwas schwieriger und das Signal wird nicht besonders stabil werden. Wenn man hohe Anforderungen hat, sollte eventuell 2 PLLs hintereinander nehmen.

PICture
22.11.2009, 14:38
Hallo!

@ dreadbrain

Vielleicht hilft dir das weiter:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=45275&highlight=pll

MfG

dreadbrain
22.11.2009, 15:43
Hallo,

ich hab mir scho gedacht, das der große Unterschied zwischen Referenz und Ausgansfrequenz Probleme macht.

Wie müsste ein Loop filter für diese Werte ungefähr aussehen.

Die Stabilität der Ausgangsrequenz muss für den Anfang nicht so Wahnsinnig groß sein.

Wäre evtl. ein anderer Baustein für diesen Frequenzbereich günstiger (NE564? oder kann man mit dem XR2206 etwas anfangen?)

mfg Benedikt Lippert

PICture
22.11.2009, 17:00
Normaleweise ist der Unterschied zwischen Referenz und Ausgangsfrequenz egal, weil der PLL Baustein immer nach dem Einrasten zwei gleiche Frequenzen zum Vergleichen hat (eine wird durch Teilung von der Ausgangsfrequenz erzeugt).

Der Aufbau des Loop Filters ist von der Schnelligkeit der Ausgangsfrequenzänderungen abhängig. Wenn der PLL Baustein nicht schnell auf die Änderungen reagieren muss, ist ein einfacher Tiefpass mit genug langer Zeitkonstante ausreichend. Für schnellere Änderungen der Sollfrequenz sind Loop Filter von höherer Ordnung notwendig, damit die VCO die Sollfrequenz nicht "überspringt", was zum Oszillationen und sogar Schwingen des Loops führen könnte. Optimal ist ein Loop Filter der das stabile Einrasten ohne Überschwingungen ermöglichst.

Die Stabilität der Ausgangsfrequenz ist für PLL Schaltung nach dem Einrasten immer gleich der Referenz.

Der 4046 ist laut Datenblatt für diesen Frequenzbereich gut.

MfG

Besserwessi
22.11.2009, 17:21
Der NE564 hat so weit ich weiss eine Einschränkung beim Frequenzbereich. Ohne umschalten oder extra Tricks kann man kaum mehr als 1:2 duch die Spannung variieren. Schnell genug wäre er. Der 4046 ist eigentlich nicht so schlecht.

Im Idealfall stimmt es, dass die Stabilität der Referenz erhalten bleibt. Allerdings kommt daszu ggf. eine leichte FM Modulation mit der Referenzfrequenz. Mit dem Phasen-comperator 2 geht das aber relativ gut, besser als z.B. der Ne564.

Der Loop Filter sollte für den Anfang nicht zu langsam sein, sonst kann es passieren dass Frequenzabweichungen durch eingekoppelte Störungen nicht mehr ganz ausgeglichen werden. Für die Dimensionierung des Loopfilters gibt es eine ganze Menge an Appl. Notes usw. Der Filter so wie im Plan ist schon OK, wenn die Widerstände / Kondensatoren stimmen. Filter höherer Ordnung machen es recht schwer die Schleife stabil zu kriegen. Ich würde bei dem passiven Filter bleiben. Wenn die Frequenzstabilität nicht ausreicht, dann erst mal gut abschirmen und am layout arbeiten, und als letzen Alternative einen 2 ten PLL dahinter.

dreadbrain
22.11.2009, 20:00
Hallo,

ok dann lass ich den 4046.
Ich lass aber trotzdem mein FF drin, da ich dann am oszi besser die referenz zur ausgangsfrequenz vergleichen kann.

Beim Comparator 2 muss die Phasenlage 0 sein oder?

Kann mir jemand ein App zeigen, wo ein Filter ausführlich berechnet wird?

Außerdem werd ich das ganze mal auf einen Lochraster auflöten und alles schön mit 100nF Kerkos entkoppeln.
Da ich manchmal das Gefühl habe, dass mir das Steckbrett etwas in die Suppe spuckt.


mfg Benedikt Lippert

Besserwessi
22.11.2009, 20:57
Auf dem Steckbrett würde ich auch kaum erwarten, dass es bis 16 MHz geht. Auch mit Lochraster sollte man sich nicht wundern, wenn es ohne Metallgehäuse nicht geht, weil man z.B. eine FM-modulation mit 50 Hz drauf hat.

Mit Comperator 2 sollte die Phasenlage 0 (oder 180 grad) sein.

nikolaus10
23.11.2009, 10:25
Hast du mal ueber eine DDS Schaltung nachgedacht ?

dreadbrain
23.11.2009, 14:42
Hallo,

an DDS habe ich scho gedacht, nur hat man da doch bei hohen Frequenzen einen großen Jitter.
Außerdem möchte ich mich mal mit PLL beschäftigen.

Kann mir jemand eine Appnote nennen, wo so ein Loopfilter berechnet wird und warum man diesen so diemensionert?


Auf was kann ich beim Aufbau der Schaltung auf Lochraster noch achten, außer auf saubere Masseführung+kurze Leitungen+Entstörkondensatoren?

mfg Benedikt Lippert

PICture
23.11.2009, 16:47
Hallo!

@ dreadbrain

Ich habe mit dem Begriff "PLL performance simulation design" durch "google.de" sehr viele Artikel und Bücher (englisch) in PDF Format gefunden. Einen entsprechenden deutchen Begriff kenne ich leider nicht.

Für fertige Filter würde ich dieses Programm empfehlen:

http://focus.ti.com/docs/toolsw/folders/print/filterpro.html

MfG

Besserwessi
23.11.2009, 16:48
Beim PLL sollte man eventuell die Versorgungsspannung noch mal extra entkoppeln über eine Spule, so wie beim AD Wandler. Das gilt aber nicht nur auf dem Lochraster.
Beim Lochraster sollte man sehen, dass man den Loopfilter nicht zu hochohmig macht, damit man nicht so viel kapazitiv einkopplet. Ein kompakter Aufbau hilft da auch.

Eine gute Anleitung zum Loopfilter habe ich leider auch nicht mehr zur Hand. Das beste was ich wüßte wäre National Semiconductor Appl. Note 1001.

Ein DDS muß nicht unbedingt viel Jitter haben, das hat man vor allem wenn man es ohne Filter macht. Mit einem Rekonstrucktionsfilter und einem schnellen Komperator kann man auch sehr niedriege Jitterwerte erreichen. Nur kreigt man die DDS Chips fast nur als SMD.

PICture
23.11.2009, 16:58
DDS ist eigentlich für nichtrechteckige Ausgangssignale vorgesehen und für rechteckige hat keinen Sinn, weil es viel komplizirter ist.

Die einfachste Lösung um in bestimmten Bereich schritweise einstelbare Taktfrequenzen zu erzeugen, ist direkte Teilung einer genug hocher permanenter Frequenz.

MfG

Besserwessi
23.11.2009, 20:11
So kompliziert ist die DDS Lösung nicht: ein DDS Chip (z,B. AD9832), ein diskret aufgebauter Tiefpaßfilter und ein schneller Komperator. Das Problem ist mehr, das man den DDS chip eigentlich nur per µC vernünftig ansteuern kann. Die low Cost DDS Chips gehen auch kaum bis 16 MHz.

Die alternative mit PLL braucht auch den PLL Chip, den Variablen Teiler, einen Loopfilter, eine Referenzfrequenz (Quarz+Teiler) und dazu eine gute Abschirmung und saubere Spannungsversorgung wenn man nicht zu viele Störungen haben will.

Bei der Teilerlösung wird man 16 MHz auch kaum Direkt erzeugen können. Man kann aber z.B. ein Frequenz um 15 kHz durch teilen erzeugen, und dann per PLL mit festen Multiplicator (z.B. 1024) auf die 16 MHz zu kommen. Bei einer Zielfrequenz von etwa 15 kHz kann man mit einem Teiler schon eine hohe Frequenzauflösung erreichen, vor allem wenn man auch nicht ganzahlige Teiler benutzt.

PICture
23.11.2009, 20:38
Der Bereich 1,6 bis 16 MHz ist bei jeder Lösung (PLL bzw. DDS) sowieso schwer realisierbar, weil die nächste Frequenz nur um ca. 4 kHz von 16 MHz entfernt ist, was nur 0,025 % bedeutet. Das ist, glaube ich, das Hauptproblem sowohl für PLL als auch für DDS.

Mann könnte noch über FLL nachdenken, was ziemlich einfach, aber leider auch ziemlich langsam ist.

MfG

Besserwessi
23.11.2009, 21:16
Bei einer DDS Lösung sind die 0,025% Frequenzauflösung kein Problem. Normal sind da etwa eher was um 24 Bit an Auflösung. Also etwa 1 Hz bei 16 MHz. Sogar per software DDS (z.B. dsPIC oder AVR) kreigt man noch bis 500 kHz 22 Bits Auflösung für die Frequenz. Zusammen mit einem PLL (x32) wäre das durchaus ein Möglichkeit auch Frequenzen von 1,6 ... 16 MHz zu erzeugen.

PICture
23.11.2009, 22:09
Dann müsste man lieber die reine PLL Lösung ausbauen, da ich nicht glaube, dass es mit einfachem RC-VCO vom 4046 (laut Datenblatt 0,15 % / K = 24 kHz / K bei 16 MHz) möglich ist nötige Frequenzstabilität für PLL zu gewährleisten.

Deswegen wird das PLL beim 4096 Hz Schritt, sogar mit optimalem Loop Filter, bei höheren Frequenzen nicht stabil arbeiten und oft nach kurzer Zeit ausrasten (siehe ersten Beitrag).

Ohne genauen Angaben von festgelegten Ausgangsparameter ist die Wahl einer optimaler Lösung nicht möglich und nur Frequenzbereich und Schritt reichen dafür nicht aus.

Praktisch brauchen RAM Bausteine keinen frequenzstabilen Takt und wird dafür wahrscheinlich sogar schon erwähnte einfache FLL (Frequency Locked Loop) Schaltung ausreichend.

MfG

Besserwessi
24.11.2009, 16:31
Auch ein VCO auf RC Basis kann kurzzeitig ziehmlich stabil sein, wenn man für eine Abschrimung sorgt. So hoch sind die Anforderungen ja auch nicht. Zumindest wenn es nur darum geht ein Ausrasten zu verhindern. Ein Metallgehäuse ist da vermutlich wichtiger als ein komplizierter Filter. Die Temperaturstabilität ist überhaupt nicht wesenlich, denn so schnell ändert sich die Temperatur nicht, dass der PLL dem nicht folgen kann.

dreadbrain
24.11.2009, 18:16
Hallo,

zu Not könnte man auch den Freuqenzbereich halbieren oder vierteln.
Also nur noch von 8 bis 16Mhz.
Die obere Frequenz und die Stufung von 4kHz ist nötig

Wenn ich mal zusammenfasse:

1. Es ist fasch unmöglich meine Ursprüngliche Forderung mit nur einem PLL zu erfüllen.

2.Mehrere Möglichkeiten werden vorgeschlagen:
a. 2 PLL´s hintereinander ( kann mir das jemand erklären, da ich nicht verstehe was das bringen soll)
b. DDS-Chip ( problematisch, da etwas schwer zu beschaffen)
c. Software-DDS im Atmel und PLL dahinter ( hört sich interessant an, da dann sogar eine einfache Möglich keit der Modulation möglich wäre.
Wobei dann natürlich die PLL relativ schnell sein müsste, um der Modulation zu folgen? Ist dies realistisch?)

d. FLL (Hat jemand eine Schaltskizze oder eine besserer Erklärung parat?)

Die Geschwindigkeit der Regelung ( beim Umschalten zwischen zwei Frequenzen, ) kann ruhig eine viertel Sekunde dauern.
Ziel dieses Aufbaus ist es Datenblöcke von 4096Byte oder mehr wiederholt aus einem SRAM in variabler Geschwindigkeit auszulesen.

Welche Möglich keit wäre aus eurer Sicht die beste.


mfg Benedikt

PICture
24.11.2009, 19:08
Hallo!

@ dreadbrain

Ein FLL System missst ständig die Frequenz des VCOs und vergleicht sie mit dem Sollwert. Beim Über- bzw. Unterschreiten den vorgegebenen Grenzen korriegiert durch DAC/PWM entsprechend die Steuerspannung für VCO (siehe Code).

MfG

.--------.
| |
|Tastatur|
| |
'--------'
| Frequenz mit Toleranzgrenzen
V
.--------.
| |
| µC |<-----+-----> Ausgangsfrequenz
| | |
'--------' |
|PWM |
V |
.--------. .-------.
| | | |
|Tiefpass|->| VCO |
| | | |
'--------' '-------'

Besserwessi
24.11.2009, 20:41
So schlecht ist die ursprüngliche Idee nicht. Bei vernünftiger Abschirmung sollte es gehen. Als kleine Abweichung sollte man eventuell den PLL nur von 4-16 MHz nutzen und dann ggf. einen Teiler durch 4 dahinterschalten.

Die Lösung mit 2 PLLs wird so einfach doch nicht gehen, denn man hat dann die feine Auflösung nicht mehr bei den hohen Frequenzen. Sinnvoll wäre ein 2 ter PLL nur wenn man sonst zu viel Jitter (Phasenrauschen) hat.
Der 2 te PLL wirkt dann nur als Filter für das Phasenrauschen und könnte einfach dahintergeschaltet werden. Sinnvoll ist das aber nur wenn das Signal ohne recht schlecht ist.

Wenn man das mit der Steuerung sonst gut verbinden kann wäre auch die Lösung mit Software DDS und PLL dahinter nicht schlecht.
Eine ähnliche Lösung habe ich aufgebaut, allerdings nicht mit soft-DDS, sondern mit einem Teiler mit Nachkommerstellen. Man hat da etwa 16 Bit Auflösung bei der Frequenz, allerdings nicht linear, sondern stückweise linear in der Periode und dann extra binäre Stufen dazu. Bei mit geht das mit ein HC4046 bis etwas über 20 MHz. Die Kombination mit Software DDS sollte vermutlich sogar etwas besser gehen.

Beim software DDS hat der µC schon viel zu tun, viel zeit für Modulation hat man da kaum. Wäre sicher möglich, aber wohl nicht sehr flexibel. Was man aber sicher hinkriegt sind feinere Schritte, wenn man will. Der Aufwand ist natürlich auch nícht so ohne:
µC , DA Wandler , Filter, Komperator , PLL mit festen Teiler (z.B: 32,64 oder 128).

dreadbrain
25.11.2009, 14:03
Hallo,

ich habe mich gestern etwas über den FLL informiert.

Dabei ist mir eine Idee gekommen:

Wenn ich einen Controller als Regler nehme, einen DAC mit z.B.16Bit Auflösung dahinter schalte, dessen Ausgangsspannung evtl. auf den VCO des 4046 anpasse und die erzeugte Freuqenz dann wiederum mit dem Controller messe, sollte das doch hinhauen.

Damit die Anpassung an eine neue Frequenz nicht so lange dauert(wird als Nachteil beschrieben) könnte man ja bei der Anwahl einer neuen Frequenz einen festen Sollwert (duch eine Funktion im Controller berechnet) auf den DAC geben und die Regelung unterbrechen.
Kurz warten und dann erst die Regelung wieder zuschalten, damit sich die Schaltung auf den eingestellten Wert einregelt.

Probleme seh ich dabei nur beim VCO und der Frequenzmessung.
VCO: Wie reproduzierbar ist eine Frequenz bei einer bestimmten Eingangsspannung ( Temperatur etc.)
Frequenzmessung:
Schafft ein Controller es die geteilte Frequenz enstprechend genau zu messen?

Mit diesen Problemen werde ich mich demnäschst evtl. genauer befassen.


Zur Lösung mit dem DDS und der PLL

Eingentlich wäre hier ja nur ein Controller und ein PLL mit einem festen Teilerverhältnis nötig.
Hier sehe ich die Probleme wieder in der Dimensionierung des Loopfilters, und in der Stufung der Referenzfrequenz.
Kann ein Software DDS genügend fein, mit entsprechend hoher Frequenz arbeiten?


Für beide Möglichkeiten würde ein extra Controller vorgesehen, der nur das ausführt und seine Daten über einen Bus erhält.
Die Steuerung des ganzen (RAM-Verwaltung, Funktionswerte erzeugen und im RAm ablegen etc. ) wird eh sehr aufwendig und daher von einem extra µC übernommen.

Z.z. würde mich der FLL am meisten Reizen, da auch hier die Möglichkeit einer niederfrequenten Modulation besteht.
Hier hängt die Modulation ja eigentlich nur von der Geschwindikeit des DAC und der Regelung ab.
(Wenn man den Sollwert der Frequenz schon ziemlich genau über eine Funktionsvorschrift erzeugen könnte, wäre bei der Modulation, die Regelung sogar fast überflüssig)

mfg Benedikt Lippert

PICture
25.11.2009, 15:00
Hallo!

@ dreadbrain

Deine Überlegungen über FLL sind richtig. Wenn du genaueren als 10-Bit (1024 Pegel bei PWM) DAC brauchst, dann musst du einen externen nehmen, dann enfällt der Tiefpass und Warten auf die Reaktion. Durch Anwendung von Schieberegister lässt sich die Pinzahl des µCs auf zwei reduzieren.

Laut Datenblatt von 4046 VCO hat eine Stabilität von 0,15 % / K. Bei Bestimmter Spannung und für angenommenem Temperaturbereich sollte sich die Abweichung ausrechnen lassen.

Man kann auch entsprechend die Grenzen für die Frequenz festlegen innerhalb dessen keine Regulation vorgenommen werden soll. Die FLL hat eben den Vorteil, dass für jede Frequenz und bestimmten Temperaturbereich z.B. immer gleiche Toleranz in % für jede Frequenz vorgegeben werden kann, da die Ausgangfrequenz nicht, wie bei PLL, immer gleich der Sollfrequenz seien muss.

Die Auflösung bei Messung der Frequenz ist von Messzeit abhängig. Da der µC wahrscheinlich mit einem Quarz getaktet wird, ist die Frequenz mit seiner Genauigkeit und Stabilität gemessen. Bei 7,3728 MHz Quarz (thermisch stabiltester) habe ich mit PIC Frequenzen bis ca. 80 MHz mit Auflösung +/- 1 Hz und Messzeit 1s stabil gemessen. Bei 0,1 S wird die Auflösung 10 Hz, usw.

Du kannst die Frequenz in entsprechend längerem Zeitraum sogar genauer messen und die Frequenzmodulation eliminieren.

MfG

Besserwessi
25.11.2009, 15:56
Die Frequenzmessung geht noch deutlich besser als von Picture angegeben. Die 1 Hz Auflösung nach 1 s gelten für das einfache Zählen. Besser geht das, wenn man die Zeit zu den Flanken mißt. Die Frequenz sollte man dazu erstmal auf etwa 10-100 kHz runterteilen. Dann kann man schon nach etwa 10 ms eine relative Auflösung von etwa 1:10^6 erhalten, also etwa das was so ein einfacher Quarz hergibt. Für ein Regelung ist das schon ein ziehmlicher Vorteil, wenn die Frequenzmessung schnell ist. So viel Auflösung wird man kaum satbil auf den VCO übertragen können.
Man muß aber bedenken, das die VCO Lösung ähnlich empfindlich, oder eher noch emfindlcher, auf Störungen ist wie die derekte Lösung mit dem PLL. Eine Regelschleife muß man da auch noch stabil kreigen, was ziehmlich genau den Anforderungen an den PLL Loopfilter entspricht.
Im Prinzip ist der FLL nichts anderes als ein eher schlechter PLL in Software realiert.

Auch mit dem Sotware DDS ist ein sehr gute Frequenzauflösung möglich. Bei der üblichen Form mit 24 Bit Frequenzwert sollte man für das DDS Signal (ca. 10-200 kHz) eine Auflösung von etwa 0,1 Hz bekommen. Wenn man will kann man leicht auch noch mehr Auflösung bekommen, ist aber kaum nötig. Mit einem PLL dahinter, um auf 16 MHz zu kommen, hätte man etwa 10 Hz Auflösung. Das ist ziehmlich sicher besser als die Stabilität die man mit der FLL Lösung erreichen kann. Der Loopfilter für den festen PLL mit moderatem und festen Faktor ist nicht so schwer auszulegen.

dreadbrain
25.11.2009, 18:02
Hallo,

erfordert die FLL Lösung soviel Korrektur, also wenn ich dem VCO eine feste Spannung vorgebe?
Schwankt der VCO so stark?

Hat jemand einen guten link zu DDS in software?

mfg Benedikt Lippert

Besserwessi
25.11.2009, 18:34
Eine bekannte seite für einen Software DDS mit ein AVR µC:
http://www.myplace.nu/avr/minidds/index.htm

Grundlagen zum DDS Prinzip gibt es ganz gut als Appl Notes von Analog Devices.


Die Frequenz des VCO ist nicht so stabil, da ist schon einiges an Drift mit der Temperatur und Versorgungsspannung drin. Auch duch mangelnde Abschirmung kann sich die Frequenz ändern. Das sind im Prinzip genau die Störungen die der PLL nachregeln muß. Für die Anwendung als PLL ist im wesentlichen das kurzzeitverhalten bis etwa 1 ms bis 1 s interessant was langsamer ist wrid ja in der Regel nachgeregelt.

dreadbrain
26.11.2009, 18:13
Hallo,

ok, dann werd ich mich mal mit DDS auf einem AVR beschäftigen.
Wenn ich dan die max Frequenz habe, die ich erreiche, melde ich mich noch mal um den PLL zu berechnen.

mfg Benedikt Lippert

dreadbrain
29.11.2009, 13:45
Hallo,

ich hab mir jetzt mal einen DDS-Generator mit einem M16 aufgebaut.
Ich betreibe Ihn mit 16Mhz und erreiche eine Maximalfrequenz von ca. 456Khz bei 32 bit Auflösung.

Nachdem ich das 456kHz Signal auf dem Oszi dargestellt habe ist mir aufgefallen, das dies seeehr viel Jitter enthält.


Macht das dem PLL etwas aus?
Ist es realistisch das ich den PLL mit einem Faktor von ca 36 betreibe?
Ist da der LOOP-Filter einigermaßenm leicht zu dimensionieren, und stabil?

mfg Benedikt

Besserwessi
29.11.2009, 18:11
Der PLL soll schnellen Frequenzänderungen ja nicht folgen. Da ist die Filterauslegung nicht so schwer. Wegen dem einfacheren Teiler sollte der PLL mehr so etwas wie mal 64 machen.

Das Digitale Signal vom DDS hat viel Jitter. Besser wird es hinter DA Wandler und Tiefpaß. Den DDS sollte man nicht ganz mit der maximalen Frequenz nutzen, sondern etwas Reserve lassen für den Tiefpaßfilter.
Der PLL kann vieles an hochfrequentem Jitter rausfiltern, aber natürlich nicht alles. In der analogen Darstellung sollte der DDS kein sichbares Jitter haben, sonst ist da noch was nicht OK am Code.

Wenn man dem DDS im Interrupt laufen läßt ist es gar nicht so einfach Jitter zu vermeiden, es geht aber. Eine Methode dazu ist es 2 Interrupts kurz hintereinander auszulösen: der erste unterbricht das Hauptprogramm, gibt interrupts wieder frei und macht dann nur noch ein paar NOPs. Dann kann der 2 te interrupt etwa 6 Zykelen später erfolgen und die eigentliche DDS routine ausführen. Man springt dabei gar nicht wieder in den ersten Interrupt zurück, sondern gleich wieder ins Hauptprogramm. Da man damit schon recht viel Zeit verliert, sollte man in einem Interrupt gleich z.B. 4 DDS-schritte rechnen und die Ausgaben dann passend verteilen, z.B. alle 20 Zyklen. Der Interrupts kommt dann nur alle 80 Zyklen. Die restlichen etwa 5% an Rechenzeit die noch fürs Hauptprogramm übrig bleiben sollten schon ausreichen für die Steuerung.

Ich würde mal schätzen, dass man im Interrupt auf eine Abatsrate von etwa 800 kHz kommen kann. Damit wäre die maximale sinnvolle Ausgangsfrequenz etwa 200 kHz.

dreadbrain
29.11.2009, 18:22
Hallo,

ich hab den DDS nur digital aufgebaut, also nur ein Rechtecksignal als Ausgangssignal.
Ist da eine Umwandlung mit TP nötig um auf den PLL zu gehen?


Die Berechnung läuft auf einem extra Controller , der nix anderes zu tun hat. Dieser bekommt seinen Wert über einen 8-Bit Datenbus.

Bis 250 KHz ist der Jitter annehmbar ( auf dem Analogoszi sieht man den Schatten, der teilweise ca. eine 4tel Periode verschoben ist)


mfg Benedikt Lippert

Besserwessi
29.11.2009, 18:30
Man kann noch einges gewinnen mit dem Umweg über DA Wandler, Filter und Komperator. Mit 8 Bit D/A und Filter könnte der Jitter schon um etwa den Faktor 200-500 kleiner sein.
Es könnte aber sein, das der rein digitale DDS (heißt dann eher NCO = Numeric controlles oscillator) schon ausreicht.

Wenn man nur das Digitalsignal nutzt, wäre ein Teiler mit Nachkommeranteil besser, nur das man da keine gleichen Frequenzschritte hat. Da kann man die Position der einzelen Flanken über den Timer auf einen Zyklus genau steuern, satt etwa 10 zykeln bei der DDS-lösung.

dreadbrain
29.11.2009, 18:55
Hallo,

was versteht man unter "Teiler mit Nachkommaanteil"?

Wenn ich ehrlich bin, ist mir die lösung mit DA und Filter... etwas zu aufwendig.
Ich versuche mal den PLL mit diesem digitalen Takt zum laufen zu bekommen.
Mit einem langsamen Filter sollte das ja eigentlich möglich sein, da sich der Jitter ja über die Zeit ausgleicht.

mfg Benedikt Lippert

Besserwessi
29.11.2009, 21:16
Das mit dem Nachkomma Anteil ist ein bischen ähnlich wie beim DDS. Man kann so einen Frequenz z.B. durch 2,5 teilen, indem man abwechselnd 2 und 3 Perioden wartet. Das wird zum Teil auch bei PLL ICs schon in Hardware gemacht. Dabei wird der Teiler zwischen 2 Werten von z.B. 100 und 101 umgeschaltet. Bei jedem Teiler überlauf wird jeweils eine Konstante für den Bruchanteil aufsummiert, so ähnlich wie beim DDS. Wenn die Summe vom Bruchanteil überläuft, nimmt man den Größeren Teiler, sonst den kleineren.

Ich habe so etwas ähnliches mit einem PLL dahinter schon Aufgebaut (Tiny2313 als µC und ein 74HC4046 dahinter), und es funktioniert eigentlich ganz gut, bis etwa 20 MHz. Die Grobauswahl der Frequenz habe ich noch über einen nachgeschateten Teiler durch 4^N gemacht, damit der PLL keinen so großen Frequenzbereich vertragen muß.

dreadbrain
05.12.2009, 13:26
Hallo,

ich habe heute den DDS-AVR mit dem PLL verbunden.

Ich habe es jetzt so diemensioniert das die Referenzfrequenz vom µC 25 bis 250kHz ist.
Der Teilerfaktor der PLL ist 64, so das ich auf 1,6 bis 16Mhz komme.

Nun mein Problem
Dimensionier ich den Loopfilter recht langsam, funktioniert der PLL zwar im unteren Bereich einwandfrei, aber er kommt nur ca. bis 6 MHz. Ab da ist dan Schluss.
Erhöhe ich die Grenzfrequenz des Filters, dann wird es zwar im oberen Bereich stabil(wobei ich noch nicht übere 14Mhz rausgekommen bin, kann aber am provisorischen Aufbau liegen, Muss den VCO noch mal etwas modifizieren).
Ist die Grenzfrequenz des Filters hoch, ist die Schleife bei tiefen Frequenzen nicht stabil.

Wie würdet ihr den Loopfilter bei dieser Sachlage dimensionieren?
Welche Bauteile würdet ihr nehmen? Kerko,Elko, Folie?


Muss das alles noch in ein Metallgehäuse einbauen, da meine Versuche im Küchenradio auch zu höhren waren^^.


mfg Benedikt Lippert

PICture
05.12.2009, 13:48
Hallo dreadbrain!

Ich kenne zwar die Kombination von DDS und PLL nicht, wenn es aber Probleme mit Zeitkonstante des Loopfilters für diesen Frequenzbereich gibt, würde ich als seriellen Widerstand im Tiefpass einen spannungsgesteuerten Widerstand (J-FET bzw. MOSFET) anwenden der z.B. mit PWM und glättendem Tiefpass gesteuert wird, da die Sollfrequenz vorgegeben (voraus bekannt) ist.

Es soolte auch möglich sein (je nach Loopfilter Kapazität) ein (oder mehrere paralell) spannungsgesteuerten Varicap z.B. BB112, was einfacher ist, zu verwenden.

Wegen ziemlich hoche max. Frequenz würde ich, falls wegen Käpazitätsgröße möglich, vielschicht Kerkos (SMD) nehmen.

Das schirmende Metallgehäuse ist in jedem Fall empfehlenswert.

MfG

dreadbrain
05.12.2009, 16:19
Hallo,

ja mit einem FET wäre möglich.
Dazu bräuchte man aber einen größeren Schaltungsaufwand, da ja die Source nicht auf GND-Potential liegt.

Gibt es keinen Filter der für dies Aufgabe ausgelegt werden könnte?

Wenn nicht muss ich entweder den Freuqenzbereich der Schaltung halbieren und druch einen weiteren Teiler auf die gewünschte Ausgangsfrequenz zu kommen. Oder ich baue einen umschaltbaren Filter
z.B 3 oder 4 Stufen.


mfg Benedikt Lippert

Besserwessi
05.12.2009, 16:57
Für einen varicap sollten die Kondensatoren zu groß sein. Ein Faktor 10 ist auch noch kein so extremer Frequenzbereich. Ein umschaltbarer Filter wäre möglich, aber da wäre es vermutlich einfacher den Abgriff des Ausgangssignals umzuschalten. Also bei den niedreigeren Frequenzen nicht den VCO direkt, sondern die schon geteilte Frequenz abzugreifen, die hat man ja vom Teiler in der Regel ohnehin schon.

Ein Metallgehäuse ist auf alle Fälle zu empfehlen. Wegen der Abstarhlung von Störungen und auch wegen Störungen die der PLL einfängt.

Wie sieht den der Filter aus ?

Bei meinem PLL habe ich als Filtet 120 K + 33 K als Widerstände und 1 µF und 100 nF als Kondensatoren. Den 1 µF gegen GND, mit 33 k Parallel, die 100 nF dazu in Reihe, und die 120 K vom Detektor zum 100 nF Kondensator. Die Ref Frequenz liegt bei mir bei ca. 40 kHz. Der Filter ist nicht groß optimiert, geht aber bei mir ganz gut.

PICture
05.12.2009, 17:22
@ dreadbrain

Mir ist noch eingefallen, dass man die Reaktion des Loopfilters beschleunigen kann, wenn man eine Gleichspannung, die ungefähr der gewünschter Frequenz entspricht (die man voraus kennt), mit der Regulationsspannung durch einen OpAmp für den VCO addiert. Weil die Amplitude der Regulationsspannung sollte für jede Frequenz ungefähr gleich sein, sollte die Reaktionszeit nicht so stark mit der Ausgangsfrequenz varieren.

MfG

dreadbrain
05.12.2009, 18:00
Hallo,

ich habe meinen Filter mit R=20K und C=10µF aufbebaut (1.Ordnung)
Habe dann noch mit mehreren Varianten probiert.

Wenn ich deinen Filter richtig verstanden haben dann hängt der 120K Widerstand zwischen Detektor und einer Reihenschaltung aus 100nF und 1µF in Reihe.
Parallel zum 1µF liegt ein 33k.

Stimmt das so? Mir erscheint die Schaltung unlogisch( Reihenschaltung aus 2 C´s)

mfg Benedikt

Besserwessi
05.12.2009, 20:55
Ein einfacher Filter erster Ordnung ist beim PLL mit Pulsausgang, so wie hier grenzwertig. Da ist es normal das die Regelschleife leicht Instabil wird.

Wo ich diese Filter form her habe, weiss ich auch nicht mehr. Irgendwie kann ich die Quelle dafür auch nicht mehr finden. Normlerweise wird auch ein etwas anderer Filter benutzt, mehr so ähnlich wie ein einacher Tiefpaß. Nur parallel zum Kondensator kommt noch ein Reihenschaltung aus R und C. Das Zusätzliche RC Glied Sorgt dafür, daß die Phasenverschiebung nicht ganz 90 Grad ist. Die von mir gewählte Form ist aber ähnlich, auch hier ist die phase über weite Bereiche ewta kleiner als 90 Grad.

Etwas Erklärung zu PLL Loop Filtern gibts z.B. bei National Seniconduktor als AN1001 und AN1000. Das ist zwar für etwa andere ICs, aber auch die "Charge Pump" Ausführung.


Eine ganz gute Sammlung von Links zu PLLs gibs hier :
http://www.circuitsage.com/pll_design

dreadbrain
05.12.2009, 21:50
Hallo,

dann werd ich morgen mal dieses Filterdesign ausprobieren

Ich habs mal als PDF angehängt.
Stimmts so?


mfg Benedikt

Besserwessi
05.12.2009, 22:15
So habe ich den Loopfilter aufgebaut.

Es wäre vermutlich besser das ganze etwas niederohmiger zu machen, also Widerstände kleiner und die Kondensatoren größer - das ändert nichts an der Filterfunktion macht ihn aber weniger empfindlich auf externe Störungen.

dreadbrain
06.12.2009, 18:33
Hallo,
ich habe den Filter heute mal so aufgebaut, nur um den Faktor 10 größere Kondensatoren und halt entsprechend kleiner Widerstände.#
Es funktioniert leidern noch nicht.

Ich werde aber während der Woche oder am Wochenende ( wenn ich neben der Berufsoberschule mal etzwas zeit habe) die Schaltung noch mal neu aufbauen (besser entstören etc.) und in ein Metallgehäuse einbauen.
Dann denke ich kann ich mich besser an einen optimalen funktionsfähigen Filter rantasten.

mfg Benedikt

dreadbrain
12.12.2009, 21:07
Hallo,

ich habe heute die Schaltung in ein Metallgehäuse eingebaut ( Das Küchenradio geht wieder ^^) aber es ist immer noch nicht besser geworden.

ich habe den Filter so aufgebaut wie ich ihn in der PDF gezeigt habe, nur um den Faktor 10 größere Kondensatoren und um Faktor 10 kleiner R´s.

Er funktioniert im Oberen Frequenzbereich (> 5MHz) recht gut, ich komme aber nur bis ca. 7 MHz Ausgangsfrequenz. Höher gehts nicht. Die Spannung am VCO in ist dann ca. 3,8Volt.
Ich vermute das dies am Filter liegt. Muss irgendwie so sein, das dieser hohe Frequenzen nicht mehr glättet.

mfg Benedikt Lippert

Besserwessi
12.12.2009, 22:07
Mir ist jetzt wieder eingefallen wo ich den Filter her hatte:
Man findet oft Filter ohne den 2 ten größeren Kondensator. Da ist die Auslegung relativ einfach und die stbilität erstmal keine Problem. Man hat aber immer einen kleinen direkten Durchgriff auf den Ausgang. Wenn die Ref Frequenz Stabil ist, sind die Pulse immer recht klein, sollte also kein Problem sein.
Beim relativ instabilen Ref Signal hier, sollte man da aber vermeiden. Deshalb der 2. Kondensator.

Ein möglicher test wäre also den großen Kondensator (10 µF) rauszunehmen. Das sollte den Frequenzbereich auch nach unten etwas vergrößern.


Das mit der begrenzten Maximalfrequenz sollte kaum vom Filter abhängen, sondern eher von der beschaltung am IC. Da müßteman eventuell die Widerstände oder den Kondensator etwas kleiner machen.
Viel größer als die 3,8 V wird die Spannung am VCO Eingang auch nicht werden, denn wenn das Eingangssignal nicht so stabil ist, kann der Frequenzkomperator auch mal Pulse der anderen Richtung ausgeben. Da man hier keine echte integration von strömen hat, werden die falschen Pulse stärker gewichtet und man kommt halt nichtmehr an die Extreme.
Wenn man die hohe VCO-Spannung braucht, würde an aktiver Filter mit einem OP helfen. Ich habe aber noch nicht selber probiert, sondern nur mal in Erwägung gezogen.

An sich würde ich erwarten, das die niedreigeren Frequenzen besser gehen, denn da ist das Signal vom DDS besser.

dreadbrain
13.12.2009, 15:35
Hallo,

hab heute noch mal ein bisschen rumprobiert, dabei ist mir ein Fehler an der Schaltung aufgefallen. Ich habe den Teiler nur auf 32 anstatt auf 64 angeschlossen gehabt.
Nachdem ich dann den Filter noch etwas modifiziert habe, funktioniert die Schaltung nun im Bereich von 6400Khz bis 17000KHz ganz gut.
Es ist fast kein Jitter erkennbar.
Ich probiere jetzt noch den Kreis unterhalb von 6Mhz etwas stabiler zu bekommen. Wobei ich da nicht mehr viel Mühe reinstecke, da ich eh noch eine Teilerkette nachschalten muss.
Dann Teile ich die Frequenz auf den gewünschten Betrag runter.


mfg Benedikt.

Danke!!

dreadbrain
10.01.2010, 10:36
Hallo,

nachdem ich nach längerer Bastelpause (Schule geht halt vor) die Schaltung wieder auf den Tisch geholt habe, musste ich leider feststellen, das sie doch nicht so reibungslos funktioniert wie ich es das letzte mal dachte. in der Zwischenzeit habe ich nichts an der Schaltung verändert.
Beim programmieren einer Software die mir die Teiler etc. für eine bestiPmte Freuquenz ausrechnet bin auf einen Fehler gestoßen.

Im Frequenzbereich von 11,65 bis 11,75MHz rastet der Regelkreis komplett aus und stört den gesamten Rundfunk :-#
Davor läuft er ganz gut ( manchmal rastet er kurz aus) und darüber dann auch wieder bis ca. 13Mhz. Dann wieder bis 14,4 Mhz.
Also im Abstand von ca. 1,4Mhz beginnt die Regelung zu schwingen.

Wenn ich ehrlich bin, nervt mich die PLL-Schaltung.
Eigentlich heißt es doch immer, mit ein bisschen Spielerei bringt man das schon zum laufen.

Ich bin schön langsam dabei mich für eine andere Quelle als Takt umzusehen. Zum einen hab ich den CY 22150 in der näheren Auswahl oder einen DDS. Ist zwar alles etwas mit Kanonen auf Spatzen geschossen, aber ich brauche schon einen einigermaßen stabilen Refenztakt für die nachfolgende Schaltung.

Welchen DDS Chip könntet ihr mir empfehlen? Wie gesagt, meine fmax =16-17MHz.
Den CY 22150 gibt es nur bei R&S. Kann man da auch als Privatperson bestellen?


mfg Benedikt Lippert

Besserwessi
10.01.2010, 11:08
Als DDS würde sich ein AD9835 anbieten. Ist aber als TSSOP16 nicht ganz einfach zu löten.

dreadbrain
10.01.2010, 12:27
Hallo,

Preislich ist der DDS ja schon etwas höher.

Mein Favourit ist z.Z. der CY22150.
Der ist auch TSSOP16. Muss ich halt eine Platine ätzen.

mfg Benedikt

dreadbrain
13.01.2010, 13:58
Hallo,
nachdem ich mir die Datenblätter genau durchgelesen habe, stellt sich der AD9835 doch als die bessere Alternative heraus.

Ich werde nun die Schaltung des Funktionsgenerators DDS 20 (ELV) etwas abändern (Sinusentstufe weg) so das ich nur den TTL Ausgang haben.

Dan sollte mein Problem mit der Freuqenz erledigt sein.

Noch mal eine letzte Frage: Sind PLL´s generell schwierig aufzubauen oder sollten die eigentlich schon funktionieren, nur ich war zu b... das zum laufen zu bekommen?^^

mfg Benedikt Lippert

Besserwessi
13.01.2010, 16:57
PLLs sind schon etwas schwieriger. Zum einen ist es nicht ganz einfach den Filter so hinzubekommen dass er stabil ist, und gleichzeitig gut dämpft. Für einen einfachen Filter, mit entsprechend mehr Jitter ist das mit dem Filter eigenlich nicht so schwer. Je weniger Störungen man erlauben will, desto schwieriger wird es den Filter auch stabil zu bekommen. Mit einem einfachen Filter aus 2 Widerständen und einem Kondensator sollte es noch eingermaßen gehen den PLL Stabil zu bekommen. Ein ganz einfacher RC Tiefaß wie man ihn ein vielen Prinzipbilder findet ist leider gerade an der Grenze von Stabil zu instabil (entspricht einem reinen I Regler). Durch den zusätzlichen zwischenschritt über die Frequenz ist es etwas weniger anschaulich , sonst aber sehr ähnlich der Regelungstechnik.

Der andere Punkt ist, dass ein PLL ohne eine Abschrimung gegen Störungen oft nicht geht. Auf dem Steckbrett hat man schon mal schlechte Karten, vor allem wenn man den Fitler für wenig Jitter ausgelegt hat. Dann kann der PLL den Störungen einfach nicht mehr folgen.


Der 4046 hat noch zusätzliche Problem bei einer nicht ganz stabilen Versorgung oder Logisignalen am Eingang (Pin14) die auch nur etwas zu groß sind (z.B. durch lange Leitungen). Das soll für einige gelegentlich auftretendes Ausraster verantwortlich sein.

PICture
13.01.2010, 20:23
Hallo!

@ dreadbrain

So wie der Besserwessi schon geschrieben hat sind die PLL´s, vor allem bei grösserem als Fmax/F min = 10 nicht einfach. In einfachen PLL Radios sind als VCO nur LC Oszillatoren und "einfache" Filter verwendet (siehe Code). Der Loopfilter ist dort direkt (sehr nah) an der Ladungspumpe und es sind keine sehr schnelle Änderungen der Frequenz benötigt.

MfG



VCC
+
|
.-.
| |
| |
'-'
___ || | ___
+-|___|-||-+-|___|-+-----> VCO
| || | |
| | ---
| ||-+ ---
___ | ||<- |
Ladungspumpe >-----|___|-+-------||-+ ===
| GND
===
GND

PICture
13.01.2010, 20:25
Es war Doppelpost wegen unseren Server.

dreadbrain
14.01.2010, 15:48
Hallo,

ich bin etwas beruhigt^^.
Da ich mich ja z.Z. auf dem Weg zum E-Studium befinde und schon eine Ausbildung in dem Bereich sehr gut abgeschlossen habe, sollte man ja eigentlich schon etwas komplexere Schaltungen stabil zum Laufen bekommen.

Vielleicht wäre es noch besser wenn ich den PLL auf einer geätzen Platine aufbaue, aber der DDS hat nach zweimaligen hinsehen viele Vorteile ( durchgängiger Frequenzbereich, noch etwas schneller etc.)

mfg Benedikt Lippert

PICture
14.01.2010, 16:47
Hallo!

@ dreadbrain

Du solltest ganz ruhig und zufrieden mit deinen bisherigen Erfolgen sein. :)

Ich könnte aus meiner bisheriger Erfahrung sagen, dass man vor allem den grossen Unterschied zwischen Theorie und Praxis lernen muss und das braucht Zeit und geht in der Schule nicht.

Mein Fazit: Wenn man mehr weiss, bedeut es nicht, dass man mehr machen kann, aber je mehr man im Leben gemacht hat, um so mehr weisst man...

Ich wünsche dir sehr viel Geduld und Erfolg ! :)

MfG