¿El oscilador interno de 8Mhz en un ATTINY funciona incluso si no hay relojes conectados?

Si configuro los fusibles en un ATTINY para que el reloj del sistema use el oscilador interno de 128Khz (a veces llamado "oscilador de vigilancia"), ¿sigue funcionando el oscilador interno de 8Mhz?

No parece decir de ninguna manera en la hoja de datos, pero supongo que la principal motivación para ejecutar el oscilador de 128 KHz sería el ahorro de energía, en cuyo caso tendría sentido apagar el oscilador de 8 Mhz no utilizado.

¿Puedes pensar en una manera en que podrías decirlo? ¿Quizás una bobina de antena súper sensible cerca del chip buscando una pequeña señal de 8Mhz mientras el chip está funcionando?

¿Cuáles son sus observaciones en una hoja de datos específica? Definitivamente podría usar un sistema de receptor de radio con una antena pequeña para verificar el estado de los osciladores.
Revisé las hojas de datos para ATTINY4313, ATTINY2/4/85 e incluso para AVR de gama alta, pero todo lo que aprendí es que las hojas de datos Atmel normalmente excelentes tienen (en el mejor de los casos) información incompleta sobre los relojes. Por ejemplo, el ATTINY4313 ni siquiera muestra el preescalador en el diagrama de bloques, y todos ellos mezclan los términos "oscilador de vigilancia" y "oscilador de 128 Mhz" sin explicación.

Respuestas (2)

La respuesta oficial de Atmel es que el oscilador de 8Mhz se desactiva cuando se selecciona el oscilador de 128KHz como fuente de reloj.

Esto podría ser muy útil para cumplir con la exención de la Parte 15 de la FCC para productos que no generan ninguna frecuencia superior a 1.705Mhz.

La respuesta de Atmel se pega a continuación.


Comentado por Abirami Sivakumar (Atmel) 2016-07-12 02:31 PDT

Hola Josh,

Si elige el oscilador interno de 128 KHz, el oscilador de 8 Mhz no funcionará. Es un oscilador en chip interno de baja potencia separado.

Saludos cordiales, Abirami Sivakumar


11/07/2016 08:11:39 a. m. PDT [josh]

Para: support@atmel.com

Gracias. Si cambio el reloj del sistema al oscilador de 128 KHz, ¿seguirá funcionando el oscilador de 8 Mhz o se desactivará?

gracias josh


11/07/2016 05:05:40 a. m. PDT [Abirami Sivakumar]

[Destinatarios: Josh Levine]

Hola Josh Levine,

Gracias por ponerse en contacto con el equipo de soporte técnico de Atmel.

La configuración de fuente de reloj predeterminada es el oscilador RC interno que funciona a 8 MHz con el tiempo de inicio más largo y un reloj de sistema inicial preescalado de 8, lo que da como resultado un reloj de sistema de 1,0 MHz.

Si está cambiando los fusibles, el reloj del sistema cambiará de acuerdo con el nuevo valor del fusible.

Puede generar el reloj del sistema en el pin CLKO. Consulte la sección "6.4 Búfer de salida de reloj" en la hoja de datos.

Enlace: http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf

Saludos cordiales, Abirami Sivakumar


08/07/2016 14:11:25 PDT [Josh Levine]

En un ATTINY2/4/85, si configuro fusibles CKSEL para seleccionar el oscilador interno de 128kHz como fuente de reloj, ¿seguirá funcionando el oscilador interno de 8MHz?

Estoy preguntando específicamente tratando de usar un ATTINY25 en un diseño que debe estar bajo FCC Parte 15 47 CFR 15.103 (h), que requiere que "la frecuencia más alta generada y la frecuencia más alta utilizada sean menos de 1.705 MHz", por lo que estoy buscando confirmar que el oscilador de 8MHz no está activo cuando el chip está configurado para no usarlo.

¡Gracias!

En la página 25 de la hoja de datos de ATTiny2313 , se encuentra el siguiente párrafo:

Descripción del oscilador interno

Si bien esto no demuestra específicamente una forma u otra, sugiere que solo se ejecuta cuando se selecciona. Observe cómo dice "Si se selecciona, funcionará...". Eso implica que, si no se selecciona, no funcionará.

También sugeriría que no debería funcionar dado el gran esfuerzo que se ha realizado para reducir el consumo de energía de la gama.


De acuerdo, todo esto es evidencia circunstancial y suposición, pero valió la pena publicarlo.

Creo que esto solo quiere decir que el oscilador interno RC de 8 MHz es autosuficiente y no necesita ningún componente externo (a diferencia de un reloj externo, un cristal o un resonador), pero claramente la redacción es incómoda y ambigua. ¿El oscilador RC requiere componentes externos si no se selecciona ? (empíricamente no lo hace) ¿El oscilador de 128 KHz también funcionará sin componentes externos si se selecciona? (empíricamente lo hace) ¿Estoy leyendo mal?
@bigjosh Puede que solo sea yo leyendo entre líneas, pero lo leo porque solo funcionará (y lo hará sin componentes externos) si se selecciona.
Esa lectura sin duda satisfaría mis necesidades, pero mi intuición es que el ingeniero que escribió eso solo quería asegurarse de que supieras que puedes ejecutar el oscilador interno sin necesidad de partes externas. Pero ciertamente muestra que esta sección de la hoja de datos no es tan precisa y exhaustiva como he llegado a disfrutar de algunas de las otras partes.
@bigjosh, como digo, no está claro de ninguna manera, esa fue solo mi reacción visceral. Sería interesante configurar la fuente del reloj como el perro guardián y el preescalador al máximo (256) y cargar un programa donde no hace más que un while(1)bucle. Eso lo dejaría efectivamente inactivo a 500kHz. Luego, con una resistencia en serie con tierra, mida el voltaje a través de la resistencia con un alcance. Si ve alguna ondulación actual alrededor de 8 MHz, sabe que todavía está ejecutando el osc de 8 MHz (porque la CPU está funcionando a una frecuencia mucho más baja, por lo que no será por eso).
Este iba a ser mi siguiente paso: comparar la ondulación a 8Mhz entre ejecutar el RC con preescala /64 y ejecutar directamente desde 128Khz (ambos mientras el procesador estaba inactivo). Pero tengo la sensación de que la ondulación será muy difícil de detectar, ¡incluso con mi increíble uCurrent pro! Estamos hablando de nA aquí ... Probablemente necesitemos hacer algún tipo de circuito resonante para amplificarlo y detectarlo ... De todos modos, ¡el primer paso más fácil sería preguntar en SE! :)