Sei sulla pagina 1di 23

SISTEMAS EMBEBIDOS - ROBÓTICA

Unidad 3.1 – Microcontroladores e interrupciones

Photo by Tim Simpson


Índice

 Repaso: µP vs. µC, CPU, tamaño de palabra


 Arquitectura
RISC vs. CISC
Harvard vs. von Neumann
 Comparación AVR vs. MSP430

UTN-FRBA
Sistemas embebidos Página 2
µProcesadores vs. µControladores

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

UTN-FRBA
Sistemas embebidos Página 3
CPU: unidad central de procesamiento (core)

 Tipos:
Acumulador
Registros
Pila (stack)

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

UTN-FRBA
Sistemas embebidos Página 4
CPU: pipeline (entubado de instr.)

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

UTN-FRBA
Sistemas embebidos Página 5
Tamaño de palabra

 Bus de datos
 Bus de direcciones

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

UTN-FRBA
Sistemas embebidos Página 6
Procesadores CISC vs. RISC

 Complex Instruction Set Computing Reduced Instruction Set


Computing

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

UTN-FRBA
Sistemas embebidos Página 7
Procesadores CISC vs. RISC

 Procesador CISC (Complex Instruction Set Computing)


Instrucciones de largo variable
Decodificación de instrucciones complejo (microcoding)
Número de ciclos de reloj de ejecución variable
Ejemplo: shift and rotate (2 ciclos), integer multiply (~ 80)

 Procesador RISC (Reduced Instruction Set Computing)


Conjunto de instrucciones reducidas y ortogonal
Instrucciones de tamaño fijo (o varía muy poco) y similar formato
Decodificación de instrucciones más fácil
Ejecuta misma (aprox.) cantidad de ciclos

UTN-FRBA
Sistemas embebidos Página 8
Arquitectura Harvard vs. von Neumann

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

UTN-FRBA
Sistemas embebidos Página 9
Arquitectura Harvard vs. von Neumann

 Arquitectura Harvard
Memorias de código y datos
espacio de memoria diferentes
caminos separados (exclusivos) hacia la CPU
Más rápida
 Arquitectura von Neumann
Código y datos son mapeados en uno solo espacio
Más flexible:
Fácilmente puede escribir en memoria de código
Pueden ejecutar código desde RAM
 Arquitectura Harvard modificada
Contenido de la memoria de código puede ser leída como datos

UTN-FRBA
Sistemas embebidos Página 10
Controlador de interrupciones

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

 Fundamental importancia
Señal asíncrona1
Flujo de ejecución del programa
Arquitectura de software
1
También sincrona para implementar llamadas al sistema

UTN-FRBA
Sistemas embebidos Página 11
Modos de operación

idle active pwr-dwn

standby
...

 Idea básica:
Modos de bajo consumo: CPU y periféricos no usados
Prever mecanismo para reactivarse
Modo de operación compatible con arquitectura

UTN-FRBA
Sistemas embebidos Página 12
I/O: interfaces

 Seriales
Asíncrono
UART (Universal Asynchronous Receiver / Trasmitter)
Síncronos
SPI (Serial Peripheral Interface)
I2C (Inter Intergratd Circuit)

 Más complejos y mayores funcionalidades:


USB (Universal Serial Bus)
CAN (Controller Area Network)
Ethernet
IEEE 802.15.4/Zigbee

UTN-FRBA
Sistemas embebidos Página 13
Actividad en grupo

 Contrapunto de µC: ATmega vs. MSP430


 Actividad: comparar los micros según:
Tipo procesador, N-bits, frecuencia máxima
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

UTN-FRBA
Sistemas embebidos Página 14
Tabla comparativa

Atmega (AVR) MSP430


Arq. procesador
Frec. Máxima

Tamaño de palabra

...

Modos de operac.

UTN-FRBA
Sistemas embebidos Página 15
Ejemplo de microcontrolador

MCU (µC Unit):


CPU + memoria + IO +…

Fig ura m od ific ad a d e : "ATmega32 (L)“ datash eet (Fig ure 2 . Fuente : "ATmega32 (L)“ da ta sh eet (Figu re 2 . Block Diagram, page 3)
Block Diagram, page 3)

UTN-FRBA
Sistemas embebidos Página 16
Ejemplo de microcontrolador

Fuente : "M SP4 3 0 x 2 x x Fam ily User's G uide “ (file: SLAU1 4 4 H.pdf) Fig ure 1 -1. M SP4 3 0 Architec ture, pa ge 2 6 .

UTN-FRBA
Sistemas embebidos Página 17
Ejemplo de microcontrolador

Fuente : "MSP4 3 0 G 2 x 5 3 M SP4 3 0 G 2 x 1 3 M IX ED SIG NA L M IC ROC .“ (file: SLA S7 3 5 J.p df) Functional B lock D iag ram , M SP4 3 0 G 2 x 5 3 , p ag e 5 .

UTN-FRBA
Sistemas embebidos Página 18
Actividad en grupo

 Compilación “manual”
Actividad
Bosquejar el código assembler del siguiente código C
Contabilizar:
 Memoria int a, b, c;

 Ciclos int main ( void )


{
Grupos: a = 1;
b = 2;
MSP430 c = a + b;
}
AVR (Atmega)
Materiales
Manuales correspondientes
Puesta en común
Comparación programas: complejidad, ciclos reloj, cant. mem.

UTN-FRBA
Sistemas embebidos Página 19
Comparación

 AVR (Atmega)  MSP430

UTN-FRBA
Sistemas embebidos Página 20
Comparación

 AVR (Atmega)
Ciclos: 139-104 = 35
Memoria código: 44 (0006-0031, 0x2c bytes)

 MSP430
Ciclos: 95-74 = 21
Memoria código: 22 (021E – 0233, 0x16 bytes)

UTN-FRBA
Sistemas embebidos Página 21
Bibliografía

 “An Embedded Software Primer”


David E. Simon
 “MSP430x2xx Familiy User's Guide”
 “ATmega32 (L)”

UTN-FRBA
Sistemas embebidos Página 22
¡Muchas gracias por su atención!

UTN-FRBA
Sistemas embebidos Página 23

Potrebbero piacerti anche