La fréquence d'un MCU est supérieure à la fréquence d'un quartz

8

Comment est-il possible que dans un MCU LPC3141, le MCU ait une fréquence de 270 MHz tandis que le cristal de quartz de 12 MHz est utilisé dans l'oscillateur (à l'intérieur de l'unité de génération d'horloge)? Ça n'a aucun sens pour moi ...

Quelqu'un pourrait-il s'il vous plaît expliquer.

71GA
la source

Réponses:

11

Ceci est très courant pour les processeurs pour diverses raisons. Tout d'abord, l'horloge a tendance à être le signal de fréquence le plus élevé dans un système, donc l'utilisation d'un oscillateur à basse fréquence réduira les interférences RF rayonnées. Deuxièmement, la génération de la fréquence d'horloge centrale réelle sur puce signifie que la vitesse d'horloge peut être configurable. La réduction de la vitesse d'horloge en CMOS permet d'économiser de l'énergie.Ainsi, en donnant au processeur la possibilité de contrôler sa propre fréquence d'horloge, le logiciel peut adapter la vitesse du processeur selon les besoins pour réduire la consommation d'énergie. Cela se fait également sur votre ordinateur de bureau ou portable - le cœur tourne à 2 à 3 GHz, mais rien sur la carte mère ne tourne à une vitesse aussi proche que les bus série (SATA, PCIe et USB 3).

Cette génération d'horloge se fait avec un appareil appelé PLL (Phase Locked Loop). La plupart des PLL contiennent un oscillateur commandé en tension (VCO), un à trois diviseurs, un comparateur de phase et un filtre. L'idée de base est de verrouiller la sortie du VCO sur un multiple entier de la fréquence d'horloge de référence. La partie principale de la PLL génère la tension de commande pour le VCO. Cela se fait en divisant la sortie du VCO et en effectuant une comparaison de phase avec l'horloge de référence. Si la phase est en avance ou en retard, une tension d'erreur positive ou négative est produite. Cette tension est ensuite intégrée dans le filtre de boucle puis transmise à l'entrée du VCO. Si la phase est en avance, la tension de commande du VCO sera abaissée et la fréquence du VCO diminuera. Si la phase est en retard, la tension de commande du VCO augmentera et la fréquence du VCO augmentera. Finalement, la sortie VCO divisée et l'horloge de référence correspondront en phase et en fréquence, et la PLL sera verrouillée.

Cette méthode ne peut générer que des multiples entiers de la fréquence d'horloge. Si l'oscillateur de référence est de 12 MHz, une division par 2 dans la PLL entraînera une multiplication par 2 pour obtenir une fréquence de sortie de 24 MHz. Une division par 3 produira 36 MHz. La division par 4 produira 48 MHz, etc.

L'ajout d'un autre diviseur à l'entrée ou à la sortie permet la génération d'une fréquence d'horloge fractionnée. La division par 2 et la multiplication par 3 dans la PLL produiraient 18 MHz. La division par 2 et la multiplication par 5 produiraient 30 MHz. La division par 2 et la multiplication par 45 produiraient 270 MHz.

Une autre considération est que la gamme de fréquences du VCO est souvent limitée. Cela peut empêcher la génération de fréquences qui nécessitent de grands diviseurs car la fréquence VCO serait alors trop basse ou trop élevée. L'ajout d'un autre diviseur de sorte que l'entrée de référence et la sortie PLL puissent être divisées atténue quelque peu ce problème afin que la PLL puisse générer une plus large gamme de fréquences. Tant que la division n'est pas un nombre premier, elle peut être divisée entre les diviseurs d'entrée et de sortie afin que le VCO fonctionne dans sa plage de fréquence de fonctionnement.

alex.forencich
la source
3
La PLL n'est pas limitée aux multiples entiers, car vous pouvez également mettre un diviseur sur la référence. Ou vous pouvez utiliser un compteur à avaler le pouls.
Dietrich Epp
1
Oui, je l'ai mentionné. Avec un seul diviseur, vous n'obtenez que des multiples entiers. Mais si vous ajoutez plus de diviseurs, vous pouvez générer des fréquences d'horloge fractionnaires. Avec trois diviseurs, vous pouvez vous assurer que vous travaillez dans la plage du VCO sur une plage de fréquence de sortie plus large. Un compteur d'avaler des impulsions n'est pas une bonne idée pour une horloge, car il augmentera considérablement la gigue.
alex.forencich
6

Cela se fait avec un soi-disant multiplicateur de boucle à verrouillage de phase, voir aussi wiki . Un petit oscillateur commandé en tension (VCO) dans le microcontrôleur est exécuté, qui a été spécialement conçu pour fonctionner de manière stable autour de la fréquence de coeur de fonctionnement souhaitée. Cette fréquence est ensuite divisée à travers une cascade de bascules et comparée à la fréquence cristalline. L'erreur résultante est renvoyée au VCO pour la corriger. Lorsque les deux fréquences finissent par être en phase, elles sont dites à verrouillage de phase et les horloges MCU peuvent être pilotées depuis le VCO.

user36129
la source
2

À l'intérieur d'une IMU, il existe des multiplicateurs matériels qui multiplient l'horloge d'entrée de 12 MHz à des valeurs plus élevées. Cela peut être réalisé avec quelque chose appelé une boucle de verrouillage de phase. Imaginez quelque chose comme cette puce le NB3N502 ( fiche technique ) à l'intérieur du microcontrôleur.

En savoir plus sur PLL et la multiplication d'horloge sur wiki:

Multiplicateurs CPU

Boucle à verrouillage de phase

EasyOhm
la source