Dies hat nichts damit zu tun, dass der Kern ein ARM-Prozessor ist. Es geht darum, wie die Taktschaltung funktioniert:
In vielen Systemen wie Mikrocontrollern, HF-Chips, Audio-Chips usw. müssen Sie einen schnelleren Takt erzeugen, der ein genaues Vielfaches eines Referenztakts ist (z. B. ein externer Kristall).
Dies erreichen Sie, indem Sie einen spannungsgesteuerten Oszillator (VCO) verwenden, dessen Frequenz Sie durch Ein- oder Verringern einer Steuerspannung einstellen können.
Jetzt können Sie durch Einstellen einer beliebigen Steuerspannung diese mit einer Frequenz in etwa im rechten "Baseball" schwingen lassen, jedoch nicht mit einem exakten Vielfachen der Eingangsfrequenz. Insbesondere VCOs können etwas driftig sein, so dass die Frequenz auch kontinuierlich über den gesamten Ort "wandert". Sie müssen diesen Oszillator steuern, indem Sie ihn mit dem Referenzoszillator vergleichen.
Der Weg dazu ist die Verwendung eines Phasenregelkreises . Die Idee ist einfach:
- Teilen Sie die Frequenz, die aus dem VCO kommt, durch einen Faktor N; Das ist der Faktor, den wir wollen, dass der VCO schneller als die Referenz ist. Das geht ganz einfach: Sie können beispielsweise einfach einen digitalen Zähler verwenden, der bis N zählt und erst dann den Ausgang ändert.
- Vergleichen Sie das fVCO/ N Uhr mit der Referenzuhr um fref. Wenn einer schneller als der andere ist, stellen Sie die Frequenz entsprechend ein. Sie können dies auf digitale Weise tun, indem Sie einfach beide Uhren XOR-verknüpfen - idealerweise ist das Ergebnis, wenn sie identisch sind, eine konstante 0, aber wenn eine schneller als die andere ist, wird es immer häufiger vorkommen, wenn die XOR beider Uhren ist 1; Verlangsamen oder beschleunigen Sie den VCO entsprechend.
Das Obige ist ein Regelkreis, der an die Phase von - daher der Name - gebunden ist.
Für "reiche" Mikrocontroller, die viele Peripheriegeräte haben und daher von mehreren internen Takten profitieren, ist es üblich, mindestens 1 PLL zu haben. Das ATMega328 ist in dieser Hinsicht etwas seltsam: Es ist ein relativ leistungshungriger, relativ peripherer Mikrocontroller, der immer noch keine PLL hat.