Dans les fiches techniques AVR sous la section Caractéristiques électriques, vous trouverez généralement un graphique comme celui-ci (celui-ci provient de l'ATMega328):
J'ai vu des conceptions qui semblent "fonctionner" mais qui fonctionnent en dehors de l'enveloppe ombrée. Plus précisément, j'ai vu des conceptions 3,3 V (Arduino) qui font fonctionner l'horloge à partir d'un cristal externe de 16 MHz. De toute évidence, cela est hors spécifications. Quelles sont les conséquences négatives pratiques d'un dépassement de cette enveloppe?
arduino
microcontroller
avr
clock-speed
vicatcu
la source
la source
Réponses:
Comment rendre la vie plus intéressante 101:
Si tu t'en fous
que vos résultats peuvent parfois être faux,
que votre système peut parfois planter,
que votre vie peut être plus intéressante,
que votre clone Segway ne fait que de temps en temps des face-plants sans raison évidente,
que ...
puis exécutez par tous les moyens la partie en dehors des spécifications du fabricant
Vous obtenez ce que vous ne payez pas.
Si vous avez une tête de 10 $, achetez un casque de 10 $.
Cela peut souvent fonctionner.
Cela peut ne pas fonctionner parfois.
Il n'est peut-être pas évident que cela ne fonctionne pas parfois.
Une valeur ADC peut être correcte.
Ou pas
la source
À ces sortes de vitesses, la plupart des processeurs fonctionnent en calculant tous les signaux qui seront nécessaires à un certain cycle d'horloge, en attendant le front d'horloge suivant pendant qu'ils se stabilisent, en verrouillant tous ces signaux et en calculant les signaux nécessaires au cycle d'horloge suivant. , en attendant ce front pendant que ces signaux se stabilisent, etc. Si un front d'horloge arrive avant que les signaux nécessaires se soient stabilisés, l'effet sera que celui qui ne s'est pas stabilisé ne soit pas verrouillé proprement. Si cela se produit dans un microcontrôleur, les effets peuvent être imprévisibles - pour au moins deux raisons:
Les fabricants spécifient les paramètres de fonctionnement des processeurs de telle sorte que, dans ces paramètres, les processeurs fonctionnent simplement. Pousser les choses en dehors de cette enveloppe peut réduire le processeur à seulement 99,9999999 fiable. Cela peut ne pas sembler trop diabolique, mais essayer de diagnostiquer un processeur qui fait quelque chose de mal arbitrairement une fois par minute (environ 16 MHz) n'est pas amusant.
la source
Réponse simplifiée à votre question:
Travailler en dehors de la «zone de vitesse sûre» peut rendre votre système instable. Qu'est-ce que cela signifie? Résultats de calcul erronés, réinitialisation du microcontrôleur, etc.
Si vous voulez le faire pour le plaisir, jetez un œil à ces pages / articles:
Overclocking Arduino avec refroidissement à l'azote liquide. 20⇒65,3 MHz à -196 ° C / -320 ° F
Overclocking ATmega328 (30 MHz)
la source
Une considération non encore mentionnée, qui est moins liée au fonctionnement à des fréquences valides dans des plages de tension invalides (16 MHz à 3,3 V) mais plus à voir avec le fonctionnement à des fréquences invalides dans des plages de tension valides (24 MHz à 5 V) est celle de la dissipation thermique.
Chaque fois qu'une porte de la puce s'allume ou s'éteint, elle dissipe la chaleur. La grille, composée de MOSFET, agit comme une résistance variable dans la période entre ON et OFF, ou OFF et ON. Cette résistance dissipe bien sûr la chaleur. Plus il passe fréquemment, moins il y a de temps entre les commutations pour que cette chaleur se dissipe hors de la puce, et vous risquez une accumulation de chaleur.
Ergo, plus vous courez vite, plus la chaleur peut s'accumuler. C'est pourquoi les processeurs PC ont de gros fans - ils commutent si vite qu'ils ne peuvent pas extraire la chaleur de la puce assez rapidement, ils ont donc besoin d'aide.
La vitesse nominale maximale de la puce est sélectionnée pour permettre à la puce de dissiper son accumulation de chaleur de manière fiable dans les conditions de fonctionnement valables (c'est-à-dire la température ambiante, généralement max 85 ° C ou 105 ° C par exemple). Le dépassement de cette fréquence peut entraîner une surchauffe de la puce.
Oui, il peut être possible de faire fonctionner la puce plus rapidement que prévu si vous fournissez une assistance, c'est-à-dire un dissipateur thermique et peut-être un ventilateur, et assurez-vous qu'il y a une bonne circulation d'air autour. Mais bien sûr, par une chaude journée d'été, vous pouvez trouver ce qui était un appareil parfaitement fonctionnel tout l'hiver commence soudainement à faire des choses étranges.
Une autre chose à considérer est celle des taux de balayage. Les signaux d'horloge (et d'autres signaux aussi) mettent du temps à monter ou à descendre au niveau souhaité. Si les internes de la puce signifient que le signal d'horloge prend 15 ns pour passer d'un niveau bas à un niveau haut, et que vous essayez de le synchroniser à une fréquence où une période élevée est, disons 42 ns (24 MHz), ce qui ne laisse que 27 ns d'horloge valide. période restante. Cela ne représente que 64% de l'horloge étant en fait un signal d'horloge - le reste est des ordures. De même pour les broches IO. Des choses comme les sorties d'horloge SPI seront limitées par la vitesse de balayage de la broche IO, donc si vous overclockez votre puce pour obtenir un SPI plus rapide, vous constaterez que les choses ne se passent pas toujours comme prévu, comme la belle onde carrée que vous attendez de la sortie d'horloge n'est plus carré.
la source
L'appareil peut ne pas fonctionner à une certaine combinaison tension / température.
la source