En las hojas de datos de AVR en la sección Características eléctricas, normalmente encontrará un gráfico como este (este es del ATMega328):
He visto diseños que parecen "funcionar" pero funcionan fuera del sobre sombreado. Específicamente, he visto diseños de 3.3V (Arduino) que ejecutan el reloj desde un cristal externo de 16MHz. Claramente, esto está fuera de especificaciones. ¿Cuáles son las consecuencias negativas prácticas de correr fuera de este sobre?
arduino
microcontroller
avr
clock-speed
vicatcu
fuente
fuente
Respuestas:
Cómo hacer la vida más interesante 101:
Si no te importa
que sus resultados a veces pueden ser incorrectos,
que su sistema a veces puede fallar,
que su vida puede ser más interesante,
que su clon de Segway solo ocasionalmente hace frente a plantas sin ninguna razón obvia,
que ...
entonces, por supuesto, ejecute la pieza fuera de las especificaciones del fabricante
Obtienes lo que no pagas.
Si tiene una cabeza de $ 10, compre un casco de $ 10.
A menudo puede funcionar.
Puede que no funcione a veces.
Puede no ser obvio que a veces no funciona.
Un valor de ADC puede ser correcto.
O no
fuente
A este tipo de velocidades, la mayoría de los procesadores funcionan calculando todas las señales que se necesitarán en un determinado ciclo de reloj, esperando el siguiente borde del reloj mientras se estabilizan, bloqueando todas esas señales y calculando las señales necesarias en el siguiente ciclo de reloj , esperando ese borde mientras se estabilizan esas señales, etc. Si llega un borde de reloj antes de que las señales necesarias se hayan estabilizado, el efecto será que las señales que no se hayan estabilizado no se pueden enganchar limpiamente. Si esto ocurre en un microcontrolador, los efectos pueden ser impredecibles, al menos por dos razones:
Los fabricantes especifican los parámetros de operación para los procesadores de modo que, dentro de esos parámetros, los procesadores simplemente funcionen. Empujar cosas fuera de ese sobre puede reducir el procesador a ser solo 99.9999999 confiable. Puede que no suene demasiado mal, pero tratar de diagnosticar un procesador que hace algo arbitrariamente incorrecto una vez por minuto más o menos (calcular 16MHz) no es divertido.
fuente
Respuesta simplificada a su pregunta:
Trabajar fuera del "área de velocidad segura" puede hacer que su sistema funcione inestable. ¿Qué significa eso? Resultados de cálculo incorrectos, reinicios del microcontrolador, etc.
Si desea hacerlo solo por diversión, debería echar un vistazo a estas páginas / artículos:
Overclocking Arduino con refrigeración por nitrógeno líquido. 20⇒65.3Mhz @ -196 ° C / -320 ° F
ATmega328 Overclock (30MHz)
fuente
Una consideración no mencionada todavía, que tiene menos que ver con el funcionamiento a frecuencias válidas en rangos de voltaje no válidos (16MHz a 3.3V) pero más que ver con el funcionamiento a frecuencias no válidas en rangos de tensión válidos (24MHz a 5V) es la disipación de calor.
Cada vez que una puerta en el chip se enciende o apaga, disipa el calor. La compuerta, compuesta por MOSFET, actúa como una resistencia variable en el período entre estar ENCENDIDO y APAGADO, o APAGADO y ENCENDIDO. Esa resistencia, por supuesto, disipa el calor. Cuanto más frecuentemente cambie, menos tiempo hay entre los cambios para que ese calor se disipe del chip, y corre el riesgo de acumular calor.
Ergo, cuanto más rápido corras, más calor puede acumularse. Es por eso que las CPU de PC tienen grandes admiradores: cambian tan rápido que no pueden sacar el calor del chip lo suficientemente rápido, por lo que necesitan ayuda.
La velocidad máxima nominal del chip se selecciona para permitir que el chip disipe su acumulación de calor de manera confiable bajo las condiciones de funcionamiento válidas (es decir, la temperatura ambiente, típicamente un máximo de 85 ° C o 105 ° C, por ejemplo). Exceder esa frecuencia puede causar que el chip se sobrecaliente.
Sí, puede ser posible ejecutar el chip más rápido de lo previsto si proporciona alguna asistencia, es decir, un disipador de calor y tal vez un ventilador, y asegurarse de que haya un buen flujo de aire a su alrededor. Pero, por supuesto, en un día caluroso de verano, puede descubrir que lo que funcionaba perfectamente todo el invierno de repente comienza a hacer cosas extrañas.
Otra cosa a considerar es la de las tasas de rotación. Las señales de reloj (y otras señales también) tardan en subir o bajar al nivel deseado. Si las partes internas del chip significan que la señal del reloj tarda unos 15 ns en elevarse de BAJO a ALTO, y trata de marcarlo a una frecuencia en la que un período ALTO es, digamos 42 ns (24 MHz), eso deja solo 27 ns de reloj válido período restante Eso es solo el 64% del reloj que en realidad es una señal de reloj; el resto es basura. Lo mismo para los pines IO. Cosas como las salidas de reloj SPI estarán limitadas por la velocidad de rotación del pin IO, por lo que si overclockea su chip para obtener un SPI más rápido, encontrará que las cosas no siempre salen según lo planeado, como la onda cuadrada agradable que espera de la salida del reloj ya no es cuadrado.
fuente
Es posible que el dispositivo no funcione con alguna combinación de voltaje / temperatura.
fuente