Class 2 MCU Generalidades 14 02
description
Transcript of 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
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
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
MCU. Diagrama de bloques
Bus
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?
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?
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
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
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
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
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
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.
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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?
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
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
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.
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
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
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
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?
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
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
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.
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
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…
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
Dispositivos electro-mecánicos.Actuadores.Conversores D/A: R/2R
VOUT = VREF * VAL / 2n
Otros: Audio, LEDs, etc.
Modificando el entornoModificando el entorno
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!!!
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.
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