Cela n'a rien à voir avec le cœur étant un processeur ARM; il s'agit du fonctionnement des circuits de synchronisation:
Dans de nombreux systèmes comme les microcontrôleurs, les puces RF, les puces audio,… vous devez générer une horloge plus rapide qui est un multiple exact d'une horloge de référence (par exemple, un cristal externe).
Pour ce faire, vous disposez d'un oscillateur commandé en tension (VCO) dont vous pouvez régler la fréquence en augmentant ou diminuant la tension de commande.
Maintenant, en réglant simplement n'importe quelle tension de commande, vous pouvez l'amener à osciller à une fréquence à peu près dans le bon "stade approximatif", mais pas à un multiple exact de la fréquence d'entrée. Surtout, les VCO peuvent être un peu dérivants, de sorte que la fréquence "errera" continuellement partout. Vous devez contrôler cet oscillateur en le comparant à l'oscillateur de référence.
Pour ce faire, vous devez utiliser une boucle à verrouillage de phase . L'idée est simple:
- N
- fVCO/Nfref
Ce qui précède est une boucle de contrôle, verrouillée sur la phase de - d'où le nom.
Pour les microcontrôleurs "riches", qui ont beaucoup de périphériques et bénéficient donc d'avoir plusieurs horloges en interne, il est habituel d'avoir au moins 1 PLL. L'ATMega328 est un peu étrange à cet égard: c'est un microcontrôleur relativement gourmand en énergie et relativement périphérique qui n'a toujours pas de PLL.