4 votos

Cuando la energía se pierde en un chip AVR (4313 y 8535) ¿por qué el mcu funciona más lento?

Tengo un AVR circuito por el que tengo conectado a su reloj, de la clavija de salida de algunos otros circuitos de reloj externa y los otros pines operar varias otras cosas. Mediante el uso de un osciloscopio, he encontrado que el chip AVR (tanto attiny4313 o atmega8535) se ejecuta a una velocidad más lenta después de su fuente de alimentación se ha desconectado y vuelto a conectar.

Las fichas en el circuito en cuestión está conectado a un 20 mhz resonador para xtal 1 y xtal 2. He aquí cómo recrear el problema:

1) Conecte la alimentación y la tierra.

2) quemar los fusibles externos oscilator con reloj

3) pulse el botón de reset

4) clockout muestra de 20 MHz en el alcance, otros circuitos ejecutar a la velocidad adecuada.

5) Desconecte la batería (a partir de la L7805 regulador)

6) Conecte la batería de respaldo para el circuito

7) principales chip se está ejecutando ahora en alrededor de 8 mhz, sin tro circuitos están funcionando correctamente.

8) Reburn fusibles

9) Funciona correctamente en 20 MHz ahora.

El problema ocurre con un attiny4313 y un atmega8535.

Test circuit that reproduces the problem

EDIT: La imagen es un circuito de prueba que estoy utilizando para tratar y resolver esto. Me permite reproducir el problema.

¿por qué está sucediendo esto? ¿Cómo puedo evitar que suceda?

Notas adicionales:

Brown a cabo la detección de 4.3 V no se soluciona el problema.

Programado con un arduino uno como ISP con el avr-gcc (la última versión de ubuntu)

2voto

brianpeiris Puntos 7693

Que cosa que llamar a un botón de reset no lo es.

Interruptor de rebote probablemente será la emisión de múltiples restablece a su MCU milisegundos de diferencia y, posiblemente, de la duración de microsegundo, y, posiblemente, pasar tiempo indeterminado en la lógica de los estados. Usted debe revisar la hoja de datos necesarios para restablecer los tiempos. Mi corazonada es este falso múltiples fuera de especificación de restablecimiento de pulsos es poner el MCU en un estado indefinido - y al parecer no funciona por su fusibles de configuración, y en su lugar se ejecuta fuera de su sistema interno de 8MHz oscilador*.

Práctica estándar es para que al menos tienen una tapa a la tierra, al menos de 100n, pero lo más probable es de 1 uf..10uF dependiendo del restablecimiento de temporización especificaciones y, lo que es más importante, el rebote de las características del interruptor, que normalmente tiene que ser estimado empíricamente (es decir, ver lo que RESTABLECER está haciendo con un osciloscopio). Poner el interruptor/pull-up/cap a través de un schmigger puede ayudar mucho también. Pero normalmente una adecuada restablecer el chip controlador se utiliza para lidiar con la realidad de despedida del interruptor en el imperfecto de los interruptores mecánicos.

  • Esto es en el mismo reino de la confusión de rieles de potencia y otras señales críticas - como RESTABLECER - utilizado por los hackers de hardware para poner el MCU en ciertos estados, por ejemplo, para leer el código, cuando la lectura de la funcionalidad no debe ser posible debido a los fusibles de configuración.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X