Comment un MCU ARM fonctionne-t-il plus rapidement que le cristal externe?

12

Donc, avant cela, je ne travaillais qu'avec de simples microcontrôleurs Atmel 8 bits et j'ai réalisé sur les schémas de ma carte de développement qu'il n'avait qu'un cristal de 12 MHz, mais le MCU fonctionnait jusqu'à 100 MHz. (Je pense que la valeur par défaut est 80 MHz. Je ne l'ai augmentée qu'une fois pour le plaisir. C'est juste une simple ligne dans le code.)

Comment ça fait ça? Pourquoi un Atmega328, par exemple, fonctionne-t-il à la vitesse du cristal utilisée?

user3033693
la source
5
1) mHz signifie milli Hertz donc 1 / 1000ème de Hertz, utilisez MHz (M majuscule) lorsque vous voulez dire Mega Hertz. 2) quel MCU 8 bits? 3) Quel conseil de développement? 4) L'ATMega 328 n'a pas à fonctionner à la vitesse du cristal, lisez la section de pointage dans la fiche technique pour voir ce qui est possible. 5) Certains circuits intégrés ont une PLL qui peut être utilisée pour multiplier la fréquence d'horloge externe.
Bimpelrekkie
1
@Bimpelrekkie: La plupart de ce commentaire est la réponse. Souhaitez-vous y répondre?
JRE
Le diviseur VCO à comparer avec 12 MHz finit par se multiplier f. C'est ce que fait un synthé PLL freq.
Tony Stewart Sunnyskyguy EE75
@Bimpelrekkie ressemble à quelqu'un qui l'a déjà corrigé pour moi. J'ai déjà mentionné Atmel et atmega328. mais cela n'a pas d'importance car c'est un exemple. afaik atmega328p n'a pas de PPL? J'étais surtout curieux de savoir comment vous pouvez simplement le multiplier. heureusement, Marcus Muller l'a déjà très bien expliqué.
user3033693
le processeur de l'ordinateur sur lequel vous lisez ceci utilise probablement une horloge de référence de 100 MHz ou plus lentement, mais le cœur fonctionne dans le ghz.
old_timer

Réponses:

28

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:

  1. N
  2. 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.

Marcus Müller
la source
1
Merci :) cela l'explique très bien! Au lieu de vous amuser ou de vous concentrer sur mes erreurs idiotes, vous venez de me dire ce que je demande évidemment. Certaines choses sont très difficiles à faire pour moi avec ma dyslexie. Même si je lis 2-3 fois mon article, je manque beaucoup de marques ou je mets accidentellement des majuscules là où je n'en ai pas besoin. Sans oublier que l'anglais n'est pas ma langue maternelle.
user3033693
7
@AmyGamble votre anglais est cependant très bon! Je pense que le premier commentaire que vous avez reçu sous votre poste était parce que beaucoup de jeunes ingénieurs oublient tout simplement la capitalisation des unités - ce qui peut devenir très problématique plus tard :) J'espère que vous ne vous sentez jamais découragé!
Marcus Müller
9

Certains appareils ont une PLL qui peut multiplier la fréquence du cristal à des fréquences plus élevées. L'ATMega328 n'a pas de PLL, il utilise directement le cristal.

Juste moi
la source