Quelle est l'importance de la source d'horloge de votre microcontrôleur ?

Mark Harris
|  Créé: October 26, 2021  |  Mise à jour: April 25, 2023
Quelle est l'importance de la source d'horloge de votre microcontrôleur

Les microcontrôleurs dépendent de leur source d'horloge. Le processeur, le bus et les périphériques utilisent tous l'horloge afin de synchroniser leurs opérations. L'horloge détermine la vitesse à laquelle le processeur exécute ses instructions. Elle est donc fondamentale en termes de performances. Mais quelle est l'importance de la source d'horloge ? Quelle est la fréquence d'horloge dans un microcontrôleur ? Sa précision est-elle importante ? Pour faire simple, cela dépend de ce que fait le microcontrôleur et de ses interfaces.

Deux considérations doivent être prises en compte : la vitesse de l'horloge, qui détermine la rapidité, et la précision de l'horloge, qui détermine la cohérence de la période entre chaque mouvement d'horloge et la façon dont la vitesse de l'horloge peut évoluer au fil du temps.

L'importance de la source d'horloge

Le processeur central du microcontrôleur peut être considéré comme une chaîne synchronisée de blocs logiques qui exécutent une fonction spécifique. Si l'horloge de ce microcontrôleur est trop lente, le traitement prend plus de temps. Si l'horloge est trop rapide, il peut ne pas y avoir suffisamment de temps pour effectuer les opérations requises avant le début de la série suivante ; le processeur s'interface avec une gamme de blocs de composants différents, de la mémoire dynamique aux broches d'interface. Toute erreur significative dans la vitesse de l'horloge aura des conséquences imprévisibles sur les opérations internes du microcontrôleur.

Échantillonnage des données

Le signal d'horloge du microcontrôleur contrôlera le taux de conversion de toutes les opérations analogiques-numériques. La vitesse de l'horloge déterminera la vitesse maximale à laquelle le signal analogique peut être échantillonné ; la précision de l'horloge déterminera la précision de la fréquence d'échantillonnage. Supposons que vous enregistriez un échantillon deux fois par seconde avec un horodatage. Dans ce cas, il ne faudra pas longtemps pour qu'une erreur de 1 % dans la fréquence de l'horloge (ce qui n'est pas rare avec les oscillateurs internes) supprime toute corrélation entre l'horodatage de votre échantillon et le temps affiché sur votre horloge murale. Avec un décalage constant de 1 % de la source d'horloge, l'horodatage de votre échantillon sera décalé de plus de 14 minutes chaque jour.

Génération de formes d'onde

Quant à l'échantillonnage des données, le signal d'horloge du microcontrôleur contrôlera le taux de conversion de toutes les opérations numériques-analogiques. La vitesse de l'horloge déterminera les fréquences maximales pouvant être générées pour le signal analogique. La précision de l'horloge déterminera la précision du signal généré.

Communications série asynchrones

L'une des applications essentielles du signal d'horloge du microcontrôleur sera de gérer les communications asynchrones, le signal d'horloge déterminant le moment où le flux de données entrant est échantillonné, une fois le bit de départ reçu, et la forme d'onde du flux de données sortant, en termes de transitions entre chaque bit de données.

Avec les communications asynchrones, l'émetteur et le récepteur ont besoin d'une vitesse d'horloge identique pour encoder et décoder les flux de données. Toutefois, ces horloges ne doivent pas nécessairement être synchronisées ; elles doivent simplement avoir des fréquences d'horloge suffisamment égales. En effet, le récepteur commence à traiter le flux de données entrant dès qu'il détecte le premier front sur la ligne de signaux.

Le récepteur doit ensuite maintenir la vitesse d'horloge adaptée pour la durée du flux de données afin d'échantillonner les bits de données au bon moment. La précision requise dépend de la fenêtre durant laquelle les données doivent être échantillonnées. Chaque bit de données aura potentiellement un front montant et un front descendant vers son signal, où la valeur des données est indéterminée. Les données seront ainsi valides et pourront être échantillonnées entre ces fronts.

Cette période d'échantillonnage dépendra du type et de la longueur du lien de communication. Les longueurs de transmission importantes et les câbles à haute capacité augmenteront les temps de montée et de descente. La présence de bruit peut également augmenter le temps nécessaire à la stabilisation du signal.

La période d'échantillonnage dépend également de la vitesse de l'horloge et du format du message. Pour les flux de données courts, les exigences de précision peuvent être assez souples, car l'horloge d'échantillonnage se réinitialise chaque fois qu'un nouveau flux de données est reçu. Cependant, pour les communications série à grande vitesse avec de longs flux de données, la précision requise peut devenir plus précise. Par exemple, le protocole du bus CAN est très sensible au décalage de l'horloge du système, à tel point que l'utilisation d'une source de signal d'horloge autre qu'un quartz peut s'avérer problématique.

En prenant l'exemple des appareils UART, nous pouvons constater que la fréquence d'horloge absolue n'a pas d'importance car le récepteur UART se synchronise au début de chaque trame. Cela permet de distinguer plus clairement les différences qui peuvent être tolérées entre les horloges UART d'émission et de réception.

Options de sources d'horloge

Il existe généralement plusieurs options différentes lors de la sélection d'une source d'horloge pour un microcontrôleur donné. Ces options dépendent de la marque et du modèle de l'horloge du microcontrôleur que vous utiliserez. Nous discuterons donc de toutes les options standard ici.

Les différentes options se distinguent principalement par leur précision, leur coût et leur nombre de composants. L'utilisation d'une source d'horloge interne incluse dans tous les bons microcontrôleurs sera l'option la moins coûteuse et la moins compliquée, mais elle sera généralement aussi la moins précise. À l'inverse, une source d'horloge externe offrira une plus grande précision, mais au prix de l'ajout de composants supplémentaires sur le circuit imprimé et de l'augmentation de la complexité de votre conception.

L'option que vous sélectionnerez dépendra également des performances attendues et de vos contraintes en termes d'espace sur la carte et de budget. Comme il existe toujours plusieurs possibilités pour générer un signal d'horloge pour un microcontrôleur donné, prenez le temps d'étudier la fiche technique de votre appareil. Vous y trouverez généralement des informations utiles sur les types de sources d'horloge que vous pouvez utiliser et sur la meilleure façon de les mettre en œuvre.

Oscillateurs internes

Les microcontrôleurs sont généralement équipés d'un oscillateur résistance-condensateur interne pour générer un signal d'horloge de base et d'une boucle à verrouillage de phase pour fournir une fonction de multiplication de fréquence. Le problème de l'utilisation d'un oscillateur interne est qu'il est nettement moins précis qu'un oscillateur externe, avec une stabilité de fréquence faible.

L'intérieur d'une puce de microcontrôleur est, par définition, un endroit loin d'être idéal pour placer un circuit RC. Cela s'explique par la dépendance aux températures élevées des circuits RC ainsi que par les tolérances intrinsèquement larges des composants. En général, un microcontrôleur avec une bonne gestion thermique peut fournir un signal d'horloge avec une précision comprise entre 1 % et 5 %. Cela peut suffire pour certains bus de communication asynchrones plus lents et pour gérer le traitement des signaux analogiques à basse fréquence. Pourtant, dans la plupart des applications classiques, il sera trop imprécis.

Il convient probablement de mentionner brièvement que les performances de l'oscillateur interne peuvent être améliorées en utilisant une boucle à verrouillage de phase pour permettre à un signal d'horloge externe plus précis de corriger le signal d'horloge interne. Toutefois, si un signal d'horloge externe est disponible, il est logique de l'utiliser à la place de l'horloge interne, à moins que le microcontrôleur n'ait des contraintes spécifiques qui l'en empêchent.

Oscillateurs externes

Les sources d'horloge de microcontrôleurs peuvent être réparties dans deux grandes catégories : les dispositifs de résonance mécanique, notamment les résonateurs à quartz et en céramique, et les oscillateurs RC passifs.

La forme la plus élémentaire d'oscillateur est le circuit RC, qui imite le circuit d'oscillateur interne, mais utilise des composants plus précis, ainsi que des techniques de gestion thermique pour isoler les composants de la chaleur générée par l'horloge du microcontrôleur et de tout autre élément chaud du circuit.

Bien que cela puisse améliorer la précision d'au moins un ordre de grandeur, il est de loin l'option la moins précise pour un oscillateur externe, et de meilleures solutions sont disponibles pour un coût et une taille d'empreinte similaires. L'horloge générée par le circuit RC sera également affectée par les fluctuations des niveaux d'alimentation et exposée aux interférences électriques, ce qui limitera son utilité dans la plupart des applications classiques.

Les oscillateurs à quartz représentent la forme la plus courante d'oscillateurs externes lorsqu'un signal d'horloge de précision est requis. Ce quartz et les circuits associés offrent, en effet, une excellente stabilité et une grande précision. Un oscillateur à quartz bon marché standard peut ainsi offrir une précision supérieure à un millionième de pour cent, ce qui est largement suffisant pour toutes les applications, sauf les plus sensibles au facteur temps.

Cependant, le quartz peut être affecté par des facteurs environnementaux qui peuvent nécessiter une protection supplémentaire. Le circuit de support associé peut également entraîner une sortie à impédance élevée exigeant une correspondance d'impédance supplémentaire pour s'intégrer au reste du circuit. L'utilisation d'un module oscillateur à quartz standard plutôt que de composants discrets peut réduire la sensibilité aux effets environnementaux et simplifier la conception de la carte si votre budget le permet. Ces modules fournissent généralement une sortie d'onde carrée à faible impédance qui facilite leur intégration à la conception, avec une précision très similaire à celle d'un oscillateur à quartz discret.

Une autre option consiste à utiliser un oscillateur au silicium basé sur un circuit résonateur à circuit intégré qui est simple à mettre en œuvre avec une précision d'environ 0,05 %. Cet oscillateur est légèrement plus performant qu'un circuit RC externe, mais loin d'être aussi efficace qu'un oscillateur à quartz. Cependant, les oscillateurs au silicium sont plus robustes et plus fiables que les oscillateurs à quartz, ce qui les rend idéaux pour les environnements de fonctionnement où l'appareil peut être soumis à de fortes vibrations mécaniques.

Enfin, des résonateurs en céramique sont disponibles. Ils ne sont pas aussi précis qu'un oscillateur à quartz, mais plus précis qu'un oscillateur au silicium. Basés sur un matériau céramique piézoélectrique, ils utilisent des vibrations mécaniques résonnantes pour générer un signal d'horloge. Leur principal avantage est qu'ils se présentent dans un boîtier intégré simple et moins encombrant qu'un oscillateur à quartz et ses composants de support. Cependant, comme les oscillateurs à quartz, ils sont sensibles aux facteurs environnementaux, notamment à la température, à l'humidité, aux vibrations et aux interférences électriques.

Lorsque vous choisissez un oscillateur externe, la consommation électrique des options peut être un facteur de décision. La consommation d'énergie des circuits d'oscillateurs discrets est principalement déterminée par le courant d'alimentation de l'amplificateur de rétroaction et ses valeurs de capacitance. Un circuit à oscillateur à quartz classique consommera ainsi plusieurs dizaines de mA.

Les circuits à résonateur en céramique nécessitent généralement une capacité de charge plus importante que les oscillateurs à quartz, ce qui implique une consommation électrique plus élevée. La consommation électrique des oscillateurs au silicium est essentiellement proportionnelle à la fréquence de fonctionnement. Néanmoins, ils sont disponibles dans une large gamme d'options, des dispositifs basse consommation nécessitant quelques mA aux dispositifs standard qui demandent des dizaines de mA.

Conclusion

Pour résumer, le type de signal d'horloge à utiliser pour votre microcontrôleur dépendra principalement de la nature de l'appareil dans lequel il sera intégré et de son environnement de fonctionnement. Les interfaces avec des bus de communication asynchrone à grande vitesse et des signaux analogiques à haute fréquence nécessiteront un signal d'horloge précis.

Supposons que l'appareil doive fonctionner dans un environnement difficile, que ce soit sur une large plage de températures, dans des niveaux élevés d'interférences électromagnétiques ou avec une exposition à des vibrations mécaniques. Toutes ces contraintes peuvent limiter les choix disponibles. Une horloge de microcontrôleur non soumise à de telles contraintes de temps ou d'environnement peut, à l'inverse, se contenter d'une solution moins onéreuse.

Vous pouvez consulter la page produit pour obtenir une description plus détaillée des fonctionnalités ou appeler un de nos experts Altium.

A propos de l'auteur

A propos de l'auteur

Mark Harris est un ingénieur qui nous apporte plus de 12 ans d'expérience diversifiée dans l'industrie électronique, allant des contrats dans l'aérospatiale et la défense jusqu’au lancement de produits startup, dispositifs de loisirs en passant par une multitude d’autres accessoires. Avant de s'installer au Royaume-Uni, Mark était employé par l'un des plus grands organismes de recherche au Canada. Chaque jour, il travaillait sur un projet ou un défi différent impliquant l'électronique, la mécanique et les logiciels. Il est responsable de la publication de Celestial Database Library, la plus vaste bibliothèque de composants en base de données open source pour Altium Designer. Mark a une affinité particulière avec les équipements et les logiciels open source, la résolution de problèmes et les innovations appliquées à ce type de projets et leurs défis quotidiens. L'électronique est une passion ; suivre la transformation d’une idée en réalité, et interagir avec le monde est une source de plaisir sans fin.
Vous pouvez contacter Mark directement : mark@originalcircuit.com

Ressources associées

Retournez à la Page d'Accueil
Thank you, you are now subscribed to updates.