Naives VCXO-Design - läuft auf der 3. Harmonischen, ich brauche die Grundfrequenz

Betrachten Sie dies als Hobbyfrage. (Wie nennt man ein Hobbyprojekt am Rande Ihrer nominellen Arbeit? Einen Skunkworks-Job?) Ich will damit sagen, dass ich kein EE-Designprofi bin.

Ich würde mich über Ihre Meinung zu einem Xtal-Oszillator freuen, mit dem ich spiele.

Um es kurz zu machen, ich verfolge gerade eine Laune, einen 25 MHz VCXO zu bauen. Ich hätte einen kaufen können, aber das wäre nicht so lustig. Und da ich es nicht so leicht mache, bin ich auf die Idee gekommen, den Oszillator auf der "schmetterlingsflügeligen" astabilen Multivibrator-Topologie (Entspannungsoszillator) zu basieren, die ihre Funktion tatsächlich von einem Double ableitet RC-Zeitverzögerung in einem logischen "/rechteckigen Verhalten und nicht in einer sinusförmigen Schwingung ... jedenfalls in seiner nominellen Topologie.

Ich habe mich für diese Topologie entschieden, weil ich ihre Symmetrie, ihren relativen Verstärkungsüberschuss und die Tatsache schätze, dass die beiden Transistoren eine inhärente perfekte 360°-Phasenverschiebung (reine positive Rückkopplung) ergeben. Vielleicht bin ich auch ein Gefangener des spannungsgekoppelten Paradigmas... na ja. Für mich ist die Topologie einfach zu leicht zu verstehen, um sie zu ignorieren ;-)

Ich dachte mir, dass ich das xtal zwischen die Basen von zwei Transistoren mit gemeinsamem Emitter und nicht zwischen ihre Kollektoren legen würde. Zwischen den Basen angeschlossen, kann das Xtal mit einer bescheidenen Wechselstromamplitude arbeiten (bestätigt, in meinem Fall ein paar hundert mV Spitze) und die Basen weisen eine vernachlässigbare Last auf, sodass ich die wahrgenommene "Lastkapazität" frei einstellen kann am Kristall (um es bequem zu machen) und es ist die einfachste Position in der Schaltung, um ein Q zu halten, das anständig genug ist.

Im beigefügten Schema sehen Sie zwei parallel geschaltete Kristalle. Es ist immer nur ein Kristall angelötet - ich habe lediglich zwei Fußabdrücke für zwei verschiedene mechanische Größen von Kristallen beigefügt. Ich habe mit einem 18pF C(L) XTAL (dem größeren) begonnen und habe einen kleineren 9pF C(L) XTAL im Ärmel.

Schematischer Ausschnitt

Sie sehen vier Varicaps/Varaktoren in der Schaltung, die für die Feinabstimmung vorgesehen sind. Der Varaktor BB545 hat einen Kapazitätsbereich von 2-20 pF. Die BFR380-Transistoren haben etwa 1 pF Cbe. Wenn Sie also rechnen, werden Sie feststellen, dass das Netzwerk von Kondensatoren um die Xtals ziemlich gut (kapazitiv) als C (Last) auf die Xtal abgestimmt ist. Ich kann alle vier Varaktoren für den 18pF xtal löten oder nur zwei für den kleinen 9pF xtal. Beide Xtals sind mit 25 MHz bei der Grundfrequenz spezifiziert.

Was die "überkreuzten RC-Feedbacks" betrifft, habe ich zunächst eine Faustregel verwendet, um sie auf dem Kristall (ESR = 30 Ohm bei Resonanz) und auf den Kollektor-Pullups ziemlich leicht zu machen und den Oszillator bei ungefähr "freilaufend zu machen". 25 MHz ohne montierten Quarz. Was seltsamerweise tatsächlich genau funktioniert - ich habe es versucht :-)

Ich füge auch einen Screenshot des PCB-Layouts bei.

PCB-Layout

Beachten Sie, dass es einer früheren Version des Schaltplans entspricht, bei der die Rückkopplungen direkt zu den Transistorbasen und nicht zu den Xtal-Pins gingen. Ich war mir beim PCB-Design nicht sicher, welchen Weg ich einschlagen sollte, also habe ich die Kondensatoren so angeordnet, dass ich diese oder jene Konfiguration ausprobieren konnte. Und derzeit arbeite ich mit der im Schaltplan gezeigten Version. Meine Motivation ist, dass dies zu einer besseren Sinuswellenreinheit bei den Kollektoren führen könnte. (Oops und die Emitterwiderstände sind im PCB-Layout mit 50 Ohm gekennzeichnet. In Wirklichkeit sind es nur Drahtbrücken.)

Bevor ich die Feedbacks angeschlossen habe, habe ich überprüft, ob die DC-Vorspannung der Transistoren korrekt ist (bei 2,6 V, ungefähr die Hälfte der +5 Vcc) = entspricht meiner Qucs-DC-Simulation. Und sobald die Feedbacks angeschlossen sind, funktioniert der Oszillator seit der ersten Zündung :-)

Interessanterweise habe ich wahrscheinlich ein vernünftiges Gleichgewicht mit den Rückkopplungswiderständen gefunden, da der Oszillator am Ausgang eine ordentliche Rail-to-Rail-Sinuswelle liefert :-) Und die eigene Sinuswellenamplitude des xtal ist entsprechend niedriger. Genau die richtige Energiemenge durch das Feedback, um die Schwingungen am Laufen zu halten.

Und das einzige, was falsch ist: Es läuft mit etwa 76 MHz = ungefähr die 3. Harmonische der Grundfrequenz des Xtal :-)

Was für mich bedeutet, dass angesichts des Frequenzgangs der Rückkopplung der Resonanzpol der 3. Harmonischen des Xtal höher wurde als sein Grundresonanzpol. Der Oszillator läuft bei der Frequenz, bei der der Überschuss der Schleifenverstärkung maximal ist.

Was für mich auf zwei mögliche Lösungen hinweist.

A) Ich brauche immer noch AC-gekoppelte (DC-entkoppelte) Feedbacks. Also brauche ich die Koppelkondensatoren an Ort und Stelle. Aber ich könnte ihre Kapazität deutlich größer machen und vielleicht den Widerstand anpassen, um ihn auf dem experimentell verifizierten "Schleifenverstärkungspegel" zu belassen. Damit die Impedanz der Rückkopplung über den Bereich der Betriebsfrequenzen des Xtal keine so signifikante abfallende Flanke aufweist (rein resistiv machen). In meinem ursprünglichen Setup gibt es einen 470-Ohm-Widerstand in Reihe mit einer kapazitiven Reaktanz von 630 Ohm (bei 75 MHz), dh so etwas wie 33-100 pF in Reihe mit 1k - 1k2 Ohm könnte ausreichen. Das heißt, wenn der Grundpol auf dem Xtal tatsächlich höher ist als die 3. Harmonische.

B) Ich könnte versuchen, die Grundfrequenz des Xtal zu unterstützen, indem ich die Rückkopplungen in ein serienresonantes LC-Netzwerk umwandele. RLC-Netzwerke tatsächlich. Ein LC-Kreis bei Resonanz hat eine niedrigere Impedanz als jede (L- oder C-)Komponente allein, aber es ist ein wenig schwierig für mich, den Rest-ESR abzuschätzen ... Gleichzeitig ist bei meinem aktuellen C-Wert von 3,3 pF I' d müssen eine Induktivität mit ziemlich großem Wert verwenden, um eine Resonanz bei 25 MHz zu erreichen. Nämlich 12 Mikrohenry. Serienmäßige Ferritdrosseln mit 12 uH haben eine Eigenresonanzfrequenz knapp über 25 MHz, daher kann es einige Versuche erfordern, den richtigen Kondensator in Reihe zu wählen ... Ich könnte den Reihenkondensator auf vielleicht 10 pF vergrößern und einen auswählen Induktor, der entsprechend kleiner ist, um mir das Leben zu erleichtern.

Oder ich wähle einen Ringkern für den Kurzwelleneinsatz und wickle die Induktivität selbst. Vielleicht könnte ich zwei Wicklungen auf einem gemeinsamen Ringkern herstellen und diese gekreuzte Rückkopplung in gegenphasig gekoppelte LC-Resonatoren umwandeln, richtig? :-)

Oder ich könnte LC-Schaltungen in die Kollektoren einbauen ...

Also ... da :-) Alle Kommentare willkommen.

Bevor Sie fragen: Es ist ein Taktoszillator. Ich brauche einen angemessenen inhärenten Jitter / Stabilität, daher der Drang nach einem hohen Q und einer guten spektralen Reinheit (was nicht unbedingt das gleiche Ziel ist). Ich brauche auch die Möglichkeit, Frequenzabweichungen fein einzustellen, daher der Steuereingang und die Varaktoren. Lassen wir das PLL-Zeug als nächste Übung (ein separates Problem). Der Oszillator wird mit +5 V versorgt, die von einer Kaskade aus 7808 + 7805 mit 12 V am Eingang (und einer Reihe von Entkopplungskondensatoren) erzeugt werden.

Haben Sie versucht, ein paar pF über R13 und R14 zu legen, um den Miller-Effekt in Q1/Q2 zu erhöhen und die Verstärkung bei höheren Frequenzen zu verringern? Bearbeiten: Das könnte Ihr Q ruinieren ...
@Jonathan S.: danke, probiert, ja es geht. Die kleinsten Kondensatoren, die ich in meinen Taschen hatte, waren 3,3 pF, was im Vergleich zum nativen Cbc des BFR380 = 0,5 pF immer noch viel ist. Ja, die Ausgangssinuswelle verlor etwas an Amplitude (von 5 V bis 3 V pp) und die Form wurde auch etwas hässlich (asymmetrisch). Vielleicht hatte ich an einem der Kondensatoren eine Erkältung, heute nicht mehr viel Zeit für weitere Optimierungen :-) Es ist sicherlich eine Möglichkeit, wenn meine anderen Ideen scheitern.
In Ordnung! Ich habe eine andere Idee: Versuchen Sie, R7 / R8 durch einen auf 25 MHz abgestimmten Serien-LC und einen anderen großen L parallel zu ersetzen. Bei 25 MHz sollte das ungefähr ein Masseschluss sein, aber bei höheren Frequenzen fügt es dem Emitter eine Impedanz hinzu und senkt die Verstärkung (theoretisch) erheblich.
Ja, die Emitter waren ein weiterer Ort, über den ich mich gewundert habe :-)

Antworten (2)

Manchmal wird der ausgetretene Weg eingeschlagen, weil er funktioniert. Warum verwenden Sie keine einfache Colpits-Oszillatortopologie? Kristalle haben ein inhärentes harmonisches Problem, da sie mechanische Geräte sind, kommen ungerade Harmonische mit dem Territorium. Wenn Sie die 3. Harmonische unterdrücken möchten, werfen Sie einen Blick auf die relative Schaltungsverstärkung bei 75 MHz gegenüber 25 MHz, Sie haben wahrscheinlich irgendwo mehr Rückkopplungsverstärkung.

In Bezug auf meine Idee, die gekreuzten RC-Pfade in RLC umzuwandeln, habe ich mir einige praktische handelsübliche Drosseln und ihre inhärenten F(res) angesehen, die von parasitären Kapazitäten herrühren. Und ich habe versucht, eine Ersatzschaltung in Qucs zu zeichnen.

Ich begann mit einer 4,7-uH-Induktivität mit F(res) = 35 MHz, was etwa 4,4 pF parasitärer Kapazität entspricht. Dies kombiniert mit dem ursprünglichen 470-Ohm-Widerstand, um die Rückkopplungskopplung zu begrenzen.

Ersatzschaltbild der Serie RLC mit parasitärer Kapazität der Induktivität - 1. Versuch

Was zu folgendem Bodeplot führt:

Bode-Plot der simulierten Schaltung - 1. Versuch

Beachten Sie, dass die parasitäre Kapazität parallel zur Induktivität liegt, während mein explizites C in der Rückkopplung in Reihe liegt. Beachten Sie, dass mein ursprünglicher Rückkopplungs-RC-Pfad C = 3,3 pF und R = 470 Ohm war, was bei 76 MHz insgesamt etwa 1100 Ohm ergibt. Wenn ich versuche, ein praktisch machbares LCR-Netzwerk aufzubauen (unter Verwendung einer Induktivität mit einer ausreichend hohen inhärenten Fres), muss ich wahrscheinlich ein höherwertiges R verwenden, wie z. Ich möchte die Rückkopplung schwach halten).

Ich habe auch einige 1-uH-Induktivitäten mit einer F (Auflösung) von 100 MHz, wenn dem Datenblatt vertraut werden soll. Das würde etwa 2,2 pF parasitäre Kapazität bedeuten. Und durch Experimentieren mit der simulierten Schaltung bin ich zu dem Schluss gekommen, dass ich eine weitere 2,2-pF-Kappe parallel zum Induktor hinzufügen sollte (dh zurück zu 4,4 pF).

Reihen-RLC-Äquivalentschema mit der parasitären Kapazität der Induktivität - v2

Siehe da:

Bode-Plot der simulierten Schaltung - v2

Solange ich das R niedrig hielt, die Serienkappe klein und die Induktivität unerreichbar groß, war die Serienresonanzspitze um 25 MHz ziemlich scharf. Aber: Als ich zu einem 1k-Widerstand, einer realistischeren 1uH-Induktivität und einer 33-pF-Serienkappe wechselte, um eine einigermaßen niedrige Serienresonanzfrequenz zu erhalten, wurde die Serienresonanzspitze ziemlich flach und breit. Was mich vielleicht nicht so sehr stört, weil es mir die mühselige Feinjustierung der Rückmeldungen abnehmen wird.

Für mich ist der lustige Punkt die parallelresonante Null. Mit nur der parasitären Kapazität lag diese bei 100 MHz. Aber wenn ich parallel eine kleine zusätzliche Kapazität hinzufüge, könnte ich vielleicht in der Lage sein, die Null auf die verdammte 3. Harmonische zu richten :-D bei 76 MHz. Das heißt - wenn die Götter hilfreich sind. Ich bin mir bewusst, dass meine Rückkopplungszweige in ein breiteres Netzwerk von Kondensatoren rund um den Xtal gesteckt sind – und ich weiß, was das bedeutet. Ich würde gerne glauben, dass die "induktive Natur" des Xtal sich gut gegen das vorberechnete Kondensatornetzwerk ausgleichen wird, so dass die Rückkopplungen vom Xtal-Netzwerk "fast kurz" sind - aber ich erinnere mich an einige frühere Experimente in Qucs , mit gekoppelten LC-Resonatoren, und ich weiß, dass die Ergebnisse alles andere als intuitiv waren :-)

Hoffentlich kann ich mir morgen wieder richtig die Hände schmutzig machen.

Wenn ich es mit der LC-Abstimmung wirklich ernst meinte, müsste ich einige LC-Zellen in die niederohmigeren Teile des Schaltplans einbauen (wahrscheinlich Kollektorschaltungen) - dort könnte ich Induktivitäten mit niedrigerem Wert und Kappen mit höherem Wert verwenden. Ich glaube aber nicht, dass ich darauf zurückgreifen werde :-)

===== BEARBEITEN: =====

Also habe ich noch ein oder zwei Tauchgänge gemacht. Das endgültige (wahrscheinlich) Schema sieht so aus:Oszillatorschema überarbeitetIch habe herausgefunden, dass das Hinzufügen geeigneter Drosseln in den Rückkopplungen Wunder bewirkt :-) Ich musste nicht einmal die parallelen Kondensatoren hinzufügen (um die Null für die 3. Harmonische, wie oben vorgeschlagen, fein abzustimmen). Ich habe auch die Serienkondensatoren in den Rückkopplungen vergrößert, damit sie keine hohen Frequenzen bevorzugen (wenn sie groß genug sind, wird ihre Reaktanz im Vergleich zu den Serienwiderständen irrelevant). Jetzt mit den Drosseln und mit den vergrößerten Kappen schwingt die Schaltung nur allzu gerne auf der Grundfrequenz des xtal :-) Ich habe auch versucht, wie hoch ich mit den Rückkopplungsvorwiderständen (R11, R12) gehen kann. Während es noch keine Varaktoren gab, oszillierte die Schaltung fröhlich mit 10k-Widerständen in den Rückkopplungen :-) Nachdem ich die Varaktoren hinzugefügt hatte, musste ich mich auf 6k8 zurückziehen, und als ich feststellte, dass der Oszillator stoppt, wenn ich eine Spannung von weniger als ca. 300mV zu den Varaktoren, ich zog mich weiter auf 3k3 zurück. Dann würde es sogar bei V(tune) = 0 V starten.

Und während einer anderen Sitzung, in der es mir gelang, eine einfache PLL zu implementieren (ein weiteres lustiges Märchen, wie ein einfacher XOR gegen eine 74HC4046-Ladungspumpe gewann), habe ich bemerkt, dass der Oszillator nach einiger Aufwärmphase an Verstärkung zu verlieren scheint - oder besser gesagt , vielleicht verliert sie Q. Die DC-Arbeitspunkte bleiben bestehen: Kollektor- und Basisspannung sind wie gewohnt, aber die Schaltung verliert allmählich ihre "Schwingfreudigkeit". Ich kann R11 und R12 sicherlich weiter verringern, um mehr "Gain-Headroom" zu haben (auf Kosten einer hässlicheren Ausgangswellenform). Nein, ich werde keine AGC hinzufügen :-) Trotzdem frage ich mich, wo sich die Gremlins verstecken und ob sich vielleicht etwas in der Schaltung allmählich (irreversibel) verschlechtert. Es ist wahr, dass ich den Xtal möglicherweise mit dem doppelten Spannungshub betreibe, der sonst für einen einzelnen Transistor benötigt würde. Vielleicht - hängt davon ab, mit welcher Schaltung wir vergleichen. Und ich habe versucht, einige Definitionen von Xtal „Antriebspegel“ zu finden – angegeben in Watt, aber gemessen als Wechselstrom durch den Xtal, und niemand macht sich die Mühe zu erklären, ob der Antriebspegel „Nettoenergieverlust“ (Wärme) bedeutet oder ob dies der Fall ist beinhaltet die "Blindleistung", die im Oszillator hin und her fließt, einschließlich der äußeren Kondensatoren ... Und wenn ich die effektive C (Last) und die RMS-Spannung (wie auf dem Oszilloskop zu sehen) kenne, kann ich den fließenden Wechselstrom berechnen zwischen Xtal und C(Last), also brauche ich dafür keine Stromsonde ... und anscheinend erreicht selbst diese "Blindleistung" nicht das nominelle Maximum von 1 Milliwatt des Kristalls. Dasselbe gilt für die Transistoren und die Varicaps, sie scheinen nicht überlastet zu sein ... es ist ein bisschen mysteriös.

Die Varicaps haben mich wundern lassen. In Empfängerschaltungen werden sie mit Wechselspannungspegeln in Mikrovolt betrieben. Hier müssen sie ein paar hundert Millivolt und einen Strom von etwa einem Milliampere aushalten. Was kein allzu großes Problem zu sein scheint, da der zulässige Vorwärts-DC-Strom 20 mA pro Stück beträgt ... Außerdem sind die Varicaps berüchtigt für ihre relativ schlechte Güte, selbst bei niedrigen Signalpegeln. Über 1 V von V(tune) am unteren Ende (maximale Kapazität) ist ihre "Volt-Farad-Übertragungskurve" merklich nichtlinear, was sie in der Rolle eines Abstimmkondensators noch problematischer macht.

Ich habe vergessen zu erwähnen, dass in dieser Schaltung der Xtal um etwa +/- 100 ppm von der gewünschten Mitte gezogen werden kann, für einen V(tune)-Bereich von 0..+5V. Was mit den 74HCT-Phasendetektoren, die ich ausprobiert habe, gut funktioniert.

Wie auch immer, die Nachricht ist, dass ich Spaß habe :-) und ich sollte das Thema hier wahrscheinlich schließen. Danke an alle.

==== BEARBEITEN: ===

Der "allmähliche Q-Abfall" war möglicherweise nur ein kaltes Gelenk in den AC-Rückkopplungen. Es hat nicht funktioniert, also habe ich es ausgeschaltet, die Rückkopplungen mit einem Ohmmeter untersucht (ich habe wirklich scharfe Sondenspitzen), einige verdächtige Stellen bemerkt, versucht, es einzuschalten, es hat wieder gut funktioniert ... Ich habe das Verdächtige retuschiert Stellen mit einem Lötstift, eingeschaltet, funktioniert seitdem einwandfrei ...

Ich erinnere mich, dass die Schaltung einmal mit "erhöhender Verstärkung" reagierte, als ich den Kristall mit einem Plastikstift berührte ... oder irgendwann bemerkte ich, dass ein Kollektorknoten (Ausgang) einer Seite eine niedrigere Amplitude lieferte als die andere Seite. Ich werde das im Auge behalten. Das Ganze ist nur ein Hack :-) Ich muss das durch ein Burn-In mit dem angeschlossenen Zielfernrohr laufen lassen.

Ich behalte meine bisherigen Notizen im Text "fürs Protokoll".

Übrigens: Ich war eine Zeit lang unglücklich darüber, dass der 75-MHz-Oberton flächendeckend in alle meine Messungen sickerte, unabhängig davon, wo die Sonden zu einem bestimmten Zeitpunkt angebracht waren. Bis ich herausfand, dass der 75-Meg-Geist verschwindet, wenn ich den Boden einer meiner "Scope"-Sonden ablöse. Sie sind etwa 1 Meter lang. Stellen Sie sich vor :-) In diesem Moment habe ich einen Ferritring auf jedes Sondenkabel gelegt - und das 75-Meg-Ingress ist so gut wie weg.

========== BEARBEITEN ===========

Ich habe endlich die Ursache für die gelegentliche seltsame Asymmetrie / den Q-Abfall gefunden: Bei C10 (Kopplung des Xtal an die linken Varicaps), bei dem es sich um eine 0603-SMD handelt, war ein Pad nicht gelötet. Wahrscheinlich habe ich nur vergessen zu löten. Der Kontakt des C-Stifts mit dem PCB-Pad war also etwas zufällig und empfindlich gegenüber Vibrationen. Aha... :-)

========== BEARBEITEN ===========

Eine weitere Fortsetzung, wahrscheinlich die letzte: Mein einfacher PLL-Synthesizer (10 MHz -> 25 MHz) mit diesem VCXO funktioniert gut als externe Taktquelle für einige i210-NICs. Ich habe ihre ursprünglichen 25-MHz-Xtals an Ort und Stelle gelassen (um sie als weitere Stufe der passiven Jitter-Filterung zu verwenden) und nur eine schwache Kopplung von meiner 25-MHz-Quelle zum "Gate-Eingangs" -Pin der ursprünglichen Quarze implementiert, so dass meine 25 MHz sinewave "schultert" den ursprünglichen Kristall nur sanft in die gewünschte zeitliche Position (Phase). Ich habe wieder Qucs verwendet, um die Werte der Kopplungskomponenten (RLC) zu berechnen. Das Ergebnis ist ein HW-Zeitstempel auf Nanosekunden-Ebene, wenn Pakete mit Wireshark / TCPdump erfasst werden. Die lose Kopplung funktioniert, was durch die Tatsache bezeugt wird, dass die SW-gesteuerte PHC-Phasenverriegelung (Disziplinierung der internen 1-GHz-Zeitstempel-Zeitbasis) jetzt einen konstanten Frequenzversatz von 0 ppb (und einen Zeitversatz von 0 ns von PPS, der ein weiterer Eingang ist) meldet. Das allein sagt noch nicht viel über Restjitter am Ende dieser "PLL-Kaskade" aus, aber vielleicht ist es ja gar nicht so schlimm :-) Wenn ich in der Vergangenheit versucht habe, das Original xtal durch Berühren seines Gehäuses und der Umgebung live zu beeinflussen Pins konnte ich es um etwa 5 bis 20 ppm (gemessen im 1-Sekunden-Disziplinierungsintervall) verringern, was sich innerhalb einer Zeitspanne von 1 Takt (40 ns) in Hunderte von Femtosekunden umwandeln würde, was innerhalb des erforderlichen Bereichs liegt im Datenblatt des i210 angegebene Stabilität (1,5 ps Restjitter). Ja, mein PLL+VCXO-Board braucht sicherlich länger, um zu reagieren, aber gleichzeitig die "

Ich komme hier stark vom Thema ab. Ich habe vor, an anderer Stelle einen "Blog-Beitrag" zu diesem umfassenderen Thema zu erstellen, wenn mein skunkworks-Projekt abgeschlossen ist (oder wegen einer anderen Falle zum Stillstand kommt, von der ich noch mehrere zu bewältigen habe).