Wie ist es möglich, dass in einer LPC3141-MCU die MCU eine Frequenz von 270 MHz hat, während der 12-MHz-Quarzkristall im Oszillator (innerhalb der Takterzeugungseinheit) verwendet wird? Macht für mich keinen Sinn ...
Könnte jemand bitte erklären.
Dies ist bei Prozessoren aus verschiedenen Gründen sehr häufig. Erstens ist der Takt tendenziell das Signal mit der höchsten Frequenz in einem System, sodass die Verwendung eines Oszillators mit niedrigerer Frequenz die abgestrahlte HF-Interferenz verringert. Zweitens bedeutet das Erzeugen der tatsächlichen Kerntaktfrequenz auf dem Chip, dass die Taktgeschwindigkeit konfigurierbar sein kann. Durch Verringern der Taktrate im CMOS wird Strom gespart. Indem die CPU die Möglichkeit erhält, ihre eigene Taktrate zu steuern, kann die Software die CPU-Geschwindigkeit nach Bedarf skalieren, um den Stromverbrauch zu senken. Dies geschieht auch auf Ihrem Desktop- oder Laptop-Computer - der Kern läuft mit 2 bis 3 GHz, aber nichts auf dem Motherboard läuft annähernd so schnell, außer seriellen Bussen (SATA, PCIe und USB 3).
Diese Taktgenerierung erfolgt mit einem Gerät, das als PLL (Phase Locked Loop) bezeichnet wird. Die meisten PLLs enthalten einen spannungsgesteuerten Oszillator (VCO), ein bis drei Teiler, einen Phasenkomparator und ein Filter. Die Grundidee besteht darin, den Ausgang des VCO auf ein ganzzahliges Vielfaches der Referenztaktfrequenz zu sperren. Der Hauptteil der PLL erzeugt die Ansteuerspannung für den VCO. Dies erfolgt durch Aufteilen des Ausgangs des VCO und Durchführen eines Phasenvergleichs mit dem Referenztakt. Wenn die Phase vor- oder nachlaufend ist, wird eine positive oder negative Fehlerspannung erzeugt. Diese Spannung wird dann in das Schleifenfilter integriert und dann an den Eingang des VCO weitergeleitet. Wenn die Phase vorgeführt wird, wird die VCO-Steuerspannung gesenkt und die VCO-Frequenz verringert. Wenn die Phase verzögert ist, Die VCO-Steuerspannung wird erhöht und die VCO-Frequenz wird erhöht. Schließlich stimmen der geteilte VCO-Ausgang und der Referenztakt in Phase und Frequenz überein, und die PLL wird gesperrt.
Diese Methode kann nur ganzzahlige Vielfache der Taktfrequenz erzeugen. Wenn der Referenzoszillator 12 MHz beträgt, führt eine Division durch 2 in der PLL zu einer Multiplikation mit 2, um eine Ausgangsfrequenz von 24 MHz zu erhalten. Eine Division durch 3 ergibt 36 MHz. Division durch 4 erzeugt 48 MHz usw.
Das Hinzufügen eines weiteren Teilers am Eingang oder Ausgang ermöglicht die Erzeugung einer gebrochenen Taktrate. Die Division durch 2 und die Multiplikation mit 3 in der PLL würde 18 MHz erzeugen. Division durch 2 und Multiplikation mit 5 würde 30 MHz erzeugen. Division durch 2 und Multiplikation mit 45 würde 270 MHz erzeugen.
Eine weitere Überlegung ist, dass der Frequenzbereich des VCO häufig begrenzt ist. Dies kann die Erzeugung von Frequenzen verhindern, die große Teiler erfordern, da dann die VCO-Frequenz zu niedrig oder zu hoch wäre. Das Hinzufügen eines weiteren Teilers, so dass sowohl der Referenzeingang als auch der PLL-Ausgang geteilt werden können, verringert dieses Problem etwas, sodass die PLL einen größeren Frequenzbereich erzeugen kann. Solange die Division keine Primzahl ist, kann sie zwischen den Eingangs- und Ausgangsteilern aufgeteilt werden, sodass der VCO in seinem Betriebsfrequenzbereich arbeitet.
Dies geschieht mit einem sogenannten Phasenregelkreis-Multiplikator, siehe auch Wiki . Im Mikrocontroller wird ein kleiner spannungsgesteuerter Oszillator (VCO) betrieben, der speziell für einen stabilen Betrieb um die gewünschte Betriebskernfrequenz ausgelegt ist. Diese Frequenz wird dann durch eine Kaskade von Flip-Flops heruntergeteilt und mit der Kristallfrequenz verglichen. Der resultierende Fehler wird an den VCO zurückgemeldet, um ihn zu korrigieren. Wenn beide Frequenzen schließlich in Phase sind, werden sie als phasenverriegelt bezeichnet und die MCU-Takte können vom VCO angesteuert werden.
quelle
Innerhalb einer IMU gibt es Hardware-Multiplikatoren, die den Eingangstakt von 12 MHz mit höheren Werten multiplizieren. Dies kann mit einer sogenannten Phasenregelschleife erreicht werden. Stellen Sie sich so etwas wie diesen Chip vor, den NB3N502 ( Datenblatt ) im Mikrocontroller .
Erfahren Sie mehr über PLL und Taktmultiplikation im Wiki:
CPU-Multiplikatoren
Phasenregelkreis
quelle