La hoja de datos del ATTiny13A, por ejemplo, enumera la frecuencia mínima de 0 MHz. ¿Significa esto que el reloj puede funcionar a cualquier frecuencia arbitrariamente baja sin efectos nocivos? ¿Supongo que consume menos corriente a velocidades de reloj más bajas? ¿Significa 0 MHz que puede detener el reloj por completo y, mientras se siga aplicando energía, recordará su estado indefinidamente?
Sí. Si la hoja de datos dice "funcionamiento completamente estático", entonces puede sincronizarlo a cualquier velocidad, incluso a 0 Hz. Un chip "dinámico" necesita tener un reloj a una velocidad específica o pierde su estado.
Estoy publicando otra respuesta, solo porque la última pregunta que tenía no fue respondida antes.
Todbot es completamente correcto. También consumirá menos energía a velocidades más bajas. También significa que si proporciona su reloj desde otro procesador, por ejemplo, puede dejar de suministrarlo en cualquier momento y luego comenzar a sincronizarlo más tarde, siempre que no vaya más rápido que la velocidad máxima, estará bien.
Los chips que tengo obtienen un cambio de orden de magnitud entre el oscilador de 32768Hz y uno de 1MHz. He tenido aplicaciones en las que no necesitaba velocidad, solo necesitaba a otro pequeño que manejara algunos datos básicos por mí.
Espero que esto ayude.
La mayoría de los diseños de microcontroladores modernos funcionarán con cualquier patrón en su entrada de reloj, siempre que ningún pulso alto esté por debajo de una longitud mínima determinada, ningún pulso bajo esté por debajo de una longitud mínima determinada y ningún pulso bajo-alto-bajo o alto-bajo-alto. par de pulsos está por debajo de cierta longitud. Esencialmente, lo que sucede es que después de que el chip realiza todas las acciones asociadas con un borde de reloj en particular, el chip estará en un estado en el que no hace nada más que esperar el siguiente borde de reloj. Si el siguiente borde del reloj no llega hasta dentro de diez días (a menos que el chip tenga un perro guardián externo), el chip estará en el mismo estado que si el borde hubiera llegado en el momento en que el chip estaba listo para recibirlo.
Tenga en cuenta que, en general, pausar el reloj en un microcontrolador reducirá sustancialmente el consumo de corriente, pero no tanto como usar la función de "suspensión". El consumo de corriente de la mayoría de los microcontroladores en el modo "ejecutar" se puede estimar bastante bien como una corriente de reposo constante más una cierta cantidad de corriente por ciclo por segundo (que podría expresarse de forma más "natural" como carga por ciclo). Por ejemplo, un chip puede tener una corriente de reposo de 10 uA, más una corriente de 0,1 mA/MHz (100 pC/ciclo). Hacer funcionar un chip de este tipo a 10 MHz produciría una corriente de 1,01 mA. Ejecutarlo a 1 MHz produciría 0,11 mA. Ejecutarlo a 100 KHz produciría 0,02 mA. Ejecutarlo a 1 Hz produciría 0.0100001 mA. Por otro lado, el chip podría ofrecer una corriente de reposo de 1uA. Generalmente, entrar en el modo de suspensión apagará por completo las áreas del chip que no van a hacer nada útil mientras el chip está durmiendo, evitando así cualquier fuga de corriente que puedan tener dichas áreas. En algunos casos, también reducirá el voltaje en áreas como los archivos de registro a un nivel en el que los archivos de registro pueden contener su contenido, pero no acceder a ellos muy rápidamente (dado que no se accederá a ellos en absoluto, la velocidad de acceso no importa) .
Algunos microprocesadores, microcontroladores y otros dispositivos más antiguos tenían tiempos máximos de reloj alto y/o reloj bajo. Dichos procesadores hicieron uso de la lógica dinámica para ahorrar circuitos. Como ejemplo de lógica dinámica, considere un registro de desplazamiento: un bit de registro estático típico requiere un circuito de dos transistores para mantener el valor, mientras que un bit de registro dinámico mantiene el valor en la puerta de un transistor de lectura. Se puede realizar un registro de desplazamiento dinámico con reloj de dos fases en NMOS utilizando cuatro NFET y dos resistencias por bit. Un registro de desplazamiento estático requeriría ocho NFET y cuatro resistencias por bit. Los enfoques de lógica dinámica no son tan comunes hoy en día. En la década de 1970, la capacitancia de la puerta era sustancial y no había forma de deshacerse de ella. Por lo tanto, no había ninguna razón particular para no aprovecharlo. Hoy en día, la capacitancia de la puerta es generalmente mucho más baja, y los fabricantes de chips están tratando activamente de reducirlo aún más. Hacer que la lógica dinámica funcione de manera confiable a menudo requeriría trabajar deliberadamente para aumentar la capacitancia de la puerta. En la mayoría de los casos, el área adicional del chip necesaria para aumentar la capacitancia podría usarse con la misma eficacia para agregar más transistores y hacer que la capacitancia sea innecesaria.
Sí, puedes parar el reloj por completo y reiniciarlo más tarde sin consecuencias. Incluso podría reemplazar el reloj por un botón y recorrer su programa literalmente paso a paso (frecuencia: alrededor de 0,1 Hz).
La potencia es casi lineal con la frecuencia: a 10 MHz el microcontrolador consumirá 10 veces más potencia que a 1 MHz. Sin embargo, esto no significa que a 0 Hz el consumo sea completamente cero. Siempre hay disipación estática, pero eso es muy bajo, típicamente 1 uA o menos.
PD: observe que el ADC tiene una frecuencia mínima de funcionamiento. Si la frecuencia es demasiado baja, el condensador sobre el que se mide el voltaje se descargará demasiado y su medición será incorrecta.
Llegando tarde a esta pregunta, me recordó un proyecto que vi hace un tiempo.
Es un detector de murciélagos que usa un PIC que funciona a cero Hz la mayor parte del tiempo, y luego es cronometrado por la misma señal que está detectando.
http://www.micro-examples.com/public/microex-navig/doc/077-picobat.html
Kortuk
yippie
Diego C Nascimento