Risposte:
Questo è molto comune per i processori per una serie di motivi. Innanzitutto, l'orologio tende ad essere il segnale di frequenza più alta in un sistema, quindi l'uso di un oscillatore a frequenza più bassa ridurrà le interferenze RF irradiate. In secondo luogo, la generazione della frequenza di clock effettiva su chip significa che la velocità di clock può essere configurabile. Abbassare la velocità di clock in CMOS consente di risparmiare energia, quindi dando alla CPU la possibilità di controllare la propria frequenza di clock, il software può ridimensionare la velocità della CPU secondo necessità per ridurre il consumo di energia. Questo viene fatto anche sul tuo computer desktop o laptop: il core funziona da 2 a 3 GHz, ma nulla sulla scheda madre funziona così velocemente, tranne che per i bus seriali (SATA, PCIe e USB 3).
Questa generazione di clock viene eseguita con un dispositivo chiamato PLL (Phase Locked Loop). La maggior parte dei PLL contiene un oscillatore controllato in tensione (VCO), da uno a tre divisori, un comparatore di fase e un filtro. L'idea di base è bloccare l'uscita del VCO su un multiplo intero della frequenza di clock di riferimento. La parte principale del PLL genera la tensione di azionamento per il VCO. Questo viene fatto dividendo l'output del VCO ed eseguendo un confronto di fase con l'orologio di riferimento. Se la fase è in anticipo o in ritardo, viene prodotta una tensione di errore positiva o negativa. Questa tensione viene quindi integrata nel filtro loop e quindi passata all'ingresso del VCO. Se la fase sta conducendo, la tensione di controllo VCO verrà abbassata e la frequenza VCO diminuirà. Se la fase è in ritardo, la tensione di controllo VCO verrà aumentata e la frequenza VCO aumenterà. Alla fine, l'uscita VCO divisa e l'orologio di riferimento corrisponderanno in fase e frequenza e il PLL verrà bloccato.
Questo metodo può generare solo multipli interi della frequenza di clock. Se l'oscillatore di riferimento è 12 MHz, una divisione per 2 nel PLL comporterà una moltiplicazione per 2 per ottenere una frequenza di uscita di 24 MHz. Una divisione per 3 produrrà 36 MHz. La divisione per 4 produrrà 48 MHz, ecc.
L'aggiunta di un altro divisore all'ingresso o all'uscita consente la generazione della frequenza di clock frazionaria. La divisione per 2 e la moltiplicazione per 3 nel PLL produrrebbe 18 MHz. La divisione per 2 e la moltiplicazione per 5 produrrebbe 30 MHz. La divisione per 2 e la moltiplicazione per 45 produrrebbe 270 MHz.
Un'altra considerazione è che la gamma di frequenza del VCO è spesso limitata. Questo può impedire la generazione di frequenze che richiedono grandi divisori perché la frequenza VCO sarebbe troppo bassa o troppo alta. L'aggiunta di un altro divisore in modo che sia l'ingresso di riferimento sia l'uscita PLL possano essere divisi mitiga un po 'questo problema in modo che il PLL possa generare una gamma più ampia di frequenze. Finché la divisione non è un numero primo, può essere suddivisa tra i divisori di input e output in modo che il VCO funzioni nel suo intervallo di frequenza operativa.
Questo viene fatto con un cosiddetto moltiplicatore di loop a fase bloccata, vedi anche wiki . Viene eseguito un piccolo oscillatore controllato in tensione (VCO) nel microcontrollore, che è stato appositamente progettato per funzionare stabilmente attorno alla frequenza centrale operativa desiderata. Questa frequenza viene quindi suddivisa in una cascata di infradito e confrontata con la frequenza dei cristalli. L'errore risultante viene restituito al VCO per correggerlo. Quando entrambe le frequenze sono alla fine in fase, si dice che sono bloccate in fase e gli orologi MCU possono essere pilotati dal VCO.
All'interno di una IMU ci sono moltiplicatori hardware che moltiplicano il clock di ingresso di 12 MHz a valori più alti. Ciò può essere ottenuto con qualcosa chiamato Phase Lock Loop. Immagina qualcosa come questo chip NB3N502 ( scheda tecnica ) all'interno del micro controller.
Scopri di più sulla PLL e sulla moltiplicazione dell'orologio su wiki: