RESETS & INTERRUPCIONES



Documentos relacionados
RESETS & INTERRUPCIONES

MONITOR ROM MODULE (MON08)

Control remoto del EDUKIT08 vía PC...

Winide y Kit EVALQTY CDM 2011

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Reset e interrupciones

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso de Microcontroladores Familia HC908 Flash de Freescale Parte II. CPU08 Core ING. DANIEL DI LELLA

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Señal de petición de Interrupción

FLASH-POD. Características. Aplicaciones. Descripción general. Emulador en Tiempo Real FLASH-POD. FLASH-POD

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Diseño con Microcontroladores

Como sacarle mayor provecho a las herramientas disponibles para la familia HC908

TEMA III - Interrupciones en Sistemas en Tiempo Real

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Entrada salida y comunicación

MC. Christian Aldaco González. Microcontroladores

Fundamentos de Computadores I

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Buceando en el HC908...

Conmutación de Tareas

Arquitectura de Computadores

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

INTRODUCCIÓN. Interrupciones.

SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO

Estructura de Computadores

Entrada/Salida. Polling e Interrupciones. Verano de Mariano Moscato. Organización del Computador 1

Unidad 1: Conceptos generales de Sistemas Operativos.

Microcontroladores de Atmel

4. Control de inventario. Asistente LAN+PC

INTRODUCCIÓN A LOS MICROPROCESADORES

Tema 4. Gestión de entrada/salida

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

DESCRIPCION DEL SITEMA MASTER.

Tema. Módulo Captura Comparación Modulación n de Achura de Pulsos. C. F. G.S. D.P.E. Módulo de Proyectos 1

Tema 8: Organización de la Entrada/salida

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

Sistemas con Microcontroladores y Microprocesadores

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas

Determinación del nivel de influencia

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Temporizadores y contadores en tiempo real: El módulo Timer0 y el prescaler del PIC

Información comercial sobre el Software de Captura de datos de Almacén INVSCAN+ para gestión de stocks.

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Tema 7. SISTEMAS SECUENCIALES SISTEMAS SECUENCIALES SÍNCRONOS

Convivencia. Gestión del Sistema de Entrada/Salida

Como sacarle mayor provecho a las herramientas disponibles para la familia HC908

Anexo B. Comunicaciones entre mc y PC

Entorno de Ejecución del Procesador Intel Pentium

Qué es un Microcontrolador?

Técnicas Digitales III

La memoria principal. Los subsistemas de E/S. Los buses del sistema

Control Digital en PC con MS-DOS

TeCS. Sistema de ayuda a la gestión del desarrollo de producto cerámico

Soluciones de Seguridad de Freescale 1ª parte: VKSP (Variable Key Security Protocol)

Q-flow Patrones básicos de Workflow

Interrupciones. Sistemas con Microcontroladores y Microprocesadores.

6-REGISTROS DEL 8086 Y DEL 80286

Sistemas Digitales basados en Microprocesador

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Microcontroladores de 32 bits ARM... O como no temerle al cambio!!

Aspel-PROD 3.0 Aspel-PROD 3.0 SAE 6.0 SAE 6.0

5. SECCIÓN DEL MICROCONTROLADOR (PROGRAMACIÓN)

SISTEMA DE SUPERVISION PARA ASCENSORES SSAx-WIN

Tema 9: Interrupciones

Hablemos de MCU s... Practicando con el CodeWarrior 5.1/6.x y el sistema R(S)_POD... COMENTARIO TECNICO

REGISTROS DE DESPLAZAMIENTO

Guía de práctica. Dispositivo

Microcontroladores PIC de Microchip: generalidades

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

+++OK atis C E. CTC-072, Utilización de XBee Wi-Fi para sensores remotos

Control, Instrumentación e Instalaciones Ingeniería Ambiental

(SPI) Módulo Serial Sincrónico

Funcionalidades Software PROYECTOS GotelGest.Net Software para la gestión de Proyectos GotelGest.Net

Introducción a la Entrada/Salida

Otros Lenguajes de Programación

Práctica 4 - Arquitectura CPU

TARJETA CONVERSORA ANALOGA/DIGITAL (A/D)

3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE EL PLC 5. EJEMPLO DE RECEPCIÓN DE SMS EN EL PLC

Cartilla para Microcontrolador PIC16F /40 Pin 8-Bit CMOS FLASH.

El soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.

Motorola MC68HC908JK3/JK1

ATIENDE Registro de la atención de un cliente

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

...La herramienta universal para MCUs Freescale que el mercado esperaba!!!

Instrucciones de Comunicaciones

MÓDULO DE EXPANSIÓN DW-GSM. Manual de usuario

MC68HC908GP32 Diagrama en Bloques INTERNAL BUS

Estructura de datos y de la información Boletín de problemas - Tema 7

Microchip Tips & Tricks...

Capítulo 1 Introducción a la Computación

BLOQUE 3. Enrique Mandado Pérez María José Moure Rodríguez. Microcontroladores

Transcripción:

RESETS & INTERRUPCIONES EN EL CPU08

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 External Pin COP LVI Illegal Address Illegal Opcode Las Interrupciones suspenden el procesamiento normal para que el CPU pueda realizar algunos servicios requeridos!!!!. Fuentes de Interrupciones: IRQ external PIN IRQ / KBI SCI SPI TIM _ ADC CGM (PLL) SWI

Procesando Excepciones (Interrupciones) Procesado de la excepción Programa de Aplicación Excepción 1) Salva el Contexto (stacking) 2) Busca la nueva dirección (Tabla de Vectores) 3) Carga dirección en PC Manejador de Excepciones Continúa con la ejecución del programa en PC + 1 Restablece el antiguo Contexto!!! (Registros importantes) RTI Ultima instrucción en toda sub rutina de interrupción...

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

Procesando Excepciones - Reconocimiento - Detección de Reset o Interrupciones pendientes Resets: Es reconocida y ejecutada inmediatamente una vez ingresada (no hay sincronizmo, es una excepción imperativa ). Interrupciones: Es reconocida durante el último ciclo de la instrucción corriente. Al menos que ingrese durante el último ciclo Entonces será reconocida durante el último ciclo de la próxima instrucción. Actua despues del último ciclo de la instrucción corriente. Hay sincronizmo.

Procesando Excepciones - Arbitraje - Resets: Determinación de igual y más alta prioridad No hay arbitraje!! Interrupciones: Diferiendo prioridades Mas bajas que los resets Realizado por el SIM

Procesando Excepciones - Stacking (apilado de registros en RAM) - Salvando la información del CPU... Resets: No se realiza stacking (apilado), ya que no es necesario salvar registros. MAPA DEL STACK EN RAM Se resetea el estado del CPU (a estados (Registros del CPU) conocidos) Lower Address Interrupciones: Stacks (apila) registros del CPU PC, X, A, CCR (en forma automática) El registro H no es apilado para mantener compatibilidad con HC705!!. Usar instrucciones PULL H & PUSH H para ello. Stack Pointer (SP) I N T E R R U P T Condition Code Register Accumulator Index Register X Program Counter (H) Program Counter (L) Higher Address R E T U R N

Stacking (apilado de registros en RAM)... Las familias de MCUs de 8 bits de Freescale (HC705 / HC908 / HC9S08) poseen un manejo muy poderoso de las interrupciones, pudiendo atender decenas de ellas en forma muy flexible y eficiente. A diferencia de otros microcontroladores, cada vez que se atiende el pedido de una interrupción, el CPU salva el contexto (registros importantes) en forma automática sin intervención del software del usuario y lo guarda (apilado / Stack) en RAM ocupando 5 bytes de la misma (para las interrupciones y 3 bytes para las sub rutinas). Los MCUs Freescale pueden utilizar TODA el espacio de memoria RAM para almacenar los registros de cada interrupción atendida y en curso, lo que permite manejar una gran cantidad de interrupciones o sub rutinas anidadas en forma flexible. La única precaución a tomar es LIMITAR la cantidad de interrupciones o sub rutinas anidadas evitando que el apilado de registros pise espacio de memoria en RAM RESERVADO para las VARIABLES utilizadas en el programa. Otra característica importante en los MCUs Freescale es que poseen Interrupciones Vectorizadas para cada módulo o periférico en los mismos, otorgandole eficiencia y flexibilidad al armado de rutinas para cada módulo.

Procesando Excepciones - Busqueda de Vectores - Más baja prioridad!!! 68HC908GP32 Vector Table $FFDC - $FFDD Timebase $FFDE - $FFDF ADC conv. complete $FFE0 - $FFE1 Keyboard pins RESETS: Todas usan el mismo vector (igual dirección) Puede determinarse la fuente del Reset examinando un registro del SIM ( SIM Reset Status Register ) SRSR $FFE2 - $FFE3 $FFE4 - $FFE5 $FFE6 - $FFE7 $FFE8 - $FFE9 $FFEA - $FFEB SCI Tx Empty /complete SCI Rx full/idle SCI Errors SPI Tx Empty SPI Rx full/over/fault Interrupciones: El Vector depende de la fuente de interrupción!!! $FFEC - $FFED TIM2 Overflow $FFEE - $FFEF TIM2 Channel 1 $FFF0 - $FFF1 TIM2 Channel 0 $FFF2 - $FFF3 TIM1 overflow $FFF4 - $FFF5 TIM1 Channel 1 $FFF6 - $FFF7 TIM1 Channel 0 Más alta prioridad!!! $FFF8 - $FFF9 $FFFA - $FFFB $FFFC - $FFFD $FFFE - $FFFF CGM (PLL) IRQ pin SWI Instruction RESET

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 módulos. Ver registros individualmente para el estado de reset. Carga el Stack Pointer con $00FF Monitor Usuario Modo? Estado especial que posee el MCU HC908!! Pionero en su tipo!! Busqueda Reset Vector desde $FFFE - $FFFF Busqueda del Reset vector desde $FEFE-$FEFF Carga el PC con el contenido del Reset Vector Comienzo ejecución

Interrupción 1 Procesando la Interrupción Diagrama de Flujo del proceso Ultimo ciclo de la instrucción corriente Completa la busqueda de la próxima instrucción (redund) Stakeo del Program Counter Stackeo del Index Register X RTI Completa la busqueda de la próxima intrucción ( NO usada ) Repone el C. C. R desde el stack Repone el Acumulador desde el stack Repone el Index Register X del stack Nota: Index register H no se salva en el stack en forma automática. Stackeo del Acumulador Stackeo del C. C. R. Repone el PC desde el stack Busqueda de la próxima instrucción El I-bit se limpia por la reposición del C.C.R. Desde Seteo del I bit para prevenir Interrupciones. Busqueda del Vector 1 si Interrupción Pendiente? el stack (al ejecutar la instrucción RTI) Carga el PC con el contenido delvector Comienzo la ejecución del servicio de la interrupción no Primer ciclo de la próxima instrucción

Enmascaramiento (Masking) Habilitación / Deshabilitación 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 periféricos que permiten enmascarar individualmente interrupciones. Disparo de Interrupciones Externas por Flanco o por Flanco & Nivel. Fin Capítulo 6!!