2. 2
Objetivos:
En esta sesión veremos:
• Introducción a sistemas embebidos: definición y
aplicaciones.
• Herramientas de desarrollo para sistemas embebidos.
• Lenguajes de programación para sistemas embebidos.
• Proceso de diseño de un sistema embebido.
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
3. 1.1.- Introducción a sistemas
embebidos:
definición y aplicaciones
3
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
4. 4
Historia:
• A finales de 1980, el procesamiento informático asociado con grandes
computadoras centrales y enormes unidades de cinta.
• Más tarde, la miniaturización permitió el procesamiento de
información con computadoras personales (PC).
• Más tarde, *Mark Weiser. creó el término "informática ubicua“
• Computación (e información) en cualquier momento y en
cualquier lugar (largo plazo).
• Predijo que las computadoras se integrarán en los productos para
que se vuelvan invisibles "computadora invisible".
• El uso más frecuente en nuestra vida cotidiana con los dispositivos
informáticos dio lugar a los términos "informática generalizada" e
"inteligencia ambiental".
• Generalizada: Aspectos prácticos y la explotación de la tecnología
ya disponible.
• Inteligencia Ambiental: tecnología de la comunicación en futuros
hogares y edificios inteligentes.
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
* Weiser M(1999) The computer for the 21st century. Mob. Comput. Commun. Rev. 3(3):3–11
5. 5
Ejemplos:
• La miniaturización física de las computadoras también permitió la
integración del procesamiento de información.
• Este procesamiento de información se llama "sistema embebido”
(SE)
• Tiempo real, confiabilidad y Requisitos de eficiencia
• Automóviles, trenes y aviones
• Equipos de telecomunicaciones
• Equipos de fabricación.
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
6. 6
¿Qué es un sistema embebido?
• Es un sistema computacional diseñado para realizar una o algunas tareas
específicas.
• Este sistema computacional no es el producto final, sino una parte
dedicada "incorporada" de un sistema más grande que a menudo incluye
partes electrónicas y mecánicas adicionales.
• Por el contrario, un sistema computacional de uso general, como una PC
(computadora personal), es una plataforma computacional general y, en sí, es
el producto final.
• Está diseñado para ser flexible y para satisfacer una variedad de
necesidades de los usuarios finales.
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
7. 7
• Dado que un sistema embebidos está dedicado a tareas específicas, su diseño
puede optimizarse para reducir los costos.
• Recursos de hardware suficientes para cumplir con las funcionalidades
requeridas de la aplicación.
• Por otro lado, se espera que un sistema computacional de propósito general
satisfaga una variedad de necesidades y, por lo tanto, se proporcione un
programa de aplicación con un recurso de hardware relativamente abundante.
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
¿Qué es un sistema embebido?
8. 8
Sistemas Embebidos
• Factores a considerar en el diseño
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
9. 9
• Lee et Al. Indica que un “Sistemas Ciber-Físicos" (CPS) es todo aquel dispositivo
que integra capacidades de computación, almacenamiento y comunicación
para controlar e interactuar con un proceso físico.
• “Son integraciones de computación y procesos físicos "
• Los sistemas CPS están normalmente conectados entre si y con servicios
remotos de almacenamiento y gestion de datos.
• Actualmente existen más dispositivos o SE conectados a diferentes redes
capaces de captar información e interactuar con otros dispositivos.
• La inteligencia no necesariamente resida en el dispositivos, sino a la red a
la cual está interconectado.
• Generan información, envían a los servidores en tiempo real y con
herramientas de analítica de datos (con o sin A.I.) envían órdenes a otros
dispositivos.
• “Entornos Inteligentes”
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
¿Qué es un Sistema Ciber-Físicos?
* Lee, E.A.: The future of embedded software. ARTEMIS Conference, Graz.
http://ptolemy.eecs.berkeley.edu/presentations/06/FutureOfEmbeddedSoftware_Lee_Graz.ppt (2006)
10. 10
• La parte de procesamiento de información y el entorno físico (CPS), se define
como:
• CPS = ES + física
• Un CPS supera a un SE, respecto a capacidad, seguridad, escalabilidad,
adaptabilidad, resiliencia y usabilidad.
• Un CPS puede trabajar en conjunto con los SE para formar ecosistemas
distribuidos y autónomos.
• Creciente auge por la reducción de costos y tamaños de los SE, permitiendo no
solo conectarlos sino tambien con la capacidad de actuar en función de los
datos que generan o reciben.
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
* Lee, E.A.: The future of embedded software. ARTEMIS Conference, Graz.
http://ptolemy.eecs.berkeley.edu/presentations/06/FutureOfEmbeddedSoftware_Lee_Graz.ppt (2006)
¿Qué es un Sistema Ciber-Físicos?
12. 12
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
¿Qué es el Internet de las Cosas?
Giusto et Al. menciona respecto al término Internet de las cosas (IoT) "... describe la
presencia dominante de una variedad de dispositivos, como sensores, actuadores y
teléfonos móviles, que, a través de esquemas de direccionamiento únicos, pueden
interactuar y cooperar entre sí para alcanzar objetivos comunes ".
Giusto D, Iera A, Morabito G, Atzori L (eds) (2010) The Internet of Things, 20th Tyrrhenian
Workshop on Digital Communications. Springer, Berlin
https://luxnnia.com/
13. 13
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
¿Qué es el Internet de las Cosas?
• Se espera que Internet de las cosas permita la comunicación entre billones de
dispositivos en el mundo.
• Revisando algunas publicaciones, es una cuestión de preferencias si la vinculación de
objetos físicos al mundo cibernético se llama CPS o IoT.
• La explotación de la tecnología IoT para la producción se ha denominado "Industria
4.0“
Giusto D, Iera A, Morabito G, Atzori L (eds) (2010) The Internet of Things, 20th Tyrrhenian
Workshop on Digital Communications. Springer, Berlin
15. 15
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Existe un enorme potencial para las aplicaciones de procesamiento de información en el
contexto de CPS e IoT.
• Transporte y movilidad: Electrónica automotriz, Aviónica, Vías férreas, Barcos,
tecnología oceánica y sistemas marítimos.
• Automatización industrial.
• Sector de salud.
• Edificios inteligentes.
• Seguridad Pública
• Vigilancia de la salud estructural.
• Desastre natural: ESPOL, Instituto Oceanográfico de la Armada (Inocar) y el Instituto
de Investigación y Desarrollo de Francia (IRD). Osean Button Sistem (OBS)
• Robótica
• Telecomunicaciones
• Electrónica de consumo
Target Application:
16. 16
Desafíos de los CPS e IoT::
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
• Una razón clave para la necesidad de ser confiable es que estos sistemas están
directamente conectados al entorno físico y tienen un impacto inmediato en ese
entorno.
• El problema debe ser considerado durante todo el proceso de diseño.
• Debe ser seguro
• Un sistema es seguro si está protegido contra daños causados por ataques
que se originan desde fuera del sistema.
• Identificación de usuario
• Acceso seguro a la red
• Comunicaciones seguras
• Almacenamiento seguro
• Confidencialidad: los destinatarios previstos solo pueden acceder a la
información.
• Fiabilidad: previene el mal funcionamiento de los sistemas como resultado de
componentes defectuosos.
• Reparabilidad en un tiempo determinado.
• Disponibilidad del sistema.
17. 17
Desafíos de los CPS e IoT::
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
• Muchos sistemas Ciber-Físicos deben cumplir las restricciones en tiempo real.
• Muchos sistemas embebidos son sistemas híbridos en el sentido de que incluyen
partes analógicas y digitales.
• Los lenguajes de programación secuenciales tradicionales no son la mejor manera de
describir sistemas concurrentes y programados. Hay alternativas como VHDL.
• RECURSOS
• Energía eléctrica
• Tiempo de ejecución o uso del hardware disponible
• Tamaño de código en memoria de programa
• Todos los sistemas portátiles deben ser ligeros
• Uso eficiente de componentes de hardware y el presupuesto de desarrollo de
software
• CPS e IoT con frecuencia recopilan grandes cantidades de datos (Data Mining)
• Capacidad de fabricación.
19. 1.2.- Herramientas de desarrollo
para sistemas embebidos
19
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
20. Sistemas Embebidos
• RISC - Conjunto Reducido de Instrucciones para computador.
• AVR es una familia de Microcontroladores desarrollado desde 1996 por Atmel, adquirido por Microchip Technology in 2016.
• El procesador Advanced RISC Machine o ARM diseñado por Arm Holdings.
ATmega32U4 – RISC 8-bits
• Cross Trigger Interface (CTI), ARMv8
• Generic Interrupt Controller (GIC)
• Procesadores de Punto Flotante (FPU) Arm Neon, son una extensión
avanzada de arquitectura SIMD (Una instrucción y Múltiples Datos)
• Cryptography Extensions (SIMD) , ARMv8
• L1 Instruction cache / Data cache
• Debug and Trace en cada Core: Instrucciones, CTI, CTM y ROM
• ACP Puerto de coherencia del acelerador
• Mapa de memoria de depuración ARMv8
• Cross Trigger Matrix (CTM)
• Bus periférico avanzado (APB)
ARM Cortex_A53 – RISC 64-bits
33. 33
Clasificación de las tecnologías de Lógica
Digital :
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
34. 34
FPGA (Field-Programmable Gate Array):
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
• Hacen cualquier función lógica
• Tienen altas velocidades
• Configurable
• Paralelismo masivo
• Alta cantidad de I/O
• Más caras que un uC pero mucho más
baratas que Arduino o Rasberry Pi
• Consumo de potencia
• Volatile/Boot Time
• Complejos*…
35. 35
LUT (lookup table) :
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Using a lookup table (LUT) to model a gate network.
36. 36
Procesadores en FPGAs (Intel-ALTERA):
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
37. 37
Clasificación de CI de Lógica
Programable:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
• Circuitos Integrados de Aplicación Específica (ASICs): Configurados por
los fabricantes pero con las funciones definidas por el usuario,
requieren meses de desarrollo, mas económico que CPLDs o FPGAs.
• Full Custom VLSI: Requiere años de diseño y pruebas del dispositivo. Se
justifica bajo volúmenes grandes de ventas.
Ej.: Microprocesadores y memorias RAM de computadoras.
Relación de tecnologías de lógica digital:
Velocidad,
Densidad,
Complejidad,
Volumen de Producción,
Costo de producción,
Tiempo de desarrollo
45. 1.3.- Proceso de diseño de un
sistema embebido
45
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
46. 46
Diseño:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
El diseño de sistemas embebidos / Ciber-Físicos e Internet:
• Desglosarse en una serie de subtareas para ser manejable
• Necesidades que deben ser plasmados como requerimientos
• Ideas para solucionar un problema con conocimiento sobre el área de aplicación
• Proponer los componentes estándar de hardware y software
• Presupuesto
• Desarrollo de prototipo
• Pruebas en Campo x N
• Control de versiones de prototipo x N
• Producto final
Requerimientos
Asesoría de
expertos en el
área
Propuestas
Hardware /
Software
Presupuesto Prototipo
Pruebas de
campo
Control de
versiones
Producto final
47. 47
Especificaciones:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Luego de tener claro los requerimientos, se recomienda usar abstracciones tanto a nivel
de Hw y Sw. Estas abstracciones deberán en lo posible estar relacionadas de forma
Jerárquica.
• Jerarquías de comportamiento: Los estados, eventos y señales de salida son
ejemplos de tales objetos.
• Jerarquías estructurales: las jerarquías estructurales describen cómo los sistemas
están compuestos de componentes físicos.
El anillo de fuego del pacifico
OCEAN BOTTOM SEISMOGRAPH (OBS)
50. 50
Estacion Meteorologica (EM):
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Romero, G., Salazar, C., & Asanza, V. (2015). Desarrollo de un Prototipo de Sistema
Hidrometeorológico. Revista Tecnológica-ESPOL, 28(5).
52. 52
Diseño de Hardware EM:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Romero, G., Salazar, C., & Asanza, V. (2015). Desarrollo de un Prototipo de Sistema
Hidrometeorológico. Revista Tecnológica-ESPOL, 28(5).
53. 53
Diseño 3D EM:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Romero, G., Salazar, C., & Asanza, V. (2015). Desarrollo de un Prototipo de Sistema
Hidrometeorológico. Revista Tecnológica-ESPOL, 28(5).
54. 54
Diseño 3D EM:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Romero, G., Salazar, C., & Asanza, V. (2015). Desarrollo de un Prototipo de Sistema
Hidrometeorológico. Revista Tecnológica-ESPOL, 28(5).
55. 55
Diseño 3D EM:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Romero, G., Salazar, C., & Asanza, V. (2015). Desarrollo de un Prototipo de Sistema
Hidrometeorológico. Revista Tecnológica-ESPOL, 28(5).
56. 56
Diseño Real EM:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Romero, G., Salazar, C., & Asanza, V. (2015). Desarrollo de un Prototipo de Sistema
Hidrometeorológico. Revista Tecnológica-ESPOL, 28(5).
BeagleBoneBlack
57. 57
Diseño Real EM:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Romero, G., Salazar, C., & Asanza, V. (2015). Desarrollo de un Prototipo de Sistema
Hidrometeorológico. Revista Tecnológica-ESPOL, 28(5).
58. 58
Diseño Real EM:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Romero, G., Salazar, C., & Asanza, V. (2015). Desarrollo de un Prototipo de Sistema
Hidrometeorológico. Revista Tecnológica-ESPOL, 28(5).
Diseño y estructura real
Pruebas de Campo
59. 59
Ejemplo Social Cognitive Theory - SCT:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
Asanza, V., Martín, C. A., Eslambolchilar, P., van Woerden, H., Cajo, R., & Salazar, C. (2017, October). Finding
a dynamical model of a social norm physical activity intervention. In Ecuador Technical Chapters Meeting
(ETCM), 2017 IEEE (pp. 1-6). IEEE.
60. 1.4.- Lenguajes de programación
para sistemas embebidos
60
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
63. 63
Proteus:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110
• Podemos similar Arduino
• Necesitamos tener instalado Arduino IDE
• Arduino lo programamos en Lenguaje C
• Puedo probar códigos de repositorios
• Podemos similar Raspberry Pi3 y Pi4 (Versión de Proteus 8.10)
• El Python de Proteus es diferente en sintaxis
• No puedo probar códigos de repositorios
• Puedo hacer programación basado en diagrama de flujo
• Permite simular el XBEE pero solo con los pines Tx y Rx
• Podemos hacer el diseño del PCB
https://www.labcenter.com/downloads/
71. 71
Recursos:
• Algunos contenidos vistos en clase como presentaciones,
ejercicios resueltos, entre otros. Serán almacenados y
compartidos en el siguiente Drive:
Sistemas Embebidos
011000010111001101100001011011100111101001100001
01101010011001010110000101101110