Vous êtes sur la page 1sur 21

Unidad Didctica 3: Microcontroladores & Interrupciones

Sistemas embebidos para tiempo real

Sistemas embebidos de tiempo real - Microcontroladores

ndice
Primera clase
Repaso Arquitectura de microcontroladores Comparacin AVR vs. MSP430

Segunda clase
Fundamentos de las Interrupciones Problema de datos compartidos Latencia en las interrupciones

Tercera clase
Soluciones al problema de los datos compartidos
Sistemas embebidos de tiempo real - Microcontroladores 2

Arquitectura de microprocesadores
Repaso: P vs. C, CPU, tamao de palabra. Arquitectura
RISC vs. CISC Harvard vs. von Neuman

Comparacin AVR vs. MSP430

Sistemas embebidos de tiempo real - Microcontroladores

Procesadores vs. Controladores

Figura modificada de Fundamentals of Microcontrollers de John Donovan (NXP)

Sistemas embebidos de tiempo real - Microcontroladores

CPU: unidad central de proc. (core)


Tipos:

Figura extraida de Fundamentals of Microcontrollers de John Donovan (NXP)

Acumulador Registros Pila (stack)

Sistemas embebidos de tiempo real - Microcontroladores

CPU: pipeline (entubado de instr.)

Figuras extraidas de http://es.wikipedia.org/wiki/Unidad_central_de_procesamiento

Sistemas embebidos de tiempo real - Microcontroladores

Tamao de palabra

Bus de datos Bus de direcciones


Figura extraida de Fundamentals of Microcontrollers de John Donovan (NXP)

Sistemas embebidos de tiempo real - Microcontroladores

Procesadores CISC vs. RISC


Complex Instruction Set Computing Reduced Instruction Set Computing

Figura modificada de Fundamentals of Microcontrollers de John Donovan (NXP)

Sistemas embebidos de tiempo real - Microcontroladores

Procesadores CISC vs. RISC


Procesador CISC (Complex Instruction Set Computing)
instrucciones de largo variable decodificacin de instrucciones complejo (microcoding) nmero de ciclos de reloj de ejecucin variable
Ejemplo: shift and rotate (2 ciclos), integer multiply (~ 80)

Procesador RISC (Reduced Instruction Set Computing)


conjunto de instrucciones reducidas y ortogonal instrucciones de tamao fijo (o vara muy poco) y similar formato decodificacin de instrucciones ms fcil ejecuta misma (aprox.) cantidad de ciclos

Sistemas embebidos de tiempo real - Microcontroladores

Arquitectura Harvard vs. von Neumann

Figura modificada de Fundamentals of Microcontrollers de John Donovan (NXP)

Sistemas embebidos de tiempo real - Microcontroladores

10

Arquitectura Harvard vs. von Neumann


Arquitectura Harvard
Memorias de cdigo y datos
espacio de memoria diferentes caminos separados (exclusivos) hacia la CPU.

Ms rpida

Arquitectura von Neumann


Cdigo y datos son mapeados en uno solo espacio. Ms flexible:
Fcilmente puede escribir en memoria e cdigo Pueden ejecutar cdigo desde RAM

Arquitectura Harvard modificada


Contenido de la memoria de cdigo puede ser leda como datos.
Sistemas embebidos de tiempo real - Microcontroladores 11

Controlador de interrupciones

Fuente: Figura modificada de Fundamentals of Microcontrollers de John Donovan (NXP)

Fundamental imporancia
seal asncrona1 flujo de ejecucion del programa arquitectura de software
1

Tambin sincrona para implementar llamadas al sistema


12

Sistemas embebidos de tiempo real - Microcontroladores

Modos de operacin
idle active pwr-dwn

standby

...

Idea bsica:
Modos de bajo consumo: CPU y perifricos no usados. Prever mecanismo para reactivarse. Modo de operacin compatible con arquitectura
Sistemas embebidos de tiempo real - Microcontroladores 13

I/O: interfaces seriales


asncorono
UART (Unversal Asynchronous Receiver / Trasmitter)

sncronos
SPI (Serial Peripheral Interface) I2C (Inter Intergratd Circuit)

avanzados:
USB (Universal Serial Bus) CAN (Controller Area NEtwork) Ethernet IEEE 802.15.4/Zigbee

Actividad en grupo
Contrapunto de microcontroladores: ATmega vs. MSP430 Actividad
Comparar los microcontroladores: ATmega vs. MSP430 segn:
Tipo procesador, N-bits, frecuencia mxima Arquitectura y mapa de memoria Registros (cantidad, uso, etc.) PC+ SR + SP Modos de direccionamiento Instruction set Modos de bajo consumo

Grupos:
MSP430 AVR

Materiales
Manuales correspondientes

Tabla comparativa
Atmega (AVR)
Arq. procesador Frec. Mxima Tamao de palabra ... Modos de operac.

MSP430

Sistemas embebidos de tiempo real - Microcontroladores

16

Ejemplo de microcontrolador

CPU
Figura modificada de: "ATmega32 (L) datasheet (Figure 2. Block Diagram, page 3)

MCU (C Unit): CPU + memoria + IO +

Fuente: "ATmega32 (L) datasheet (Figure 2. Block Diagram, page 3)

Sistemas embebidos de tiempo real - Microcontroladores

17

Actividad en grupo
Compilacin manual
Actividad
Bosquejar el cdigo assembler del siguiente cdigo C Contabilizar:
memoria ciclos
int a, b, c; int { a b c } main( void ) = 1; = 2; = a + b;

Grupos:
MSP430 AVR (Atmega)

Materiales
Manuales correspondientes

Puesta en comn
Comparacin programas: complejidad, ciclos reloj, cant. mem.
Sistemas embebidos de tiempo real - Microcontroladores 18

Comparacin
AVR (Atmega) MSP430

Sistemas embebidos de tiempo real - Microcontroladores

19

Comparacin
AVR (Atmega)
ciclos: 139-104 = 35 memoria codigo: 44 (00000006-00000031, 0x2c bytes)

MSP430
ciclos: 95-74 = 21 memoria codigo: 22 (021E 0233, 0x16 bytes)

Sistemas embebidos de tiempo real - Microcontroladores

20

Bibliografa
An Embedded Software PrimerDavid E. Simon
Chapter 4: Interrupts

MSP430x1xx Familiy User's Guide ATmega32 (L)

Sistemas embebidos de tiempo real - Microcontroladores

21

Vous aimerez peut-être aussi