Dies ist keine Mikrocontroller-Sache. Prozessoren tun dies, verschiedene andere Produkte tun dies. Auf der einen Seite, warum das Geld für einen hochpreisigen Oszillator verschwenden, wenn Sie nicht müssen. Eine andere Seite, wie erwähnt, gibt Ihnen Flexibilität. Was mcus entwickelt hat, ist ein interner RC-Oszillator. Hinzu kommt die PLL, und Sie erhalten noch mehr Flexibilität bei reduzierten Kosten, wenn die Genauigkeit innerhalb Ihrer Toleranz liegt.
Wenn Sie an einen X86- oder ARM-basierten Chip denken oder was auch immer zum Teil Ihre Kosteneinsparungen, aber auch Sie können die schnellen Sachen meistens auf dem Chip halten und die äußeren Sachen langsamer haben, so dass diese Chips mit PLLs gepackt sind, sicherlich die Referenz Takt auf 4 GHz oder was auch immer die Hauptuhr Ihres Chips läuft, aber für Dram, PCIE, Netzwerk usw. haben Sie plls, die die verschiedenen Uhren für diese verschiedenen Peripheriegeräte erzeugen, da nicht alle mit der gleichen Geschwindigkeit laufen. Manchmal haben Sie separate Referenzuhren für die verschiedenen Elemente (Netzwerk, PCIE usw.). Also mehrere Oszillatoren / Kristalle abhängig.
Wie es auf magische Weise eine höhere Uhr macht. Es ist ein Phasenregelkreis, den Sie googeln können. Es handelt sich im Grunde genommen um eine instabile analoge Schaltung, die schwingt, eine TTL-Logik und eine ungerade Anzahl von Wechselrichtern verwendet und diese in einer Schleife bindet. Wenn sie bei Stromversorgung schwingt, schwingt sie einfach weiter. Es gibt eine Zeit ungleich Null, in der das Signal auf einer Seite invertiert und auf der anderen Seite ausgeht. Multiplizieren Sie diese Zeit, indem Sie mehr Komponenten verwenden und die Oszillationsfrequenz an einem beliebigen Punkt senken (also ein Wechselrichter und eine Reihe von Nicht-Wechselrichtern) Wechselrichter). Kaufen Sie Kisten mit Komponenten und verkabeln Sie mehrere Setups aufgrund von Abweichungen im Prozess, den Anschlüssen, der Leistung usw. Keine zwei Sets sind identisch, wenn sie momentan relativ zum anderen driften. Nutzen Sie dies nun, und erstellen Sie absichtlich einen instabilen Stromkreis wie diesen (möglicherweise nicht aus Wechselrichtern, aber etwas, das schwingt). Sie haben eine lose Kontrolle, da Sie die Spannung variieren, mit der er läuft, und ihn schneller und langsamer laufen lassen. Dann zählen Sie die Schwingungen. Wenn ich eine 100-MHz-Referenzuhr habe und 400 MHz erzeugen möchte, muss ich ein Steuersystem um den beschissenen Oszillator erstellen, damit er jedes Mal, wenn die Referenzuhr tickt, viermal zählt. Verwenden Sie dann den Ausgang des instabilen Oszillators als meinen 400-MHz-Takt. Oft möchten Sie, dass der VCO (spannungsgesteuerter Oszillator) oder DCO eine höhere Frequenz ausgibt, als diese aufzuteilen, um Ihren System- / Peripherietakt zu erhalten. Zum Beispiel einfacher zu sagen, mit 100 multiplizieren und dann, wenn Sie eine Zählung von 99 erhalten, beschleunigen und eine Zählung von 101 verlangsamen. Anstatt 2 zu sagen, verlangsamen Sie, wenn Sie eine Zählung von 1 beschleunigen, eine Zählung von 3 und der Jitter ist deutlich größer. Am Ende gibt es keine Magie.
Es gab eine Zeit und einige Produkte, auf die man einen Oszillator setzen musste.Heutzutage macht es nicht viel Sinn, viele Anwendungsfälle sind mit dem internen Oszillator und seiner begrenzten Genauigkeit in Kombination mit dem pll in Ordnung, um verschiedene Auswahlmöglichkeiten innerhalb eines Produkts zu bieten und keine externen nicht freien Komponenten zu erfordern.Wenn eine höhere Genauigkeit erforderlich ist, gibt es häufig Auswahlmöglichkeiten für Kristalle und Oszillatoren für dasselbe Produkt, ohne dass der Hersteller mehrere Chips generieren muss, die ansonsten gleich sind, nur um mögliche Taktoptionen zu berücksichtigen.