Frecuencia de reloj Atmega328. a través de Divider vs Power

Tengo una pregunta que la sección de potencia en la hoja de datos de Atmega328p no parece cubrir. Estaba planeando ejecutar mi sistema a 1 MHz con un VCC de 2,8 V para obtener un buen equilibrio entre potencia y rendimiento. Resulta que los cristales de 1 MHz y los resonadores no parecen existir, Digikey no tiene ninguno.

Si ejecuto una división por 8 (establecida con los bits del fusible) conectado a un cristal de 8 MHz, desde el punto de vista de la potencia, ¿será lo mismo que un reloj de 1 MHz? Obviamente, habrá algunas pequeñas pérdidas adicionales de los 8 MHz frente al divisor de reloj, pero dado que la CPU y otros dominios de reloj variados son más lentos, asumo que tendrá un consumo de energía cercano a 1 MHz.

¿Es esto correcto?

EDITAR No puedo usar el oscilador interno ya que necesito una sincronización precisa en un amplio rango de temperatura. También revisé la hoja de datos y la pregunta es si alimento un reloj de 8 MHz y lo escalo de 8 a 1 MHz es aproximadamente el mismo uso de energía que un reloj de 1 MHz sin procesar.

Medí el consumo de energía de ATMega328P a diferentes voltajes y frecuencias e hice este gráfico docs.google.com/spreadsheets/d/…

Respuestas (2)

Esencialmente, sí. El divisor de reloj (también conocido como System Clock Prescaler) es el primer dispositivo en la cadena de reloj después de la entrada. Todos los demás relojes se derivan de la salida de este preescalador, lo que significa que todo, excepto la entrada del reloj y el preescalador, funcionará a 1 MHz (y, por lo tanto, consumirá la misma potencia que si estuviera impulsado por una entrada de reloj de 1 MHz).

Si el tiempo no es crítico, también puede usar el oscilador interno de 8 MHz con un preescalador de 8:1. De esta forma, elimina la potencia consumida por un circuito externo de cristal o resonador, y en el circuito del oscilador externo.

Sin embargo, si desea una sincronización precisa (el oscilador interno es +/-10% a menos que esté calibrado), entonces debe usar un cristal y configurar la fuente del reloj para que sea el "Oscilador de cristal de baja potencia" (en oposición al "Oscilador de cristal de oscilación completa"). "opción) en la configuración del fusible ATMega.

Los cristales de 1 MHz no son tan comunes, pero hay opciones como 1,8432 MHz, que es un cristal de 'velocidad de transmisión' estándar (llamado así porque puede dividirlo con precisión en velocidades de transmisión en serie estándar, por ejemplo, 9600). Estos son muy comunes y bastante baratos. Esto reducirá la energía consumida en el circuito del oscilador y la entrada del reloj. De acuerdo, no es 1 MHz, pero si al inicio escribe en el CLKPRregistro, puede habilitar un preescalador 2: 1 para obtener 921.6 kHz, que está cerca. Si está haciendo algo con comunicaciones en serie, vale la pena echarle un vistazo.

Si desea una precisión de 1 MHz, los cristales de 2 MHz también son bastante comunes. Del mismo modo, si está utilizando temporizadores y desea poder cronometrar un milisegundo con precisión, también puede optar por 2.048MHz (nuevamente común), lo que le brinda una potencia de dos divisiones hasta 1kHz.

Gracias por el aporte, está de acuerdo con mi punto de que la publicación por escalador es a lo que se refieren los gráficos de potencia en el manual. Usaría el resonador interno, pero tengo algunas comunicaciones en serie que requieren una sincronización precisa en un amplio rango de temperatura -10C-60C.
@MadHatter, en cuyo caso, dado que está utilizando material en serie, definitivamente sugeriría ir con un cristal de velocidad en baudios como se menciona en mi edición.
Ese es mi plan como mencioné en la publicación original, gracias.
También punto válido en 1.8432MHz, ha pasado un tiempo desde que hice un sistema de 8 bits, la idea de un cristal específico para la frecuencia en serie se me escapó por completo.

El consumo de energía será menor a 1Mhz que a 8Mhz.

En el escenario de esta página http://avrprogrammers.com/howto/atmega328-power a 8Mhz y 3,3V, el consumo de energía es de 4,16mA ya 1Mhz es de solo 0,92mA. Sin embargo, esto dependerá de su configuración.

El oscilador interno necesita la menor cantidad de corriente para funcionar. Si bien es menos preciso que un cristal externo, puede medir su velocidad y guardar los datos en la EEPROM para usarlos como datos de calibración.

He revisado estos datos en la hoja de datos. Mi pregunta / suposición es que esto se basa en el reloj posterior más escalable y que un reloj de 8MHz reducido a 1Mhz es lo mismo que un reloj de 1MHz sin formato.