Este capítulo describe el sistema de interrupciones modular en los microcontroladores Freescale, incluyendo las diferentes fuentes de interrupción interna y externa, cómo configurarlas e identificarlas. Explica el diagrama de bloques del sistema de integración modular y cómo coordina la CPU y periféricos para controlar interrupciones, relojes y reinicios.
2. Objetivo del capítulo: Al finalizar el capitulo el estudiante estará familiarizado con las diferentes fuentes de interrupciones que existen en esta familia, sus aplicaciones, propiedades y formas de utilizarlas, configurarlas e identificarlas en el momento de su ocurrencia.
3. Para iniciar el estudio del presente capitulo es necesario que el lector posea una comprensión general de las características propias de esta familia de microcontroladores y su programación. Conocimientos previos:
4. En esta sección se explicara el sistema de integración modular, el cual soporta hasta 24 interrupciones internas y externas, junto con la C.P.U, los controles S.I.M. y todas las actividades de la M.C.U. a continuación se le ilustra un diagrama que muestra un resumen de los riesgos de I /O existentes en la S.I.M. La S.I.M es un sistema de control de estados que coordina a la CPU, y es responsable de: Generación del reloj de bus, control de la CPU y periféricos. Arranque, parada, espera, y ruptura de entrada y de recuperación. Control del reloj interno Control maestro de reset, incluyendo el Power-on-reset y el tiempo de rebosamiento del COP. Control de interrupciones. Habilitación y deshabilitación de tiempos en la CPU. 6.1 INTRODUCCION
6. Una interrupción cambia temporalmente la secuencia del programa en ejecución y va a responder a un evento particular. Es decir, se le emplean a veces para interrumpir el procesamiento normal o para responder a algún evento inusual. Los microcontroladores por lo general pueden ser interrumpidos mediante diferentes fuentes de interrupción. 6.2 INTERRUPCIONES
9. 6.3 ESTADO DE INTERRUPCION DEL REGISTRO 1 Dirección $FE04 IF1, IF3 A IF5: BANDERAS DE INTERRUPCIÓN Estas banderas indican cual fue la interrupción que ocurrió según la fuente que se ilustra en la tabla anterior. Los bits 0.1, 3 y 7 siempre son leídos como cero (0)
11. 6.4 ESTADO DE INTERRUPCIÓN DEL REGISTRO 2 Dirección $FE05 IF14: BANDAS DE INTERRUPCION Esta bandera indica cual fue la interrupción que ocurrió según la fuente que se ilustra en la tabla anterior los bits (0.6) siempre son leídos como cero (0).
13. 6.5 ESTADO DE INTERRUPCION DEL REGISTRO 3 Dirección $FE06 IF15: BANDERAS DE INTERRUPCION Esta bandera indica cual fue la interrupción que ocurrió según la fuente que se ilustra en la tabla anterior los bits (1.7) siempre son leídos como cero (0)
15. 6.6 LA INSTRUCCIÓN S.W.I La S.W.I es una instrucción no enmascarable que causa una interrupción indiferente del estado que posea el bit I (BIT bandera de interrupción), en la condición de registro de código. Una interrupción por software envía el PC (contador de programa) al stock. Una interrupción por software no aplica al PC = PC – 1, cosa que si hace una interrupción por hardware.
16. Todas las fuentes de reset son las que tienen igual o mayor prioridad sobre las demás y no pueden ser omitidas de ninguna forma. El reset obliga a que el bit I tome el valor “1” lógico y en “0” lógico todos los bits que permiten la habilitación de interrupciones locales a fin de prevenir interrupciones durante el proceso de inicialización. Cuando el bit I esta en uno (1) ninguna interrupción (excepto SWI) es reconocida. Aunque pueda registrarse a la fuente de interrupción, su pedido hasta que el bit I se ponga en cero (0). 6.7 RESET
17. Se debe tener en cuenta que si se produce una interrupción mientras la CPU está ejecutando una introducción, la introducción será completada antes de que la CPU responda al pedido de interrupción. Las interrupciones pueden ser deshabilitadas en conjunto colocando el bit I del CCR en “1” lógico, o colocando en ceros los bits de control de habilitación de cada fuente de interrupción
18. Una de las principales ventajas del uso de los microcontroladores freescale consiste en que el manejo de su conjunto de interrupciones, ya sean internas o externas, se encuentran totalmente sectorizadas, facilitando con ello la identificación de la interrupción, mayor rapidez de atención, mayor estructuración del software en forma modular, etc. Gracias a los riesgos de interrupción 3, 2 y 1 se puede también verificar en forma jerárquica a la ocurrencia de estos eventos que provocan la interrupción, definiendo el usuario la propiedad, aunque internamente el micro-controlador esta jerárquica ya esta preestablecida. Resumen del capitulo
19. Presentado por : Andres A. Niño N Tecnólogo en Automatización Industrial 148904 CIMM