Está en la página 1de 45

Presentación general 2

UNIVERSIDAD DE ANTIOQUIA
FACULTAD DE INGENIERÍA.

Electrónica Digital III

Ingo. Eugenio Duque Pérez

Marzo 8 del 2021


Sistema Embebido

⚫ Sistema Embebido…
⚫ ¿Qué es?

⚫ ¿Para qué se usa?

⚫ La era Post-PC.

⚫ Requisitos.

⚫ Términos.

⚫ Reactivos, Tiempo Real, …

⚫ Fiabilidad, Mantenibilidad, …

⚫ Eficiencia, Aplicaciones, …

Sistema Embebido ENTORNO


Diagrama de bloques básico de
un Procesador. MPU
⚫ Diagrama de bloques básico de un procesador
Búsqueda de
instrucciones

Interfaz a Bus
Decodificador
memoria y
de instrucciones
E/S
Clock

Registros
internos

ALU
M.C.U. Diagrama de bloques

Bus
¿Características del MCU?
Diferencias M.P.U Y MCU?
MCU. Microcontroller Unit
⚫ Pequeño sistema digital programable de propósito
específico 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 ante 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?

⚫ 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 un variado número 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.
A continuación…

Diseño de S.E. y Hardware

Toma de datos del entorno

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

Procesamiento y Almacenamiento

Modificación del entorno desde el S.E.


Diseño de S.E. y Hardware

⚫ Metodología de Diseño
DISEÑO HARDWARE HARDWARE
CONOCIMIENTOS PREVIOS

HW-COMPONENTES

IMPLEMENTACIÓN: CODIS. HW/SW REALIZACIÓN


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

VALIDACIÓN Y EVALUACIÓN: DESEMPEÑO, CONSUMO DE POTENCIA,


SEGURIDAD, CONFIABILIDAD, GUSTO AL CLIENTE
Diseñ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:
DISPLAY
CONVERSOR A/D PROCESAMIENTO DE
MUESTREO Y INFORMACIÓN
RETENCIÓN CONVERSOR D/A

ACTUADORES
SENSORES
ENTORNO
Diseñ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.
A continuación…

Diseño de S.E. y Hardware

Toma de datos del entorno

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

Procesamiento y Almacenamiento

Modificación del entorno desde el S.E.


Toma de datos del entorno

⚫ Sensores
⚫ Sirven para detectar y medir una Cantidad Física.

⚫ Su función:

Peso
Velocidad Voltaje
Aceleración
SENSOR
Lluvia
Corriente
Imágenes
Temperatura Conjunto de
valores continuo.
Voltaje/Corriente
Toma de datos del entorno

⚫ Muestreo y Retención. Sample and


hold
⚫ 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 finitos.
Amplitud Ve Vx

Clk

Tiempo
Toma de datos del entorno

⚫ Conversor A/D Se emplean 8


valores para
⚫ Muestreo, Referencia, cuantización
cuantización, es (Nro. Bits)
decir, 3 bits.

Amplitud
VREF_HIGH

VREF_LOW
Tiempo

Muestreando…
Cuantizando…
¿Preguntas?

⚫ 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?
A continuación…

Diseño de S.E. y Hardware

Toma de datos del entorno

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

Procesamiento y Almacenamiento

Modificación del entorno desde el S.E.


Comunicación de datos

⚫ 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 datos

⚫ Requerimientos
⚫ Comportamiento 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 datos

⚫ Requerimientos
⚫ Robustez: 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 cortos y a bajo costo.
⚫ Privacidad: Confidencialidad en la información
- Encriptación.
Comunicación de datos

⚫ Robustez eléctrica
⚫ Envió 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 datos

⚫ Robustez eléctrica
⚫ Comunicación sobre una línea.
Posibilidad de
Ruido

Referencia
Punto A Punto B

No es fácil garantizar una


buena referencia:
capacitancia,
inductancias, ruido
Comunicación de datos

⚫ Robustez eléctrica
⚫ Comunicación diferencial.
Inmunidad al
Ruido

Punto A Punto B

No es necesario
enviar la
referencia del
sistema
A continuación…

Diseño de S.E. y Hardware

Toma de datos del entorno

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

Procesamiento y Almacenamiento

Modificación del entorno desde el S.E.


Unidades de Procesamiento

CPU
CONTROL
⚫ Aporta la inteligencia al S.E.
⚫ Con/sin memoria interna.
DATAPATH
⚫ Usar/no memoria externa.
⚫ Arquitectura específica. Unidad de Procesamiento

⚫ Periféricos de E/S. CPU Memoria

Memoria
Unidades de Procesamiento

⚫ ASICs: Application Specified Integrated


Circuit.

Dificultad de Reprogramación
⚫ Lógica Reconfigurable: FPGA, CPLD, ...
⚫ Procesadores: MPUs, MCUs, DSPs, …

Eficiencia Energía
Mops/mW

Flexibilidad
100
ASICs
10
Reconfigurable
1
Procesadores
0.1
0.01

0.5um 0.25um 0.130um 70nm Tecnología


Unidades 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 Procesamiento

⚫ Microprocesador, Microcontrolador, DSPs


Unidad de procesamiento Cerebro

RAM P1 CONTROL
CONTROL
P2
DATAPATH
ROM Pn DATAPATH

Periféricos de Entrada Periféricos de Salida


10110100101
CPU10110100101
11111010101 11111010101
10110001011 10110001011
11001001111 11001001111
00010100011
MEMORIA 00010100011
10100000000 10100000000
00000011010
10100111010
P1 P2 Pn 00000011010
10100111010
¿Preguntas?

⚫ 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”?
Unidades de Procesamiento
⚫ CPU para S.E: Características
⚫ Eficiencia, 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.

RUN
10s 400mW 90s
10s 160ms
90s
50mW IDLE SLEEP 160 W

StrongARM SA 1100
Unidades de Procesamiento
⚫ CPU para S.E: Características
⚫ Eficiencia, consumo de potencia:
⚫ Administración dinámica de potencia (DPM).
La mayoría de STOP3
dispositivos Microcontrolador
apagados STOP2 Varios dispositivos MC9S08QExxx
pueden estar activos
para rápido reinicio
Ejecución a baja
RUN LPRUN
CPU y periféricos frecuencia
CPU Detenido, en ejecución!!! CPU/Periféricos
periféricos ON

WAIT
LPWAIT CPU Detenido, periféricos
a baja frecuencia
Unidades de Procesamiento
⚫ CPU para S.E: Características
⚫ Eficiencia, consumo de potencia:
⚫ Escalamiento de voltaje dinámico (DVS).
⚫ P =  * CL * Vdd * f
2

⚫ f es función del voltaje de polarización Vdd.

⚫ Si se reduce Vdd entonces f también.


De acuerdo a la
⚫ Al reducir Vdd ¿qué pasa?
carga del
⚫ La potencia se decrementa
procesador, cuadráticamente y el tiempo
se varía
de ejecuciónlasepolarización
incrementade él,
linealmente. Usarlo sí entre
cada evento haypara disminuir
tiempo la en la CPU. También
de ocio
cuando no hay potencia
recursosPde= VI.
energía, batería baja!!!

RUN IDLE RUN IDLE RUN IDLE RUN IDLE RUN IDLE
Ev 1 Ev 2 Ev 3 Ev 4 Ev 5
Unidades de Procesamiento

⚫ 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.

Instrucción Unidad de Control


Instrucciones
CISC
Memoria
Decodificador
y traductor
RISC Decodificador
instrucciones …
CISC -> RISC RISC
Unidades de Procesamiento
⚫ CPU para S.E.
⚫ Procesadores Digitales de Señales:
⚫ Unidades de multiplicación/acumulación junto con
modos de direccionamiento especializados.
X(i) h(n-i)
Filtros X(0)

n digitales.
y(n ) =  x (i )h (n − i )
X(1)
 to CPU X(2)
X(3)
i =0 A …
Postincremento y
MAC memoria circular
⚫ Saturación aritmética.
⚫ Manejo de Overflow y Underflow: (Con y sin signo)

y(i) = 0011 y(i) = 0011


 
1000 1000
(-8) (8)
y(i+1) = 0101 y(i+1) = 0101
Unidades de Procesamiento
⚫ CPU para S.E.
⚫ Microcontroladores
Integra los diferentes componentes de un PC
MOTOR DC
ADC PWM
CPU

P IRQ UART
0 1 0 0 1 1
IRQ

Frecuencia?
Realmente esMemoria
TIM I 2C
un “Embedded Chip”
¿Preguntas?

⚫ 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?
______________________________
Memoria
⚫ 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
Memoria

⚫ Algo de Historia
⚫ CPU: Velocidad de Procesamiento.
Velocidad CPU
⚫ Instruccionesx por segundo.
1.5 / año
⚫ Se dobla cada 18 meses por el mismo precio (Ley de
Moore). Registros

⚫ Memoria:
GAP
Capacidad de Almacenamiento.
CACHÉ

⚫ Capacidad se cuadruplica
Memoria
cada 36 meses
Memoria por el
Principal
mismo precio.x 1.07 / año
Memoria Secundaria
1 ⚫ Incremento
3 5 7 de velocidad
9 Años por año: Menos del 10%.
Off-Line
Memoria: Jerarquía
A continuación…

Diseño de S.E. y Hardware

Toma de datos del entorno

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

Procesamiento y Almacenamiento

Modificación del entorno desde el S.E.


Modificando el entorno
⚫ Displays
⚫ Elemento 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 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.
Amplitud
VREF_HIGH

VREF_LOW
Tiempo
Generando y suavizando…
Modificando el entorno
⚫ Dispositivos electro-mecánicos.
⚫ Actuadores.
⚫ Conversores D/A: Ponderación binaria.
⚫ N = b 0 1 + b1 2 + b2 4 + b 3 8 + … + b n 2 n
⚫ 4-bits, V = (b0/8 + b1/4 + b2/2 + b3/1) * (R1 / R) * Vref
Modificando el entorno
⚫ Dispositivos electro-mecánicos.
⚫ Actuadores.
⚫ Conversores D/A: R/2R
⚫ VOUT = VREF * VAL / 2n

⚫ Otros: Audio, LEDs, etc.


Fin de la Clase!!!

⚫ Lecturas propuestas próxima clase


⚫ Arquitectura HCS08 . Ver : Datasheet and
Reference manuals.
◼ Motivación para la próxima clase.
 Menú de instrucciones de lenguaje
ensamblador para el MC9S08JM60.
⚫ ¿Preguntas ?
Bibliografí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í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

También podría gustarte