Class 2 MCU Generalidades 14 02

45
Presentación general 2 UNIVERSIDAD DE ANTIOQUIA FACULTAD DE INGENIERÍA. Electrónica Digital III Ingo. Eugenio Duque Pérez Septiembre 23 del 2014

description

digitales 3

Transcript of Class 2 MCU Generalidades 14 02

Page 1: Class 2 MCU Generalidades 14 02

Presentación general 2

UNIVERSIDAD DE ANTIOQUIAFACULTAD DE INGENIERÍA.

Electrónica Digital III

Ingo. Eugenio Duque Pérez

Septiembre 23 del 2014

Page 2: Class 2 MCU Generalidades 14 02

Sistema Embebido… ¿Qué es? ¿Para qué se usa? La era Post-PC. Requisitos. Términos.

Reactivos, Tiempo Real, … Fiabilidad, Mantenibilidad, … Eficiencia, Aplicaciones, …

ENTORNOENTORNOSistema EmbebidoSistema Embebido

Sistema EmbebidoSistema Embebido

Page 3: Class 2 MCU Generalidades 14 02

Diagrama de bloques básico de un procesador

Diagrama de bloques básico de un procesador

Búsqueda de instrucciones

Decodificador de instrucciones

Registros internos

Interfaz a memoria y

E/SClock

Bus

ALU

Page 4: Class 2 MCU Generalidades 14 02

MCU. Diagrama de bloques

Bus

Page 5: Class 2 MCU Generalidades 14 02

Pequeño sistema digital programable de propósito específica dedicado al control de procesos.

Trabajan en tiempo real y evitan mecanismos predictivos de los MPU(como cachés y ejecuciones predictivas).

Detectan y reaccionan a eventos externos, en muy pocos ciclos de reloj, accediendo directamente los recursos hardware del sistema, evitando los Sistemas Operativos, aunque a veces los usan en tiempo real RTOS(Real Time Operating System)

¿Características del MCU?¿Características del MCU?

Page 6: Class 2 MCU Generalidades 14 02

Están diseñados para trabajar con el mínimo gasto energético, operando en modos de bajo consumo o manejando adecuadamente la frecuencia.

Se encuentran en el mercado MCUs de 4,8,16 y 32 bits, fabricados con tecnologías no muy recientes, lo que implica muy bajos costos.

Suelen ofrecer amplio rango de periféricos (temporizadores, puertos paralelos, puertos serie, conversor A/D y D/A,PWM) y algunos más complejos para conexión a redes, sistemas industriales, manejo de video, interfaz de RF, etc.

¿Características del MCU?¿Características del MCU?

Page 7: Class 2 MCU Generalidades 14 02

A continuación…A continuación…

Modificación del entorno desde el S.E.

Procesamiento y Almacenamiento

Comunicación de datos entre S.E. y el entorno

Toma de datos del entorno

Diseño de S.E. y HardwareDiseño de S.E. y Hardware

Page 8: Class 2 MCU Generalidades 14 02

Metodología de Diseño

ESPECIFICACIÓNESPECIFICACIÓN

CO

NO

CIM

IEN

TO

S P

RE

VIO

SC

ON

OC

IMIE

NT

OS

PR

EV

IOS

HW-COMPONENTESHW-COMPONENTES

SOFTWARESOFTWARE

IMPLEMENTACIÓN: CODIS. HW/SW•Particionar Hardware/Software•Administración de Eventos.•Múltiples tareas, concurrencia.•Compilación, Simulación.•Uso de bajo nivel (si es requerido)

IMPLEMENTACIÓN: CODIS. HW/SW•Particionar Hardware/Software•Administración de Eventos.•Múltiples tareas, concurrencia.•Compilación, Simulación.•Uso de bajo nivel (si es requerido)

REALIZACIÓNREALIZACIÓN

DISEÑO HARDWAREDISEÑO HARDWARE HARDWAREHARDWARE

SOFTWARESOFTWARE

VALIDACIÓN Y EVALUACIÓN: DESEMPEÑO, CONSUMO DE POTENCIA, SEGURIDAD, CONFIABILIDAD, GUSTO AL CLIENTE

VALIDACIÓN Y EVALUACIÓN: DESEMPEÑO, CONSUMO DE POTENCIA, SEGURIDAD, CONFIABILIDAD, GUSTO AL CLIENTE

Diseño de S.E. y HardwareDiseño de S.E. y Hardware

Page 9: Class 2 MCU Generalidades 14 02

Hardware Menos estandarizado que el de un PC. Razón: Variedad de Sistemas Embebidos.

Diferentes configuraciones de Hardware para la diversidad de aplicaciones existentes.

En muchos sistemas embebidos se tiene:

ENTORNOENTORNO

PROCESAMIENTO DEINFORMACIÓN

PROCESAMIENTO DEINFORMACIÓN

SENSORESSENSORES

CONVERSOR A/DMUESTREO Y RETENCIÓN

CONVERSOR A/DMUESTREO Y RETENCIÓN

DISPLAYDISPLAY

CONVERSOR D/ACONVERSOR D/A

ACTUADORESACTUADORES

Diseño de S.E. y HardwareDiseño de S.E. y Hardware

Page 10: Class 2 MCU Generalidades 14 02

Hardware Básico Existe un entorno que posee diversas características. Se implementa un sistema que puede procesar la

información:Los datos se toman con Sensores.El sistema procesa datos discretos: Sample and

Hold.Los datos procesados se pueden Visualizar.Para controlar el entorno se requiere de Señales

Análogas que hagan lo propio con la operación de los Actuadores. Se requiere muchas veces el uso de D/A.

Diseño de S.E. y HardwareDiseño de S.E. y Hardware

Page 11: Class 2 MCU Generalidades 14 02

A continuación…A continuación…

Modificación del entorno desde el S.E.

Procesamiento y Almacenamiento

Comunicación de datos entre S.E. y el entorno

Toma de datos del entorno

Diseño de S.E. y Hardware

Toma de datos del entorno

Page 12: Class 2 MCU Generalidades 14 02

Toma de datos del entornoToma de datos del entorno

SensoresSirven para Virtualizar una Cantidad Física.Su función:

SENSORSENSOR

PesoVelocidadAceleraciónLluviaImágenesTemperaturaVoltaje/Corriente

Voltaje

Corriente

Conjunto de valores continuo.

Page 13: Class 2 MCU Generalidades 14 02

Muestreo y Retención Pasar de tiempo continuo a tiempo discreto. Se muestrea a determinada frecuencia f. Se toma el voltaje de entrada y se mantiene hasta la

próxima muestra. Colección de valores finita.

Amplitud

Tiempo

Clk

Ve Vx

Toma de datos del entornoToma de datos del entorno

Page 14: Class 2 MCU Generalidades 14 02

Conversor A/DMuestreo, Referencia, cuantización (Nro. Bits)

Amplitud

Tiempo

VREF_HIGH

VREF_LOW

Muestreando…Cuantizando…

Se emplean 8 valores para

cuantización, es decir, 3 bits.

Se emplean 8 valores para

cuantización, es decir, 3 bits.

Toma de datos del entornoToma de datos del entorno

Page 15: Class 2 MCU Generalidades 14 02

Al diseñar un Sistema Embebido, ¿cuál es el primer paso a llevar a cabo?

¿Para qué se utiliza un Sample and Hold en un Sistema Embebido?

¿Qué elementos se validan cuando se ha terminado de desarrollar un Sistema Embebido?

¿Preguntas?¿Preguntas?

Page 16: Class 2 MCU Generalidades 14 02

A continuación…A continuación…

Modificación del entorno desde el S.E.

Procesamiento y Almacenamiento

Comunicación de datos entre S.E. y el entorno

Toma de datos del entorno

Diseño de S.E. y Hardware

Comunicación de datos entre S.E. y el entorno

Page 17: Class 2 MCU Generalidades 14 02

Muy importante en los sistemas embebidos. Información viaja a través de canales de

comunicación (Canal = Entidad Abstracta).Máxima velocidad de transferencia.Relación señal a ruido.

Medio físico:Wire o alambrada.Wireless o inalámbrica.Óptica (Fibra óptica).

Comunicación de datosComunicación de datos

Canal de

Comunicació

nMedio físico

Page 18: Class 2 MCU Generalidades 14 02

RequerimientosComportamiento en Tiempo Real: Garantizar

tiempo máximo permitido en la comunicación.Eficiencia: Reducir costos.Ancho de banda apropiado: Solo lo necesario,

no abusar, Sistemas Costosos.Comunicación atendida por eventos: Polling

no recomendado, manejo de eventos(por interrupciones).

Comunicación de datosComunicación de datos

Page 19: Class 2 MCU Generalidades 14 02

RequerimientosRobustez: Operación del sistema en ambientes

hostiles.Tolerancia a fallos: Operación del sistema

incluso después de presentado un fallo.Mantenimiento: Reparación del Sistema en

tiempos prudentes.Privacidad: Confidencialidad en la información

- Encriptación.

Comunicación de datosComunicación de datos

Page 20: Class 2 MCU Generalidades 14 02

Robustez eléctricaEnvió de señales digitales a través de una sola

línea.PROBLEMA: Muy susceptible al ruido externo.

Esquema: Voltajes respecto a una tierra común.Corrupción de mensajes debido a lo anterior.SOLUCIÓN: Comunicación diferencial.

Esquema. El ruido se añade a las dos líneas, removido luego. El valor digital depende de la polaridad, no la magnitud. No se requiere línea de referencia o tierra.

Comunicación de datosComunicación de datos

Page 21: Class 2 MCU Generalidades 14 02

Robustez eléctricaComunicación sobre una línea.

Posibilidad de Ruido

Posibilidad de Ruido

Referencia

No es fácil garantizar una buena referencia:

capacitancia, inductancias, ruido

No es fácil garantizar una buena referencia:

capacitancia, inductancias, ruido

Punto A Punto B

Comunicación de datosComunicación de datos

Page 22: Class 2 MCU Generalidades 14 02

Robustez eléctricaComunicación diferencial.

Inmunidad al Ruido

Inmunidad al Ruido

No es necesario enviar la

referencia del sistema

No es necesario enviar la

referencia del sistema

Punto A Punto B

Comunicación de datosComunicación de datos

Page 23: Class 2 MCU Generalidades 14 02

A continuación…A continuación…

Modificación del entorno desde el S.E.

Procesamiento y Almacenamiento

Comunicación de datos entre S.E. y el entorno

Toma de datos del entorno

Diseño de S.E. y Hardware

Procesamiento y Almacenamiento

Page 24: Class 2 MCU Generalidades 14 02

Aporta la inteligencia al S.E. Con/sin memoria interna. Usar/no memoria externa. Arquitectura específica. Periféricos de E/S.

CPU

CONTROL

DATAPATH

MemoriaMemoria

Unidad de Procesamiento

CPU Memoria

Unidades de ProcesamientoUnidades de Procesamiento

Page 25: Class 2 MCU Generalidades 14 02

ASICs: Application Specified Integrated Circuit.

Lógica Reconfigurable: FPGA, CPLD, ...Procesadores: MPUs, MCUs, DSPs, …

Procesadores

Reconfigurable

ASICs

0.5um 0.25um 0.130um 70nm

Mops/mW100

10

1

0.1

0.01

Tecnología

Efic

ienc

ia E

nerg

ía

Fle

xibi

lidad

Difi

culta

d de

Rep

rogr

amac

ión

Unidades de ProcesamientoUnidades de Procesamiento

Page 26: Class 2 MCU Generalidades 14 02

ASICs (Hardwired). Aplicaciones de alto desempeño y muy específicas. Mercado grande para el desarrollo. Costo del diseño y manufacturación muy elevado.

Lógica Reconfigurable. Prototipado rápido. Plataforma de prueba de grandes

diseños. Expectativas de venta baja. FPGAs: Field Programmable Gate Arrays.

Unidades de ProcesamientoUnidades de Procesamiento

Page 27: Class 2 MCU Generalidades 14 02

10110100101111110101011011000101111001001111

00010100011101000000000000001101010100111010

10110100101111110101011011000101111001001111

00010100011101000000000000001101010100111010

Microprocesador, Microcontrolador, DSPsUnidad de procesamiento

CONTROLCONTROL

DATAPATHDATAPATH

RAMRAM

ROMROM

P1P1

P2P2

PnPn

Cerebro

CONTROL

DATAPATH

Periféricos de Entrada Periféricos de SalidaCPU

MEMORIA

P1 P2 Pn

Unidades de ProcesamientoUnidades de Procesamiento

Page 28: Class 2 MCU Generalidades 14 02

De las siguientes unidades de procesamiento: Lógica Reconfigurable, Procesadores, ASICs ¿Cuál es más flexible? Indique una razón.

Para una aplicación de alto nivel pero con poca expectativa de venta ¿usted qué unidad de procesamiento utilizaría?

Trabajando con FPGAs, ¿A qué se refiere el término “Programación en el Campo”?

¿Preguntas?¿Preguntas?

Page 29: Class 2 MCU Generalidades 14 02

CPU para S.E: CaracterísticasEficiencia, consumo de potencia:

Administración dinámica de potencia (DPM).RUN: Ejecución normal. IDLE: Esperando por INT, rápida respuesta.SLEEP: Algunos eventos Wake-Up, lenta respuesta.

10s

10s

90s

160ms

90s

RUNRUN

400mW

IDLEIDLE50mW SLEEPSLEEP 160 W

StrongARM SA 1100

Unidades de ProcesamientoUnidades de Procesamiento

Page 30: Class 2 MCU Generalidades 14 02

CPU para S.E: CaracterísticasEficiencia, consumo de potencia:

Administración dinámica de potencia (DPM).

RUNRUN

WAITWAIT

STOP2STOP2

STOP3STOP3

LPRUNLPRUN

LPWAITLPWAIT

Ejecución a baja frecuencia CPU/Periféricos

CPU Detenido, periféricos a baja frecuencia

Varios dispositivos pueden estar activos para rápido reinicio

La mayoría de dispositivos apagados

CPU Detenido, periféricos ON

MicrocontroladorMC9S08QExxx

CPU y periféricos en ejecución!!!

Unidades de ProcesamientoUnidades de Procesamiento

Page 31: Class 2 MCU Generalidades 14 02

CPU para S.E: CaracterísticasEficiencia, consumo de potencia:

Escalamiento de voltaje dinámico (DVS). P = * CL * Vdd2 * f f es función del voltaje de polarización Vdd. Si se reduce Vdd entonces f también. Al reducir Vdd ¿qué pasa?

La potencia se decrementa cuadráticamente y el tiempo de ejecución se incrementa linealmente. Usarlo sí entre cada evento hay tiempo de ocio en la CPU. También cuando no hay recursos de energía, batería baja!!!

IDLERUN

Ev 1

IDLERUN

Ev 2

IDLERUN

Ev 3

IDLERUN

Ev 4

IDLERUN

Ev 5

Unidades de ProcesamientoUnidades de Procesamiento

De acuerdo a la carga del

procesador, se varía la polarización de él,

para disminuir la potencia P = VI.

De acuerdo a la carga del

procesador, se varía la polarización de él,

para disminuir la potencia P = VI.

Page 32: Class 2 MCU Generalidades 14 02

CPU para S.E: Características Eficiencia, tamaño de código (sistemas no complejos):

Sistemas típicamente sin disco duro y/o diseños con poca cantidad de memoria RAM y ROM.

CISC Buena opción, eficiencia en el tamaño del código. Una instrucción realiza varias operaciones. Memoria embebida dentro del mismo chip, más costosa.

RISC: Optimizada para velocidad. CISC para la programación, RISC interno.

MemoriaMemoria

InstrucciónCISC

Unidad de Control

Decodificador y traductor

CISC -> RISC

Decodificador y traductor

CISC -> RISC

Decodificador instrucciones

RISC

Decodificador instrucciones

RISC

InstruccionesRISC …

Unidades de ProcesamientoUnidades de Procesamiento

Page 33: Class 2 MCU Generalidades 14 02

CPU para S.E. Procesadores Digitales de Señales:

Unidades de multiplicación/acumulación junto con modos de direccionamiento especializados.

Filtros digitales.

Saturación aritmética. Manejo de Overflow y Underflow: (Con y sin signo)

n

0i

inhixny

X(i) h(n-i)

A

MAC

to CPU

X(0)X(1)X(2)X(3)…

Postincremento y memoria circular

1000(-8)

y(i) = 0011

y(i+1) = 0101 1000

(8)

y(i) = 0011

y(i+1) = 0101

Unidades de ProcesamientoUnidades de Procesamiento

Page 34: Class 2 MCU Generalidades 14 02

CPU para S.E.Microcontroladores

Integra los diferentes componentes de un PC

Realmente es un “Embedded Chip”

Unidades de ProcesamientoUnidades de Procesamiento

0 1 0 0 1 1

ADCADC

IRQIRQ

TIMTIM

CPUCPU

MemoriaMemoria

PWMPWM

UARTUART

I2CI2C

IRQPP

Frecuencia?

MOTOR DC

Page 35: Class 2 MCU Generalidades 14 02

Indique cuando debe ser usado el escalamiento dinámico de voltaje para ahorrar energía.

Los DSPs se caracterizan por tener unidades de _____________ y modos de direccionamiento _____________________.

Si la memoria va a la misma velocidad de la CPU, usted que filosofía de diseño recomienda RISC-CISC ¿Por qué?

Cuál es la importancia del overflow en los MCUs? ______________________________

¿Preguntas?¿Preguntas?

Page 36: Class 2 MCU Generalidades 14 02

Permite el intercambio de datos por parte de la CPU y los periféricos.

Memoria de Acceso Aleatorio Lectura/Escritura, volátil o simplemente RWM. Solo lectura, pasiva, no volátil o simplemente ROM Híbridas o combinaciones de RWM y ROM.

Memorias Secuenciales FIFO: First In First Out LIFO: Last In First Out Registros de Desplazamiento

MemoriaMemoria

Page 37: Class 2 MCU Generalidades 14 02

Algo de HistoriaCPU: Velocidad de Procesamiento.

Instrucciones por segundo.Se dobla cada 18 meses por el mismo precio (Ley de

Moore).Memoria: Capacidad de Almacenamiento.

Capacidad se cuadruplica cada 36 meses por el mismo precio.

Incremento de velocidad por año: Menos del 10%.

MemoriaMemoria

CPUx 1.5 / año

Memoriax 1.07 / año

Años1 3 5 7 9

Velocidad

GAP

Off-Line

Memoria Secundaria

Memoria Principal

CACHÉ

Registros

Memoria: Jerarquía

Page 38: Class 2 MCU Generalidades 14 02

A continuación…A continuación…

Modificación del entorno desde el S.E.

Procesamiento y Almacenamiento

Comunicación de datos entre S.E. y el entorno

Toma de datos del entorno

Diseño de S.E. y Hardware

Modificación del entorno desde el S.E.

Page 39: Class 2 MCU Generalidades 14 02

DisplaysElemento muy importante dentro de un S.E.7-Segmentos, LCDs, Publik, etc.

S I S T E M A S E M B E B I D O S

Modificando el entornoModificando el entorno

Page 40: Class 2 MCU Generalidades 14 02

Dispositivos electro-mecánicos. Actuadores. Conversores D/A

Proceso inverso, de convertir un conjunto de valores con precisión finita en una cantidad física.

Modificando el entornoModificando el entorno

Amplitud

Tiempo

VREF_HIGH

VREF_LOW

Generando y suavizando…

Page 41: Class 2 MCU Generalidades 14 02

Dispositivos electro-mecánicos.Actuadores.Conversores D/A: Ponderación binaria.

N = b01 + b12 + b24 + b38 + … + bn2n

4-bits, V = (b0/8 + b1/4 + b2/2 + b3/1) * (R1 / R) * Vref

Modificando el entornoModificando el entorno

Page 42: Class 2 MCU Generalidades 14 02

Dispositivos electro-mecánicos.Actuadores.Conversores D/A: R/2R

VOUT = VREF * VAL / 2n

Otros: Audio, LEDs, etc.

Modificando el entornoModificando el entorno

Page 43: Class 2 MCU Generalidades 14 02

Lecturas propuestas próxima claseArquitectura HCS08 . Ver : Datasheet and

Reference manuals. Motivación para la próxima clase.

Menú de instrucciones de lenguaje ensamblador para el MC9S08JM60.

¿Preguntas ?

Fin de la Clase!!!Fin de la Clase!!!

Page 44: Class 2 MCU Generalidades 14 02

BibliografíaBibliografía

Base de datos del Area de Técnicas Digitales.Ing. Electrónica UdeA.

Profs:Germán García, Johnny Aguirre, Juan Franco, Eugenio Duque

Jonathan Valvano, Developing Embedded Software in C Using ICC11/ICC12/Hiwire.

Jonathan Valvano, Embedded microcomputer systems, Real time interfacing, Brooks/Cole, 2000.

Page 45: Class 2 MCU Generalidades 14 02

BibliografíaBibliografía

Teoría y diseño con microcontroladores de Freescale. Flia Flexis 32 bits. Antonio Díaz E. Mc Graw Hill.

CPU08 Central Processor Unit. Reference Manual. Freescale Semiconductor.

MC9S08JM60 Data Sheet. Freescale. HCS08 Microcontrollers. Sistemas Empotrados en tiempo real.José Daniel Muñoz F.2009

Documentos interesantes sobre la evolución de los S.E. http://ieeexplore.ieee.org/Xplore/home.jsp

Sitio del curso: https://sites.google.com/site/electrodigital3/ Proyectos interesantes a nivel mundial y prácticas

implementadas en el curso: https://www.dropbox.com/sh/r6jib5pbj75ufc0/0_6M1JD5ru