Arduino a-t-il une horloge matérielle interne

Arduino a-t-il une horloge matérielle interne
Arduino est une plate-forme basée sur un microcontrôleur conçu pour exécuter différentes instructions en fonction des exigences du projet. Pour synchroniser toute cette opération, une horloge est utilisée avec des microcontrôleurs. L'horloge est comme le rythme cardiaque des planches Arduino nécessaires pour générer des impulsions d'horloge. Ces impulsions d'horloge synchronisent toutes les opérations internes et matérielles. Les microcontrôleurs dépendent de l'horloge. L'horloge détermine à quel point un microcontrôleur est efficace et rapide pour exécuter des instructions. Nous allons maintenant mettre en évidence les sources d'horloge utilisées à l'intérieur des planches Arduino.

Arduino a-t-il une horloge matérielle interne

Oui, Arduino a une horloge matérielle interne. Les planches Arduino Uno ont deux puces de microcontrôleur à bord une est atmega328p et la deuxième est atmega16u2. Ces deux puces de microcontrôleur ont une horloge interne de 8 MHz. ATMEGA16U2 est utilisé pour la communication série entre la carte Arduino et l'ordinateur tandis qu'AMEGA328P est le principal contrôleur de la carte Arduino utilisée pour la construction logique.

Source d'horloge matérielle interne

Arduino a deux sources pour les horloges matérielles internes comme décrit ci-dessus. Les deux sont utilisés pour conduire deux microcontrôleurs séparés.

  • Source de l'horloge ATMEGA328P
  • Source de l'horloge ATMEGA16U2

1. Atmega328p horloge

Le contrôleur Arduino UNO AMEGA328P utilise normalement un oscillateur en cristal externe pour son horloge qui est de 16 MHz, mais il a également un générateur d'horloge interne de 8 MHz. Nous pouvons configurer l'oscillateur interne au microcontrôleur comme source de signal d'horloge 8 MHz.

AMEGA328P est livré avec un oscillateur RC ayant un signal d'horloge de 8 MHz. Son fusible CKDiv8 est programmé en fonction de la fréquence 8 MHz, ce qui se traduit par un 1.Horloge système 0 MHz. Cette source d'horloge par défaut donne la liberté aux utilisateurs qui peuvent concevoir leur horloge souhaitée avec toute interface de programmation. La valeur maximale est définie pour le moment de démarrage du microcontrôleur ATMEGA328P.

Par défaut, les configurations d'horloge suivantes sont disponibles en microcontrôleur ATMEGA328P et une source d'horloge externe peut également être fixée:

  • Oscillateur RC interne calibré
  • Oscillateur interne de 128 kHz
  • Source d'horloge externe

Oscillateur RC interne calibré

L'oscillateur RC interne fournit un microcontrôleur 8.Horloge 0 MHz. Cette source d'horloge dépend de la température et des niveaux de tension, ce qui signifie que un léger changement dans ces conditions peut affecter les performances du microcontrôleur. Pour sélectionner cette horloge pour le microcontrôleur, les fusibles CKSEL sont généralement programmés. Si nous sélectionnons son paramètre, l'horloge fonctionnera sans aucune source externe suivant la plage de fréquences peut être réalisée par la programmation des fusibles CKSEL comme:

Plage de fréquences (MHz) Cksel3… 0
7.3-8.1 0010

Oscillateur interne de 128 kHz

128 kHz est également une horloge par défaut pour le microcontrôleur ATMEGA328. Il s'agit d'un oscillateur à faible puissance et non conçu pour les exigences de haute précision sa fréquence est optimale pour la température 3V et 25 degrés C. Pour sélectionner cette horloge, nous devons définir la valeur des fusibles CKSEL à "0011". La plage de fréquences suivante peut être obtenue par les fusibles CKsel:

Gamme de fréquences (kHz) Cksel3… 0
128 kHz 0011

Source d'horloge externe

Atmega328p est conçu de telle manière que pour augmenter sa vitesse d'exécution d'instruction, nous pouvons attacher une source d'horloge externe de 16 MHz-20 MHz comme le résonateur en céramique utilisé dans Arduino Uno.

Pour conduire le microcontrôleur à l'aide de sources d'horloge externes, nous avons deux broches disponibles pour un oscillateur XTAL1 et XTAL2. Arduino Uno utilise ces deux broches d'ATMEGA328P pour connecter un résonateur en céramique externe pour son exigence de fréquence car cette source d'horloge est plus efficace que l'horloge interne de 8 MHz.

Les broches 9 et 10 sont utilisées pour connecter les deux broches de l'oscillateur externe. La table suivante montre la configuration des broches pour la source d'horloge externe:

PIN 9 Xtal Oscillateur externe Connectez la broche 9 du microcontrôleur à une broche de l'oscillateur externe
PIN 10 Xtal Externe

Oscillateur

Connectez la broche 10 du microcontrôleur à la deuxième broche de l'oscillateur externe

2. ATMEGA16U2 Horloge

Arduino Uno utilise l'ATMEGA16U2 comme microcontrôleur pour la communication en série entre Arduino et Computer. Ce microcontrôleur agit comme un convertisseur USB à TTL. Comme atmega328p, ce microcontrôleur est également livré avec un oscillateur RC interne de 8 MHz et une horloge système de 1 MHz. Le temps de démarrage est défini sur une valeur maximale. Tous ces paramètres aident les utilisateurs à le programmer avec toute interface de programmation et à concevoir leur source d'horloge requise ou à fixer un oscillateur externe pour augmenter l'efficacité du microcontrôleur.

Par défaut, les configurations d'horloge suivantes sont disponibles en microcontrôleur ATMEGA16U2 et une source d'horloge externe peut également être fixée:

  • Oscillateur RC interne calibré
  • Pll
  • Source d'horloge externe

Oscillateur RC interne calibré

ATREGA16U2 a un oscillateur RC intégré qui peut donner à Arduino jusqu'à 8 MHz d'horloge. Il dépend également de la température, donc la variation de la chaleur et de la tension peut affecter les performances du microcontrôleur. Cette horloge peut être sélectionnée par programmation des fusibles internes CKsel. Pendant la réinitialisation, le registre OscCal atteint sa valeur par défaut et il ne nécessite aucune source d'horloge externe lorsqu'il est sélectionné à la valeur par défaut de 8 MHz de l'oscillateur. Voici les modes de fonctionnement de l'oscillateur interne calibré:

Plage de fréquences (MHz) Cksel3… 0
7.3-8.1 0010

Pll

PLL est utilisé pour générer une gamme élevée de fréquences spécialement pour la communication série USB entre Arduino et Computer. Il peut générer jusqu'à 48 MHz de fréquence. PLL reçoit une basse fréquence d'entrée de sa broche XTAL, ou toute autre source d'horloge externe comme dans Arduino Uno Crystal Oscillateur est utilisée comme source d'horloge pour la communication série qui aide ATMEGA16U2 pour la conversion USB à TTL.

Source d'horloge externe

De la même manière que dans le microcontrôleur ATMEGA328P, nous pouvons également configurer une horloge externe avec ATMEGA16U2. Lorsque vous utilisez une source d'horloge externe, les changements soudains de la fréquence de l'horloge doivent être évités pour un fonctionnement en douceur du MCU. Dans Arduino Uno Crystal Oscillateur est utilisé comme source d'horloge externe pour le microcontrôleur. L'oscillateur en cristal est plus efficace que son résonateur en céramique concurrent en raison du faible coût et de la tolérance à la haute tension et à la fréquence. Les fusibles CKSEL doivent être programmés pour exécuter un oscillateur externe.

La source d'horloge externe peut être connectée dans la configuration ci-dessous:

Broche 1 Xtal1 Oscillateur externe Entrée à l'amplificateur de l'oscillateur et à l'horloge interne
PIN 2 XTAL2 / PC0 Oscillateur externe La sortie de l'oscillateur lorsqu'elle est activée par le fusible, peut également être utilisée comme broche d'E / S

Conclusion

Les planches Arduino sont très flexibles en termes de sources d'horloge. Arduino a deux microcontrôleurs à bord qui sont ATMEGA328 et ATMEGA16U2. Ces deux microcontrôleurs sont livrés avec une horloge interne de 8 MHz, mais pour obtenir une sortie maximale et des performances accrues, nous utilisons une horloge externe de 16 MHz pour les deux séparément. Ici, nous avons discuté de la façon dont les microcontrôleurs Arduino peuvent être utilisés avec leur oscillateur d'horloge interne et ont mis en évidence la manière possible d'ajouter une horloge externe.