La frequenza di un MCU è superiore alla frequenza di un quarzo


8

Come è possibile che in un MCU LPC3141 l'MCU abbia una frequenza di 270 MHz mentre il cristallo di quarzo da 12 MHz viene utilizzato nell'oscilatore (all'interno dell'unità di generazione dell'orologio)? Non ha senso per me ...

Qualcuno potrebbe spiegare.

Risposte:


11

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.


3
Il PLL non è limitato ai multipli interi, perché è possibile inserire anche un divisore sul riferimento. Oppure puoi usare un contatore di deglutizione delle pulsazioni.
Dietrich Epp,

1
Sì, l'ho detto. Con un solo divisore, ottieni solo multipli interi. Ma se aggiungi più divisori, puoi generare frequenze di clock frazionarie. Con tre divisori, puoi assicurarti di lavorare entro l'intervallo del VCO su un intervallo di frequenza di uscita più ampio. Un contatore di deglutizione delle pulsazioni non è una buona idea per un orologio, poiché aumenterà notevolmente il jitter.
alex.forencich,

6

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.


2

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:

Moltiplicatori di CPU

Phase-lock-loop

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.