J'utilise toujours l'oscillateur interne que les photos ont car je n'ai jamais trouvé la nécessité d'exécuter quoi que ce soit à une fréquence supérieure à 8 MHz (qui est la plus rapide que les photos que j'utilise ont tendance à pouvoir aller). Y a-t-il des raisons, au-delà de dépasser les 8 MHz, qui signifient que je devrais utiliser un oscillateur externe? Cela me semble juste une chose de plus qui ne va pas, mais je serais intéressé d'entendre ce que les autres font.
microcontroller
pic
design
oscillator
SimonBarker
la source
la source
Réponses:
Comme d'autres l'ont dit, une fréquence et une stabilité de fréquence précises sont des raisons d'utiliser un résonateur céramique externe ou un cristal. Un résonateur est plusieurs fois plus précis que l'oscillateur RC interne et assez bon pour la communication UART. Un cristal est beaucoup plus précis et nécessaire si vous effectuez d'autres types de communication comme CAN, USB ou Ethernet.
Une autre raison pour un cristal externe est le choix de la fréquence. Les cristaux viennent dans une large gamme de fréquences tandis que l'oscillateur interne est généralement une fréquence avec peut-être un choix de 4x PLL activé. Certains PIC de base 24 bits plus récents ont à la fois un multiplicateur et un diviseur dans la chaîne d'horloge afin que vous puissiez atteindre un large choix de fréquences à partir de la seule fréquence de l'oscillateur interne.
Il existe bien entendu diverses applications qui nécessitent de manière inhérente une fréquence ou un timing précis autres que les communications. Le temps est la propriété de l'électronique que nous pouvons mesurer avec la plus grande précision et à moindre coût, de sorte que parfois le problème se transforme en mesure de temps ou en production d'impulsions avec un timing précis.
Ensuite, il existe des applications qui nécessitent une synchronisation à long terme avec d'autres blocs. Un oscillateur de 1% serait éteint de plus de 14 minutes par jour s'il était utilisé comme base pour une horloge en temps réel. Un temps précis à long terme peut également être nécessaire sans avoir à connaître le temps réel. Par exemple, supposons que vous souhaitiez qu'un groupe d'appareils à faible consommation d'énergie se réveille toutes les heures pour échanger des données pendant quelques secondes, puis se rende en veille. Un cristal de 50 ppm (très facile à obtenir) ne s'éteindra pas plus de 180 ms en une heure. Un oscillateur RC à 1% pourrait cependant être éteint de 36 secondes. Cela ajouterait des délais importants et donc des besoins en énergie aux appareils qui n'avaient besoin de communiquer que quelques secondes toutes les heures.
la source
Précision. Les horloges internes ne sont pas précises, peuvent être affectées par le bruit.
Précision indépendante de la température. Les oscillateurs typiques peuvent varier énormément. Des oscillateurs de compensation de température spéciaux peuvent être nécessaires dans les applications à basse ou haute température, ou si la température varie énormément.
La vitesse. Les oscillateurs internes peuvent ne pas atteindre la vitesse la plus élevée du CI. Des externes peuvent être nécessaires pour cela.
Tension. La vitesse d'une minuterie interne peut dépendre de la tension à laquelle elle fonctionne.
Plusieurs horloges sont nécessaires. Certaines applications souhaitent partager un oscillateur.
Applications spéciales où l'horloge interne n'est pas facile à utiliser. Il peut être plus difficile de diviser l'horloge interne que d'y jeter un cristal de montre à 31 kHz bon marché, pour les applications de conservation du temps.
Sur le dessus de ma tête, l'ATMEGA 328 que l'arduino utilise nécessite un cristal externe à 5V pour sa vitesse maximale. La version lily pad fonctionne à 8 MHz, sur l'oscillateur interne car elle est limitée à 3,3v. Le tableau de bord MSP430 Value Line est limité à 10 MHZ à 3V, 8 à 2,5V.
la source
La stabilité de fréquence sera plus élevée avec une externe. Donc, si vous avez une application qui dépend vraiment de la fréquence mcu, vous devrez peut-être en utiliser une externe.
Mais la plupart des mcu: s modernes ont un osc interne assez stable, donc je pense que c'était une question plus importante il y a quelques années. Il y a aussi de plus en plus de façons de couper l'intérieur et de compenser la dérive de température (etc.)
D'autre part, il existe d'autres moyens de s'assurer que vous êtes synchronisé, dans certains pays, la stabilité de la fréquence dans le réseau électrique est de 50 Hz ± 0,01 Hz et d'autres endroits comme la Suède ont en réalité ± 0,001 Hz et j'ai vu des projets l'utiliser pour garder les choses en synchronisation. Et puis vous ne dépendez plus autant de la fréquence mcu et vous pouvez utiliser celle interne. Mais c'est un peu le sujet :)
la source
La stabilité de fréquence est la principale, en particulier pour les communications série à haute vitesse. Mais cela soulève également le besoin occasionnel d'un cristal à une fréquence apparemment étrange pour obtenir un débit en bauds exact, en raison des options limitées que les diviseurs d'horloge vous offrent.
la source
J'ai en fait rencontré un scénario où 1% n'était pas assez bon pour UART.
Si l'un d'entre vous a entendu parler de la carte de développement du microcontrôleur Teensy ++ v1.0, il possède un UART terriblement sensible. J'avais réglé mon baud hôte sur 115200, et il était réglé sur 115200 et pendant longtemps je n'ai pas pu comprendre pourquoi il ne lisait pas les données correctement. Il s'avère que mon hôte envoyait plus près de 114300 bauds. (115200 - 114300) / 115200 = erreur de ~ 0,9%. Je l'ai essayé avec deux MCU différents et ils ont bien fonctionné.
Le point est: quelle que soit votre application, si une plus grande précision de la fréquence d'horloge est un avantage, vous devez utiliser un résonateur externe, un cristal ou même un oscillateur si votre puce n'a pas les circuits de commande nécessaires.
PS Je me demande si quelqu'un a une idée de quel choix de conception de bas niveau il a fait sur le matériel UART qui le rend si sensible?
la source
Les oscillateurs à cristal de cristal externes sont plus précis que les horloges internes, et ils doivent être utilisés lorsqu'un timing précis est nécessaire. Parfois, pour économiser de l'argent, les concepteurs en utilisent des internes.
la source