C 1 Interrupciones V2
C 1 Interrupciones V2
FACULTAD DE INGENIERÍA
Microprocesadores y Microcontroladores
Interrupciones
Microcontroladores y Microprocesadores
I. INTRODUCCIÓN
Microcontroladores y Microprocesadores
CONCEPTOS GENERALES
Tiempo que transcurre entre la entrada de una señal que solicita un servicio
y el momento en que el servicio se inicia;
En sistemas digitales la latencia incluye los retardos por hardware más los
retardos por software;
Microcontroladores y Microprocesadores
CONCEPTOS GENERALES
Ciclo ciego
Sondeo en espera (polling)
Interrupción
Microcontroladores y Microprocesadores
MECANISMOS PARA SINCRONIZAR CON SEÑALES EXTERNAS
Inicio
Lee el dato
continua
Microcontroladores y Microprocesadores
MECANISMOS PARA SINCRONIZAR CON SEÑALES EXTERNAS
Inicio
Ocupado
Estatus
Listo
Lee el dato
continua
Microcontroladores y Microprocesadores
MECANISMOS PARA SINCRONIZAR CON SEÑALES EXTERNAS
Programa Principal
Recuperación del Regresa a
estado del programa
programa principal principal
Microcontroladores y Microprocesadores
INTERRUPCIONES EN PROCESADORES
Microcontroladores y Microprocesadores
INTERRUPCIONES EN PROCESADORES
Trigger CPU
“Disparo” Ejecución de programa
Evento de hardware
asíncrono a la ejecución
del programa
Transferencia de la
ejecución de software en
Evento de Hardware: respuesta al “Disparo”
Microcontroladores y Microprocesadores
INTERRUPCIONES EN PROCESADORES
Rutina de interrupción 2
.
.
Rutina de interrupción 3
Microcontroladores y Microprocesadores
INTERRUPCIONES EN PROCESADORES
Microcontroladores y Microprocesadores
INTERRUPCIONES EN PROCESADORES
Máscara global
Vector de
Puerto A Interrupciones
CPU
Puerto N
Trigger
“Disparo”
Evento de hardware
asíncrono a la ejecución del
programa
A/D
Timer
Máscaras locales
Microcontroladores y Microprocesadores
HABILITACIÓN DE UNA INTERRUPCIÓN
Microcontroladores y Microprocesadores
PROCESO DE DISPARO DE INTERRUPCIÓN
REGISTRO PRIMASK
CPU controla este bit
Vectores de 0- No enmascarado
Interrupción 1- Enmascarado
Registro de control global de interrupción
Petición de interrupción
(nivel CPU) ….. I …..
F ….. …..
E ….. …..
Registro de control de interrupción local
Adaptado de: Practical Microcontroller
Engineering with
ARM Technology
El bit E se puede validar por programación
Peg. 262
Microcontroladores y Microprocesadores
INTERRUPCIONES EN PROCESADORES
Microcontroladores y Microprocesadores
CONTROL DE INTERRUPCIONES
Microcontroladores y Microprocesadores
CONTROL DE INTERRUPCIONES
Microcontroladores y Microprocesadores
NVIC
Microcontroladores y Microprocesadores
REGISTRO DE PRIORIDAD DE INTERRUPCIÓN
Microcontroladores y Microprocesadores
REGISTROS DE PRIORIDAD DE INTERRUPCIONES
Microcontroladores y Microprocesadores
REGISTROS DE PRIORIDAD DE INTERRUPCIONES
Microcontroladores y Microprocesadores
HABILITACIÓN DE INTERRUPCIONES - P.153
• Base 0xE000.E000
• Register 4: Interrupt 0-31 Set Enable (EN0), offset 0x100
• Register 5: Interrupt 32-63 Set Enable (EN1), offset 0x104
• Register 6: Interrupt 64-95 Set Enable (EN2), offset 0x108
• Register 7: Interrupt 96-113 Set Enable (EN3), offset 0x10C
Microcontroladores y Microprocesadores
TABLA DE VECTORES
Microcontroladores y Microprocesadores
VECTOR TABLE AND VECTOR TABLE RELOCATION
Microcontroladores y Microprocesadores
TABLA DE VECTORES
Microcontroladores y Microprocesadores
INTERRUPCIONES EN CORTEX-M
Procesador
Cortex-M
Microcontroladores y Microprocesadores
NVIC EN PROCESADOR ARM CORTEX-M
Microcontroladores y Microprocesadores
TABLA DE VECTORES DE INTERRUPCIÓN
Microcontroladores y Microprocesadores
TABLA DE VECTORES DE INTERRUPCIÓN - P.116
IRQ
Microcontroladores y Microprocesadores
TABLA DE VECTORES DE INTERRUPCIÓN - P.116
Microcontroladores y Microprocesadores
TABLA DE VECTORES DE INTERRUPCION
Microcontroladores y Microprocesadores
NVIC EN PROCESADOR ARM CORTEX-M
Microcontroladores y Microprocesadores
INTERRUPCIONES
Microcontroladores y Microprocesadores
INTERRUPCIONES
I 0 I 0
RAM RAM
IPSR 0 IPSR 61
R0 viejo
R1 viejo
BASEPRI 0 BASEPRI 0 R2 viejo
R3 viejo
.
Transición .
Termina la instrucción R12 viejo
a) Guarda registros LR viejo
b) PC = 0x00000051 PC viejo
PSR viejo
c) IPSR = 61
Stack d) LR =0xFFFFFFF9
Stack
Microcontroladores y Microprocesadores
INTERRUPCIONES
Microcontroladores y Microprocesadores
RESUMEN INTERRUPCION
2. Habilitar el NVIC;
5. Disparar la interrupción;
Microcontroladores y Microprocesadores