Sie sind auf Seite 1von 11

RESETS & INTERRUPCIONES EN EL CPU08

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II


ING. DANIEL DI LELLA DDFAE For Motorola Products

Resets & Interrupciones


Los Resets inicializan al CPU a un estado conocido !!!!. Todos los resets son manejados por medio del System Integration Module (S.I.M ) Tipos de Resets: Power On COP Illegal Address External Pin LVI Illegal Opcode

Las Interrupciones suspenden el procesamiento normal para que el CPU pueda realizar algunos servicios requeridos !!!!. Fuentes de Interrupciones: IRQ external PIN SCI TIM CGM (PLL) _ IRQ / KBI SPI ADC SWI

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II


ING. DANIEL DI LELLA DDFAE For Motorola Products

Procesando Excepciones

Procesado de la excepcin
1) Salva el Contexto (stacking) Programa de Aplicacin 2) Busca la nueva direccin (Tabla de Vectores) 3) Carga direccin en PC Excepcin Manejador de Excepciones

RTI

Restablece el antiguo Contexto !!!

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II


ING. DANIEL DI LELLA DDFAE For Motorola Products

Procesando Excepciones
Resets e Interrupciones son excepciones del CPU (al proceso normal) , o sea rompen con la secuencialidad normal de la ejecucin de un programa. Determinando que tipo de manejo se requiere, se llama al proceso de excepcin. El procesado de la excepcin es manejado a traves de tareas discretas. Diferencias para el reconocimiento en el resets y las interrupciones Arbitraje Stacking (apilado) Busqueda de vectores.

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II


ING. DANIEL DI LELLA DDFAE For Motorola Products

Procesando Excepciones - Reconocimiento -

Deteccin de Reset o Interrupciones pendientes Resets: Es reconocida y ejecutada inmediatamente una vez ingresada (no hay sincronizmo, es una excepcin imperativa).

Interrupciones: Es reconocida durante el ltimo ciclo de la instruccin corriente. Al menos que ingrese durante el ltimo ciclo Entonces ser reconocida durante el ltimo ciclo de la prxima instruccin. Actua despues del ltimo ciclo de la instruccin corriente. Hay sincronizmo.

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II


ING. DANIEL DI LELLA DDFAE For Motorola Products

Procesando Excepciones - Arbitraje Resets: Determinacin de igual y ms alta prioridad No arbitraje !!

Interrupciones: Diferiendo prioridades Mas bajas que los resets Realizado por el SIM

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II


ING. DANIEL DI LELLA DDFAE For Motorola Products

Procesando Excepciones - Stacking (apilado) Salvando la informacin del CPU.... Resets: No se realiza stacking (apilado), ya que no es necesario salvar registros. Se resetea el estado del CPU (a estados conocidos) Interrupciones: Stacks (apila) registros del CPU PC, X, A, CCR El registro H no es apilado para mantener compatibilidad con HC705 !!. Usar instrucciones PULL H & PUSH H para ello. I N T E R R U P T MAPA DEL STACK EN RAM (Registros del CPU) Lower Address Condition Code Register Accumulator Index Register X Program Counter (H) Program Counter (L) Higher Address
Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II
ING. DANIEL DI LELLA DDFAE For Motorola Products

R E T U R N

Procesando Excepciones - Busqueda de Vectores Ms baja prioridad !!!

68HC908GP32 Vector Table


$FFDC - $FFDD $FFDE - $FFDF $FFE0 - $FFE1 $FFE2 - $FFE3 $FFE4 - $FFE5 $FFE6 - $FFE7 $FFE8 - $FFE9 $FFEA - $FFEB $FFEC - $FFED Timebase ADC conv. complete Keyboard pins SCI Tx Empty /complete SCI Rx full/idle SCI Errors SPI Tx Empty SPI Rx full/over/fault TIM2 Overflow TIM2 Channel 1 TIM2 Channel 0 TIM1 overflow TIM1 Channel 1 TIM1 Channel 0 CGM (PLL) IRQ pin SWI Instruction RESET

RESETS: Todas usan el mismo vector (igual direccin) Puede determinarse la fuente del Reset examinando un registro del SIM ( SIM Reset Status Register ) SRSR

Interrupciones: El Vector depende de la fuente de interrupcin !!!

$FFEE - $FFEF $FFF0 - $FFF1 $FFF2 - $FFF3 $FFF4 - $FFF5 $FFF6 - $FFF7 $FFF8 - $FFF9 $FFFA - $FFFB Ms alta prioridad !!! $FFFC - $FFFD $FFFE - $FFFF

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II

ING. DANIEL DI LELLA DDFAE For Motorola Products

Procesando el RESET
Diagrama de Flujo del proceso

RESET

Seteo I-bit en CCR para prevenir interrupciones Reset de registros internos. Incluye CPU y registros de los sub mdulos. Ver registros individualmente para el estado de reset. Carga el Stack Pointer con $00FF Usuario Monitor Modo? Busqueda del Reset vector desde $FEFE-$FEFF

Busqueda Reset Vector desde $FFFE - $FFFF

Carga el PC con el contenido del Reset Vector Comienzo ejecucin


ING. DANIEL DI LELLA DDFAE For Motorola Products

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II

Procesando la Interrupcin
Interrupcin
Ultimo ciclo de la instruccin corriente Completa la busqueda de la prxima instruccin (redund)

1
Completa la busqueda de la prxima intruccin ( NO usada ) Repone el C. C. R desde el stack

Diagrama de Flujo del proceso

Nota: Index register H no se salva en el stack en

RTI

Stakeo del Program Counter Stackeo del Index Register X Stackeo del Acumulador Stackeo del C . C. R. Seteo del I bit para prevenir Interrupciones. Busqueda del Vector Carga el PC con el contenido delvector Comienzo la ejecucin del servicio de la interrupcin

Repone el Acumulador desde el stack Repone el Index Register X del stack Repone el PC desde el stack Busqueda de la prxima instruccin

forma automtica .

El I-bit se limpia por la reposicin del C.C.R. Desde el stack (al ejecutar la instruccin RTI)

si

Interrupcin Pendiente?

no
Primer ciclo de la prxima instruccin

Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II


ING. DANIEL DI LELLA DDFAE For Motorola Products

Enmascaramiento (Masking)

Habilitacin / Deshabilitacin del procesamiento de excepciones.

Resets:
NO puede ser enmascarado (No puede ser impedido!!!.)

Interrupciones:
Pueden ser enmascaradas (pueden ser impedidas !!!) I bit habilita/deshabilita TODAS las interrupciones a procesar Mascaras Locales en perifricos que permiten enmascarar individualmente interrupciones. Disparo de Interrupciones Externas por Flanco o por Flanco & Nivel.

Fin Captulo 6 !!
Curso de Microcontroladores Familia HC908 Flash de Motorola Parte II
ING. DANIEL DI LELLA DDFAE For Motorola Products

Das könnte Ihnen auch gefallen