Un sistema embebido es un ordenador diseñado para realizar uno o unos pocos trabajos muy concretos dentro de un sistema mayor. La palabra incrustado indica que está integrado y suele ser una parte permanente del producto final. Normalmente no tiene la apariencia de un ordenador de sobremesa (a menudo carece de teclado, monitor o ratón), pero, como cualquier ordenador, incorpora un procesador, software, y mecanismos de entrada y salida para interactuar con su entorno físico.
Características principales
- Función específica: resuelve tareas concretas (control de un motor, decodificación de señales, medida de sensores, etc.).
- Integración: está incrustado en un equipo mayor y a menudo no es visible como dispositivo independiente.
- Restricciones de recursos: memoria, potencia de cálculo y energía limitadas en comparación con un ordenador de propósito general.
- Fiabilidad y disponibilidad: muchos deben funcionar continuamente y con alta fiabilidad.
- Tiempo real: algunos requieren respuestas dentro de plazos estrictos (computación en tiempo real), para garantizar un comportamiento correcto.
Componentes típicos
- Hardware: microcontroladores (MCU), microprocesadores, SoC (system-on-chip), memoria (ROM/Flash, RAM), convertidores A/D y D/A, buses de comunicación (SPI, I2C, CAN, UART), sensores y actuadores, fuentes de alimentación y reguladores.
- Software/firmware: código específico en memoria flash, a menudo con un sistema operativo en tiempo real (RTOS) o firmware "bare-metal". Incluye controladores (drivers), capas de comunicación y la lógica de control o procesamiento de datos.
- Interfaces: puertos físicos y protocolos para comunicarse con otros sistemas (Ethernet, Wi‑Fi, Bluetooth, CAN, etc.).
- Herramientas de desarrollo: compiladores, depuradores (JTAG, SWD), analizadores lógicos, simuladores y entornos de integración continua.
Tipos de sistemas embebidos
- Tiempo real duro: fallos en los plazos son inaceptables (p. ej., control de vuelo). Requieren determinismo absoluto.
- Tiempo real blando: perder ocasionalmente plazos degrada el servicio, pero no causa catástrofes (p. ej., multimedia).
- Críticos para la seguridad: automoción, medicina y aviación, con normas de certificación estrictas (p. ej., ISO 26262, DO‑178).
- IoT / embebidos conectados: dispositivos con conectividad para monitorización remota, actualizaciones OTA y servicios en la nube.
- Bajo consumo: optimizados para larga duración con baterías (sensores inalámbricos, wearables).
Por ejemplo, el controlador integrado en un ascensor manda instrucciones al motor para desplazar la cabina a las distintas plantas según los botones que se pulsen. Un decodificador integrado en un decodificador de televisión por satélite (STB) interpreta la señal recibida por la antena parabólica y genera una salida comprensible por un televisor. En muchos casos, estos dispositivos deben cumplir restricciones de tiempo estrictas: esto es la computación en tiempo real. Si un decodificador se interrumpe para atender otra tarea, la imagen de la televisión puede degradarse; en un ordenador de propósito general pequeñas pausas son tolerables, pero en sistemas embebidos en tiempo real pueden ser inaceptables.
Ejemplos prácticos
- Dispositivos de consumo: reproductores de MP3, cámaras digitales, televisores inteligentes.
- Sistemas de control industrial: líneas de montaje, autómatas programables (PLC).
- Transporte y seguridad: controladores en automóviles, sistemas de gestión de tráfico y semáforos, y sistemas en aviones.
- Control de accesos y domótica: lectores de tarjetas, cerraduras electrónicas, termostatos inteligentes.
Desarrollo y consideraciones prácticas
- Elección de hardware y software: se selecciona según prestaciones, coste, consumo y disponibilidad.
- Pruebas y validación: tests funcionales, pruebas en tiempo real, análisis de rendimiento y, si procede, certificación normativa.
- Seguridad: la conectividad ha aumentado los vectores de ataque; las actualizaciones seguras (OTA), el cifrado y la autenticación son esenciales.
- Mantenimiento y actualizaciones: el firmware debe poder corregirse y actualizarse sin poner en riesgo la operación del sistema.
Tendencias: los sistemas embebidos evolucionan hacia mayor conectividad (IoT), capacidades de procesamiento local (edge computing, IA en el dispositivo), y uso de lenguajes y frameworks modernos (p. ej. MicroPython, Rust para sistemas críticos). Al diseñar o utilizar un sistema embebido, es importante considerar requisitos de tiempo real, consumo, seguridad y el ciclo de vida del producto.



