AVR interrupción externa activada por el flanco descendente: ¿por cuánto tiempo debo mantener la señal baja para garantizar la activación?

4

El encabezado de la pregunta parece ser demasiado largo. Lo siento por eso.

Tengo un esquema que genera un LOW corto en el pin INT0 de ATmega48PA. A partir de la simulación, descubrí que el nivel BAJO estará allí durante aproximadamente 800 ns. Planeo sincronizar el AVR desde RC interno con divisor 1: 8, lo que significa 1 MHz Fosc.

¿Cómo me aseguro de que la interrupción se activará?

Hago una lectura de la hoja de datos pero busqué en capítulos incorrectos o no hay tal información.

¿Podría indicarme la dirección correcta para encontrar la información necesaria?

¡Gracias!

    
pregunta Roman Matveev

1 respuesta

6

De la hoja de datos, para la descripción de ISC11 , ISC10 :

  

Si se selecciona la interrupción de borde o de conmutación, los impulsos duran   más de un período de reloj generará una interrupción. No se garantiza que los pulsos más cortos generen una interrupción.   Si se selecciona la interrupción de nivel bajo, el nivel bajo debe mantenerse hasta que se complete la instrucción que se está ejecutando actualmente   para generar una interrupción.

Dado que un reloj de 1 MHz significa que el pulso de interrupción de 800 ns durará menos de 1 ciclo, la interrupción no se generará de manera confiable. La instrucción AVR más larga requiere 4 ciclos, por lo que usar un reloj mínimo de 6MHz asegurará que atrapes todas las interrupciones mientras el chip está activo.

    
respondido por el Ignacio Vazquez-Abrams

Lea otras preguntas en las etiquetas