Está en la página 1de 40

Introducción

EL6004 - Introducción a
Sistemas Embebidos
Prof. Jimmy Tarrillo
Agosto 2022

1
Índice

1. Conceptos básicos y características de los Sistemas Embebidos


2. Parámetros de un Sistema Embebidos
3. Tecnologías de procesamiento
4. Prototipado rápido

2
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Conceptos Básicos y
características de los
Sistemas Embebidos

3
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

4
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Ejemplos en UTEC
Estación meteorológica Monitoreo de ríos Calidad de agua El aire que Respiras

BCI Portátil Rastreo de Pingüinos


Cámaras de calibración de sensores, envejecimiento y
conservación de patrimonio histórico

Red de monitoreo de parámetros ambientales en


museos

5
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Sistema embebido: sistema que no se basa en un


computador de propósito general

Computadores optimizados para la Recursos limitados


aplicación
Velocidad
Dimensiones/recursos
Dependiendo de la aplicación, se Costo
priorizan diferentes parámetros Consumo energético
Confiabilidad
6
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Recursos limitados

Work Station Laptop Raspberry Arduino


Broadcom BCM2711, Quad Atmega328P – AVR 8bit
core Cortex-A72 (ARM v8)
64-bit SoC @ 1.5GHz

(1) (2) (3) (4)

¿Cuál opción puede ser usado en un sistema embebido?


7
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Recursos limitados

Recurso Laptop ThinkPad P52 STM32H742 Atmega 328P


(Intel Core i7-8850H 64 bits) (ARM Cortex-M7 32 bits) (8 bits)
Memoria RAM DDR4 32GB (16MB caché) 1 MB 2KB
Memoria no Volátil 1 TB 2MB 1KB
Reloj 2.6 GHz 400MHz Hasta 20Mhz
Potencia (aprox) 170W 1.093W 0.1W
Núcleos 6 2 1
Precio aprox. ($) 395 16 3

8
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Diseño: Sistema de alarma de ventana

• La sirena (alarma) se activa al


abrir la ventana
• Interruptor general, para
encender/apagar el sistema

No todo son Microcontroladores

9
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

2 Parámetros de Sistemas
Embebidos

10
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Parámetros de los Sistemas Embebidos

Velocidad

Dimensiones/Recursos

Energía

Costo

Confiabilidad

¿Cómo medirlos?
11
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

¿De qué depende la velocidad de un circuito?

Todos los circuitos digitales están compuestos de bloques lógicos: procesadores, FPGAs

Lógica Lógica Lógica Lógica Lógica Lógica


combinatoria secuencial combinatoria secuencial combinatoria secuencial
Flip
Flip
Flip Flip
Flip
Flip Flip
Flip
Flip


ANDs, ORs, ANDs, ORs, ANDs, ORs,




Flop Flop



Entradas Flop
Flop Flop
Flop Flop
Flop Salidas

XORs, MUX… XORs, MUX… XORs, MUX… Flop

Reloj (CLK)
Frecuencia/periodo

Velocidad máxima de un circuito digital Procesadores:


• Latencia mayor de los bloques lógicos combinatorios • Instrucciones secuenciales
• Dependen de la arquitectura y la tecnología del transistor • Máquina de estados
• Algunos dispositivos usan “tipos de reloj” diferentes • Memorias: registros (flip-flops)
12
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Parámetros de evaluación: Velocidad de un uP/uC

Ciclos de operación
• ¿Cuántos ciclos de reloj son necesarios para ejecutar una instrucción?
• uP/uC más complejos “hacen más cosas” en menor número de ciclos de reloj

MIPS (Million instructions per second)


• Parámetro para comparar eficiencia entre uP/uC
• Se debe especificar la frecuencia con la que se da el dato
• “1 MIPS” quiere decir que el componente ejecuta un millón de instrucciones
en un segundo… pero ¿a qué frecuencia?
• Las comparaciones de programas se deben hacer en número de ciclos (clocks)
13
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Parámetros de evaluación: Velocidad de un uP/uC

Frecuencia del sistema


• Oscilador (o cristal) interno o externo
• Determina el tiempo de cada ciclo
• Incremento de la potencia: potencia dinámica
• Frecuencia máxima: depende de la tecnología y arquitectura del circuito
integrado

Influencia del algoritmo e implementación


• Complejidad del algoritmo: línea, cuadrático, exponencial.
• Eficiencia y nivel de programación: máquina, assembler, C, Python, etc.
14
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Parámetros de evaluación: Dimensiones/recursos

Periféricos
• Requerimientos del sistema: periféricos internos vs. externos

Memorias
• Los programas ejecutan instrucciones para trabajar datos
• Los programas pueden tener más carga en las
instrucciones y otros en los datos
• Los códigos y datos pueden ser optimizados según el
algoritmo y los compiladores

15
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Costo

Dimensionamiento de requerimientos
• Lo más económico que garantice los requerimientos
• Tamaño del componente influye en sobrecostos por tarjeta electrónica y
empaque
• Componentes pasivo requeridos

Prototipado y escalonamiento

• Time-to-market
• Costos de producción y disponibilidad

16
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Consumo energético

P= V x I
E = PTOT x T
• Voltaje constante
• Diferentes voltaje en mismo IC
PTOT = PEST + PDYN • I: depende de la dinámica (operaciones y
recursos) y de la tecnología
Depende de la
corriente de fuga C: capacitancia del transistor
de los transistores V: Alimentación
C x V2 x α x f α: Factor de actividad: prom. de conmutación
f: Frecuencia de conmutación

17
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Consumo energético

• Si el tiempo de ejecución es menor, se reduce el


consumo energético
• Si se aumenta la frecuencia, el tiempo se reduce, E = PTOT x T
pero la PDYN sube con lo que sube la Energía
• Sistemas más complejos suelen requerir más voltaje PDYN =C x V2 x α x f
• Si se reduce el voltaje, pueden haber errores
• Mayor potencia también implica mayores tamaños
• Mayor energía implica mayores baterías o menor
autonomía
• Sistemas de baja potencia (LP, ULP) son más costosos
18
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Confiabilidad

Parámetros de Confiabilidad (dependability)


• Reliability (fiabilidad): Probabilidad que un sistema trabaje correctamente
considerando que comienza en t=0
• Availability (Disponibilidad): Probabilidad que el sistema funcione en el
tiempo t
• Maintainability (Mantenimiento): Probabilidad que un sistema trabaje bien
luego de un tiempo t luego de un error
• Safety: No genera daños
• Security: Confidencialidad y autentificación en las comunicaciones

19
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Confiabilidad
Bathtub curve (Curva de bañera)

20
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Confiabilidad

λ : Tasa de fallos

MTBF (Mean Time between fail): Tiempo medio entre fallos (reparables). Usado
normalmente durante el tiempo de vida útil

MTTF (Mean Time to fail): Tiempo medio para fallos (no reparables).

𝑡
−𝑀𝑇𝐵𝐹
Confiabilidad: 𝑅 𝑡 = 𝑒 −𝜆𝑡 = 𝑒

Probabilidad de fallo: 𝐹 𝑡 = 1 − 𝑅 𝑡
21
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Confiabilidad

Ejemplo:
Si un sistema tiene un MTBF de 300000 horas, la confiabilidad
del sistema en el sexto mes será:
6 meses = 4380 horas
4380

𝑅 4380 = 𝑒 300000 = 0.9855, es decir, 98.55%
Por ello, la probabilidad de fallo será de 1.45%

22
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Comparaciones

Siempre en mismas condiciones

Características de procesamiento y arquitectura

Diferenciar efectos de algoritmo e implementación

Los compiladores pueden influenciar en los resultados

23
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

3 Tecnologías de
implementación

24
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Microprocesador (uP)
Procesador de propósito general
“Solo procesa”. Sin memorias ni
PC, Programación (secuencial) en alto nivel periféricos. Pueden poseer FPU. Gran
capacidad de procesamiento en “corto”
tiempo. Altas frecuencias
Procesador de propósito específico
Microcontrolador, microprocesador, SoC, DSP Microcontrolador (uC)
Programación secuencial Interacción con mundo externo:
periféricos internos. CPU suele ser más
básico que el de un uP. Alta variedad de
Hardware configurable modelos
Field Programmable Gate Array – FPGA
Descripción de circuitos (no es programa) Puertos de
Memoria
de entrada y
programa salida
Application Specific Integrated Circuit (ASIC) CPU
SoC no configurable, IC de aplicación específica Memoria
Periféricos
de
(ADC, Timer,
Datos UART, I2C…)

25
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

System on Chip (SoC)


Procesador de propósito general
Procesadores con periféricos internos
Eficiencia, velocidad, potencia

PC, Programación (secuencial) en alto nivel complejos. Pueden incorporar sistemas de


comunicación inalámbrica, GPU, recursos
reconfigurables. PSoC-5LP (Cypress),
Procesador de propósito específico BCM2837 (Broadcom, Raspberry)
Microcontrolador, microprocesador, SoC, DSP

Flexibilidad
Programación secuencial
FPGA
Sistemas optimizados. Implementación de
Hardware configurable sistemas digitales: máquina de estados
Field Programmable Gate Array – FPGA (FSM), procesadores, encriptación, etc.
Descripción de circuitos (no es programa) Sistemas concurrentes: se puede lograr
alta velocidad, “bajo” consumo energético
Productos desde menos de 3 dólares
Application Specific Integrated Circuit (ASIC) hasta miles de dólares
SoC no configurable, IC de aplicación específica Basados en RAM, FLASH, EEPROM,
Antifuse

Para sistemas embebidos


26
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

FPGA (Field Programmable Gate Array)

https://www.grandviewresearch.com/industry-analysis/fpga-market|
https://www.programmersought.com/article/66291005870/ 27
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Uso de tecnologías: recomendaciones GENERALES

Procesamiento simples, uso de periféricos,


Microcontroladores
prototipado rápido

Procesamiento complejo, periféricos


Microprocesadores
limitados, prototipado mediano

SoC Procesamiento mediano, uso de periféricos,


proyectos complejos, prototipado rápido

FPGA Sistemas de alto desempeño, reconfigurable,


prototipado más lento

28
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

4 Prototipado rápido

29
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Tener claro el proyecto

Metodología en V

Plan de test de especificaciones Test de


Especificaciones
Especificaciones

Fase Plan de test funcional Test de fase


funcional funcional

Fase Plan de test de diseño Test de fase


diseño diseño

Plan de test

Codificación

30
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Tener claro el proyecto

Metodología TOP-DOWN
Requerimientos
• Metodología jerárquica
• Comienza de lo más general a lo más
Diagramas de bloques generales
específico

Bloques internos

Esquemático /
PCB

31
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Tener claro el proyecto

Consideraciones
Plan de test de especificaciones
Especificaciones Especificaciones

• Lista de requerimientos Fase Plan de test funcional Fase


funcional funcional
¿Para qué? ¿quién lo usará?¿en qué contexto funcionará?
Protocolos de comunicación, niveles de voltaje, etc. Fase
diseño
Plan de test de diseño Fase
diseño

• ¿Cómo se verá al final? Plan de test

Codificación
No todo es electrónica. ¿Carcasa? ¿Interface usuario?
¿Alcances?

• ¿Qué tan bien funcionará? Requerimientos

Validación funcional y paramétrica


Diagramas de bloques generales
Nivel de desarrollo: validación de concepto, prototipo
funcional, prototipo de producto, fase.
Bloques internos

• ¿Cómo validaré? Esquemático /


PCB
Design for testability, definición de pruebas, check list
32
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Ejemplos de diagramas de bloques

Entender de manera clara y simple las etapas del sistema electrónico. Debe ayudar a delimitar
el trabajo, validarlo e integrarlo

https://www.pardell.es/instrumentacion-medica.html
https://www.analfatecnicos.net/pregunta.php?id=16 33
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Diagramas esquemáticos

• Definición de componentes
• Definición de conexiones
• Especificación de valores
• Nombres adecuados

34
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Prototipado

• Orden
• Cuidado con los cables
• Ruido
• Armar y verificar por etapas

35
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Prototipado

• Orden
• Cuidado con los cables
• Ruido
• Armar y verificar por etapas

36
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Circuito impreso (PCB)

• Posición de componentes (placement)


• Distribución de pistas (routing)
• Cuidar la separación y ancho de pistas.
(digital mínimo 0.016, normal 0.024,
potencia mayor a 0.032)
• Cuidar pasantes. ¿Metalizado?
• Tipo de empaque, verificar existencia.
• Posición de componentes: potencia,
conectores, digital, analógico, RF
• CONSIDERAR CARCASA FINAL
• Herramientas: Eagle, OrCAD, EasyEDA…

37
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Plataformas de prototipado rápido


Se puede usar en primera etapa: validación conceptual. Para aprovecharlo mejor, se debe conocer de
programación en profundidad

Arduino
• Plataforma basada en Intel Curie
ATmega328P ATmega32U4
microcontroladores Atmel 8 bits 32 bits 8 bits

• Open source hardware


• Programación: denominado ATmega2560
8 bits
SAMD21
32-bit ARM Cortex M0+

“Sketch”, lenguaje Wiring


basado en C. Se puede
programar en C o assembler.
• “Bajo costo”
• 3.3 V https://www.arduino.cc
38
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Plataformas de prototipado rápido


Se puede usar en primera etapa: validación conceptual. Para aprovecharlo mejor, se debe conocer de
programación en profundidad

Raspberry
• SoC BCM2835
• 1GHz ARM11 76JZF-S core single-core
• 5V micro-USB power adapter
• 1 micro USB port, 40 GPIO pins, mini
HDMI port
• SDRAM 512MB, Micro SD card slot
• Puede usar Linux
• ≈ 4W
≈$35 ≈$5
• Delicados
39
EL6004 - Introducción a Sistemas Embebidos Prof. Jimmy Tarrillo – Ingeniería Electrónica

Referencias

• Computer organization and Embedded Systems, 6th edition


• Hoja técnica STM32H742xI/G STM32H743xI/G

40

También podría gustarte