Fusibles ATmega para osciladores de cristal externos superiores a 8 MHz

3

Actualmente estoy tratando de averiguar cuáles son los ajustes de fusibles correctos para mi ATmega8, cuando quiero usar un oscilador de cristal externo con una frecuencia superior a 8 MHz.

He encontrado la siguiente tabla en la hoja de datos de Atmel ATmega8 (p .27):

CKOPT tiene que ser programado (configurado en 0). Pero ¿qué pasa con CKSEL3..1?

Para un oscilador de 16 MHz, probablemente los establecería en 111, porque es el valor más alto posible (en comparación con 8 MHz, si CKOPT no está programado (establecido en 1)).

¿Cómo elegiría CKSEL3..1, por ejemplo, un oscilador de 10 MHz, 12 Mhz o 14 Mhz?

Simplemente comparar con los rangos como se muestra para CKOPT = 1 parece extraño. (mi cálculo: por ejemplo: (.4 / 8 * 16) MHz = .8MHz, etc.):

  • CKSEL3..1 = 101 para .8 - 1.8 MHz
  • CKSEL3..1 = 110 para 1.8 - 6 MHz
  • CKSEL3..1 = 111 para 6 - 16 MHz

¿Entonces siempre elijo 111? Si debería, ¿en qué caso serían los más apropiados?

    
pregunta PetPaulsen

2 respuestas

2

Basado en la tabla: si CKOPT es 0 en la siguiente columna, CKSEL3..1 enumera los 3 valores (101, 110 y 111), por lo que sugiere que son equivalentes y que se usa para frecuencias de más de 1 MHz (y más) a 16 MHz, por lo que puedo ver, es el máximo admitido).

Según DataSheet para CKSEL = 0, el oscilador tiene una mayor oscilación de salida, por lo que admite una frecuencia más alta. CKSEL = 1 ofrece un rango de frecuencia más pequeño pero reduce significativamente el consumo de energía y es probable que sea por eso que tiene soporte para 0.9-3MHz para tener un consumo aún menor.

Así que mi interpretación de esto sería: CKOPT = 1 y CKSEL3..1 = 111 para frecuencias 3-8MHz si puedes ayudarlo (debido al consumo de energía), y CKOPT = 0 y CKSEL3..1 = 111 para Frecuencias 8 + MHz - 16MHz

    
respondido por el Mihailo
0

El bit CKOPT habilita el modo de mayor potencia para el amplificador de oscilador. Creo que esto es principalmente útil si quieres conducir un segundo microcontrolador desde el mismo cristal.

Esta publicación antigua de avrfreaks te dice que los rangos disponibles para > 8MHz son aparentemente solo para determinar las características de inicio (el tiempo que tarda el AVR en ejecutar la primera instrucción después de encenderlo) ... También le indica dónde buscar en la hoja de datos en caso de que esté malinterpretando eso respuesta.

Por cierto: dependiendo del entorno de programación + programador que estés usando, podría elegir los bits de fusible para ti simplemente seleccionando qué tipo de cristal estás usando. Deberías mirar eso porque hace las cosas mucho más fáciles =)

    
respondido por el NickHalden

Lea otras preguntas en las etiquetas