Saltar al contenido
Electrónica Online

Sistema Embebido

Sistemas Embebidos

Un sistema embebido es una combinación de hardware y software diseñados para una función específica. Los sistemas embebidos también pueden funcionar dentro de un sistema mayor. Los sistemas pueden ser programables o tener una funcionalidad fija. Las máquinas industriales, la electrónica de consumo, los dispositivos de la industria agrícola y de procesamiento, los automóviles, los equipos médicos, las cámaras, los relojes digitales, los electrodomésticos, los aviones, las máquinas expendedoras y los juguetes, así como los dispositivos móviles, son posibles ubicaciones para un sistema embebido.

Aunque los sistemas embebidos son sistemas informáticos, pueden no tener interfaz de usuario (IU) -por ejemplo, en dispositivos diseñados para realizar una única tarea- o tener interfaces gráficas de usuario (GUI) complejas, como en dispositivos móviles. Las interfaces de usuario pueden incluir botones, LED (diodos emisores de luz) y pantallas táctiles. Algunos sistemas también utilizan interfaces de usuario remotas.

MarketsandMarkets, una empresa de investigación B2B (business-to-business), predijo que el mercado de sistemas embebidos tendrá un valor de 116.200 millones de dólares en 2025. Entre los fabricantes de chips para sistemas embebidos figuran muchas empresas tecnológicas de renombre, como Apple, IBM, Intel y Texas Instruments. El crecimiento previsto se debe en parte a la continua inversión en inteligencia artificial (IA), informática móvil y la necesidad de chips diseñados para procesamiento de alto nivel.

Ejemplos de Sistemas Embebidos

sistemas embebidos ejemplos

Los sistemas embebidos se utilizan en una amplia gama de tecnologías de diferentes sectores. Algunos ejemplos son:

  • Automóviles: Los coches modernos suelen tener muchos ordenadores (a veces hasta 100), o sistemas embebidos, diseñados para realizar distintas tareas dentro del vehículo. Algunos de estos sistemas realizan funciones básicas de utilidad y otros proporcionan entretenimiento o funciones orientadas al usuario. Algunos sistemas embebidos en vehículos de consumo son el control de crucero, los sensores de marcha atrás, el control de la suspensión, los sistemas de navegación y los sistemas de airbag.
  • Teléfonos móviles: Constan de muchos sistemas embebidos, como software y hardware de interfaz gráfica de usuario, sistemas operativos (SO), cámaras, micrófonos y módulos USB (bus serie universal) de E/S (entrada/salida).
  • Máquinas industriales: Pueden contener sistemas embebidos, como sensores, o ser ellas mismas sistemas embebidos. Las máquinas industriales suelen tener sistemas de automatización embebidos que realizan funciones específicas de supervisión y control.
  • Equipos médicos: Pueden contener sistemas embebidos, como sensores y mecanismos de control. Los equipos médicos, como las máquinas industriales, también deben ser muy fáciles de usar para que la salud humana no se vea comprometida por errores evitables de la máquina. Esto significa que a menudo incluirán un sistema operativo más complejo y una interfaz gráfica de usuario diseñada para una IU adecuada.
sistemas embebidos industriales

¿Cómo Funciona un Sistema Embebido?

Los sistemas embebidos siempre funcionan como parte de un dispositivo completo — eso es lo que significa el término embebido. Son pequeños ordenadores de bajo coste y bajo consumo que se integran en otros sistemas mecánicos o eléctricos. Suelen constar de procesador, fuente de alimentación, memoria y puertos de comunicación. Los sistemas embebidos utilizan los puertos de comunicación para transmitir datos entre el procesador y los dispositivos periféricos — a menudo, otros sistemas embebidos — mediante un protocolo de comunicación. El procesador interpreta estos datos con la ayuda de un software minimalista almacenado en la memoria. El software suele ser muy específico para la función que desempeña el sistema embebido.

El procesador puede ser un microprocesador o un microcontrolador. Los microcontroladores son simplemente microprocesadores con interfaces periféricas y memoria integrada incluidas. Los microprocesadores utilizan circuitos integrados independientes para la memoria y los periféricos, en lugar de incluirlos en el chip. Ambos pueden utilizarse, pero los microprocesadores suelen requerir más circuitos de apoyo que los microcontroladores porque hay menos integrados en el microprocesador. A menudo se utiliza el término sistema en un chip (SoC). Los SoC incluyen varios procesadores e interfaces en un único chip. Suelen utilizarse para sistemas embebidos de gran volumen. Algunos ejemplos de SoC son los circuitos integrados de aplicación específica (ASIC) y las matrices de puertas programables en campo (FPGA).

A menudo, los sistemas embebidos se utilizan en entornos operativos en tiempo real y emplean un sistema operativo en tiempo real (RTOS) para comunicarse con el hardware. Los enfoques casi en tiempo real son adecuados en niveles superiores de capacidad del chip, definidos por diseñadores que han decidido cada vez más que los sistemas son generalmente lo suficientemente rápidos y que las tareas toleran ligeras variaciones en la reacción. En estos casos, suelen utilizarse versiones reducidas del sistema operativo Linux, aunque otros sistemas operativos se han reducido para funcionar en sistemas embebidos, como Embedded Java y Windows IoT (antes Windows Embedded).

Características de los Sistemas Embebidos

La principal característica de los sistemas embebidos es que son específicos para cada tarea.

Además, los sistemas embebidos pueden incluir las siguientes características:

  • normalmente, constan de hardware, software y firmware;
  • pueden estar integrados en un sistema mayor para realizar una función específica, ya que se construyen para tareas especializadas dentro del sistema, no para varias tareas;
  • pueden estar basados en un microprocesador o en un microcontrolador — ambos son circuitos integrados que dotan al sistema de potencia de cálculo;
  • se utilizan a menudo para la detección y la computación en tiempo real en dispositivos del Internet de las cosas (IoT), que son dispositivos conectados a Internet y que no necesitan un usuario para funcionar;
  • pueden variar en complejidad y en función, lo que afecta al tipo de software, firmware y hardware que utilizan; y
  • a menudo deben realizar su función en un plazo de tiempo limitado para que el sistema general funcione correctamente.

Estructura de los Sistemas Embebidos

Los sistemas embebidos varían en complejidad pero, en general, constan de tres elementos principales:

  • Hardware: El hardware de los sistemas embebidos se basa en microprocesadores y microcontroladores. Los microprocesadores son muy similares a los microcontroladores y, por lo general, se refieren a una CPU (unidad central de procesamiento) integrada con otros componentes informáticos básicos, como chips de memoria y procesadores de señales digitales (DSP). Los microcontroladores tienen esos componentes integrados en un chip.
  • Software y firmware: El software de los sistemas embebidos puede variar en complejidad. Sin embargo, los microcontroladores industriales y los sistemas IoT embebidos suelen ejecutar software muy sencillo que requiere poca memoria.
  • Sistema operativo en tiempo real: No siempre se incluyen en los sistemas embebidos, sobre todo en los de menor escala. Los RTOS definen el funcionamiento del sistema supervisando el software y estableciendo reglas durante la ejecución del programa.

En términos de hardware, un sistema embebido básico constaría de los siguientes elementos:

  • Los sensores convierten los datos sensoriales físicos en una señal eléctrica.
  • Los convertidores analógico-digital (A-D) transforman la señal eléctrica analógica en digital.
  • Los procesadores procesan las señales digitales y las almacenan en la memoria.
  • Los convertidores digital-analógico (D-A) transforman los datos digitales del procesador en datos analógicos.
  • Los actuadores comparan la salida real con la almacenada en memoria y eligen la correcta.

El sensor lee las entradas externas, los convertidores hacen que el procesador pueda leerlas y el procesador convierte esa información en una salida útil para el sistema embebido.

Tipos de Sistemas Embebidos

Existen algunos tipos básicos de sistemas embebidos, que difieren en sus requisitos funcionales. Son los siguientes:

  • Los sistemas embebidos móviles son sistemas de pequeño tamaño diseñados para ser portátiles. Las cámaras digitales son un ejemplo de ello.
  • Los sistemas embebidos en red se conectan a una red para dar salida a otros sistemas. Algunos ejemplos son los sistemas de seguridad doméstica y los sistemas de punto de venta (POS).
  • Los sistemas embebidos autónomos no dependen de un sistema anfitrión. Como cualquier sistema embebido, realizan una tarea especializada. Sin embargo, no pertenecen necesariamente a un sistema anfitrión, a diferencia de otros sistemas embebidos. Una calculadora o un reproductor MP3 son ejemplos de ello.
  • Los sistemas embebidos en tiempo real dan la salida requerida en un intervalo de tiempo definido. Suelen utilizarse en los sectores médico, industrial y militar porque se encargan de tareas en las que el tiempo es un factor crítico. Un sistema de control de tráfico es un ejemplo.

Los sistemas embebidos también pueden clasificarse en función de sus prestaciones:

  • Los sistemas embebidos de pequeña escala no suelen utilizar más de un microcontrolador de 8 bits.
  • Los sistemas embebidos de mediana escala utilizan microcontroladores de mayor tamaño (16-32 bits) y a menudo se conectan entre sí.
  • Los sistemas embebidos de escala sofisticada a menudo usan varios algoritmos, lo que conlleva complejidades de software y hardware y puede requerir un software más complejo, un procesador configurable y/o una matriz lógica programable.

Existen varias arquitecturas de software de sistemas embebidos comunes, que se hacen necesarias a medida que los sistemas embebidos crecen y se hacen más complejos en escala. Entre ellas se incluyen:

  • Los bucles de control simples llaman a subrutinas que gestionan una parte específica del hardware o de la programación integrada.
  • Los sistemas controlados por interrupciones tienen dos bucles: uno principal y otro secundario. Las interrupciones en los bucles activan las tareas.
  • La multitarea cooperativa es esencialmente un simple bucle de control situado en una interfaz de programación de aplicaciones (API).
  • La multitarea preventiva o multithreading se utiliza a menudo con un RTOS y cuenta con estrategias de sincronización y conmutación de tareas.

Integración a muy gran escala, o VLSI, es un término que describe la complejidad de un circuito integrado (CI). VLSI es el proceso de incrustar cientos de miles de transistores en un chip, mientras que los microchips LSI (integración a gran escala) contienen miles de transistores, los MSI (integración a media escala) cientos de transistores y los SSI (integración a pequeña escala) decenas de transistores. ULSI, o integración a escala ultra grande, se refiere a la colocación de millones de transistores en un chip.

Los circuitos VLSI son habituales en los sistemas embebidos. Muchos circuitos integrados de sistemas embebidos son VLSI, y el uso del acrónimo VLSI ha caído en desuso.

Depuración de Sistemas Embebidos

Uno de los ámbitos en los que los sistemas embebidos se separan de los sistemas operativos y entornos de desarrollo de otros ordenadores de mayor escala es el área de depuración. Por lo general, los desarrolladores que trabajan con entornos informáticos de sobremesa disponen de sistemas que pueden ejecutar tanto el código que se está desarrollando como aplicaciones de depuración independientes que pueden supervisar el sistema embebido.

Algunos lenguajes de programación se ejecutan en microcontroladores con suficiente eficacia como para permitir una depuración interactiva rudimentaria directamente en el chip. Además, los procesadores suelen tener depuradores de CPU que pueden controlarse -y, por tanto, controlar la ejecución del programa- a través de un puerto de depuración JTAG o similar.

En muchos casos, sin embargo, los programadores necesitan herramientas que conecten un sistema de depuración independiente al sistema de destino a través de un puerto serie o de otro tipo. En este escenario, el programador puede ver el código fuente en la pantalla de un ordenador de propósito general, tal y como ocurriría en la depuración de software en un ordenador de sobremesa. Otro método muy utilizado consiste en ejecutar software en un PC que emula el chip físico en software. En esencia, esto permite depurar el rendimiento del software como si se ejecutara en un chip físico real.

En términos generales, los sistemas embebidos han recibido más atención a las pruebas y la depuración porque un gran número de dispositivos que utilizan controles embebidos están diseñados para su uso, especialmente en situaciones en las que la seguridad y la fiabilidad son las principales prioridades.

Historia de los Sistemas Embebidos

Los sistemas embebidos se remontan a la década de 1960. Charles Stark Draper desarrolló un circuito integrado en 1961 para reducir el tamaño y el peso del Apollo Guidance Computer, el sistema digital instalado en el Módulo de Mando y el Módulo Lunar del Apolo. Fue el primer ordenador que utilizó circuitos integrados y ayudó a los astronautas a recopilar datos de vuelo en tiempo real.

En 1965, Autonetics, ahora parte de Boeing, desarrolló el D-17B, el ordenador utilizado en el sistema de guiado del misil Minuteman I. Es ampliamente reconocido como el primer sistema embebido producido en serie. Está ampliamente reconocido como el primer sistema embebido producido en serie. Cuando el Minuteman II entró en producción en 1966, el D-17B fue reemplazado por el sistema de guía de misiles NS-17, conocido por su uso de alto volumen de circuitos integrados. En 1968 se lanzó el primer sistema embebido para un vehículo: el Volkswagen 1600 utilizaba un microprocesador para controlar su sistema electrónico de inyección de combustible.

A finales de los 60 y principios de los 70, el precio de los circuitos integrados bajó y su uso se disparó. El primer microcontrolador fue desarrollado por Texas Instruments en 1971. La serie TMS1000, que empezó a comercializarse en 1974, contenía un procesador de 4 bits, memoria de sólo lectura (ROM) y memoria de acceso aleatorio (RAM), y costaba unos 2 dólares la unidad en pedidos al por mayor.

Además, en 1971, Intel lanzó el que es ampliamente reconocido como el primer procesador disponible comercialmente, el 4004. Este microprocesador de 4 bits se diseñó para su uso en calculadoras y pequeños aparatos electrónicos, aunque requería una memoria eterna y chips de apoyo. El Intel 8008 de 8 bits, lanzado en 1972, tenía 16 KB de memoria; el Intel 8080 le siguió en 1974 con 64 KB de memoria. El sucesor del 8080, la serie x86, salió al mercado en 1978 y sigue utilizándose en gran medida en la actualidad.

En 1987, Wind River lanzó el primer sistema operativo embebido, el VxWorks en tiempo real, seguido del Windows Embedded CE de Microsoft en 1996. A finales de los 90, empezaron a aparecer los primeros productos Linux embebidos. En la actualidad, Linux se utiliza en casi todos los dispositivos integrados.

Tendencias de Sistemas Embebidos

Aunque algunos sistemas embebidos pueden ser relativamente sencillos, cada vez son más complejos, y cada vez más de ellos ahora pueden suplantar la toma de decisiones humana u ofrecer capacidades más allá de lo que un humano podría proporcionar. Por ejemplo, algunos sistemas de aviación, incluidos los utilizados en drones, son capaces de integrar datos de sensores y actuar en función de esa información con mayor rapidez que un ser humano, lo que permite nuevos tipos de funciones operativas.

Se espera que los sistemas embebidos sigan creciendo rápidamente, impulsados en gran parte por la Internet de las cosas. La expansión de aplicaciones IoT, como wearables, drones, hogares inteligentes, edificios inteligentes, videovigilancia, impresoras 3D y transporte inteligente, impulsará el crecimiento de los sistemas embebidos.

¿Te ha resultado útil esta información?

No
¡Gracias por tus comentarios!