Autor Tema: Sobre Interrupción externa  (Leído 1944 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado _Romeo

  • PIC10
  • *
  • Mensajes: 6
Sobre Interrupción externa
« en: 11 de Abril de 2005, 15:16:00 »
Hola compañeros,

estoy haciendo un proyecto con el PIC 16F876 y quería consultarles acerca de la interrupción externa. Yo ese tipo de interrupción la uso a modo de comunicación sencilla entre un microcontrolador master y cuatro esclavos, de manera que cuando el máster, por motivos que no vienen al caso, varia la señal PWM que saco por CCP1, genero un pulso por el pin A3, configurado como salida, y lo reciben los esclavos en el pin RB0/INT en forma de interrupción externa. De ahí los esclavos, una vez avisados, recogen por un canal AD el valor de la conversión del PWM filtrado.

Mi pregunta es: ¿es fiable la interrupción externa? Es decir, ¿hasta qué punto puedo fiarme de que efectivamente se ha producido una interrupción por el flanco generado por el micro máster y no una interrupción, por ejemplo, por un pico de corriente (espúrea)?

Otro problema es evitar que se genere una interrupción externa justo al conectar mi sistema a la alimentación. La interrupción la tengo configurada de manera que se active cuando detecte un flanco de subida y el micro master genera ese flanco poniendo a "1" el pin A3  y manteniendolo en alto un breve espacio de tiempo para después volverlo a cero. Creo que programando la interrupción por flanco de bajada podría funcionar, ¿voy bien?

Saludos y gracias por el tiempo Giño

Desconectado antoniof

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 729
RE: Sobre Interrupción externa
« Respuesta #1 en: 11 de Abril de 2005, 18:01:00 »
Hola Romeo.

En primer lugar decirte que esta inetrrupción es totalmente fiable. Yo la utilizo para detectar los pulsos que provienen de un detector de infrarojos para asi capturar las órdenes de un mando a distancia, y funciona de maravilla.

Si tienes problemas de ruido y se activa "espureamente" lo que puedes hacer es colocar un filtro RC con la constante de tiempo necesaria para que te capture la interrupción del master, es decir, si el master genera un pulso de 1ms, haces R*C=1e-4.(diez veces menor, para que le de tiempo a subir todo el rango desde 0 a Vcc).

En cuanto a lo que dices de la alimentación, como sabes las interrupciones están desactivadas cuando se resetea el micro, por lo que conociendo los relojes y las instrucciones que ejecuta cada micro, master y esclavo, sabes cuando se genera el pulso en el master y cuando el esclavo activa las interrupciones. Todo consiste en que el master tenga la linea de interrupción a cero antes de que se active la interrupción en el esclavo.

Desconectado _Romeo

  • PIC10
  • *
  • Mensajes: 6
RE: Sobre Interrupción externa
« Respuesta #2 en: 12 de Abril de 2005, 11:24:00 »
Gracias Usuario! Me lo has dejado bien clarito Giño


 

anything