Seguro que todo el mundo está familiarizado con el software para el PC o el portátil, pero también se ha consolidado otra forma de aplicación. Se trata de los llamados «sistemas embebidos», que están firmemente conectados al hardware y se encargan de que el aparato siga una lógica determinada. El control es similar al de un ordenador. En este artículo le explicamos cómo funciona el «software em bebido» y le mostramos para qué puede utilizarse con ayuda de algunos ejemplos prácticos.
No, los programas integrados se desarrollan específicamente para un dispositivo o función concretos y no pueden intercambiarse ni modificarse.
El software embebido se caracteriza, por un lado, por su bajo consumo de energía y sus reducidas necesidades de espacio y, por otro, por su escaso mantenimiento.
Las aplicaciones embebidas se utilizan en todos los ámbitos del IoT («Internet de los objetos»).
Índice de contenidos
Definición: ¿Qué es el software integrado?
El «software embebido» es el que se ha desarrollado para un hardware específico. Las aplicaciones pasan desapercibidas para el usuario en segundo plano y se encargan del control, la regulación y la supervisión de las funciones. El término «firmware» también se utiliza a menudo como sinónimo.
El software integrado consta esencialmente de tres componentes que determinan su diseño y funcionalidad:
- El gestor de arranque se encarga de cargar o actualizar el sistema operativo y el software de aplicación.
- El sistema operativo es responsable de la gestión de archivos y memoria y controla la multitarea.
- El software de aplicación es la interfaz con el sistema anfitrión. Contiene funciones específicas del dispositivo y procesa los datos recogidos previamente.
Los sistemas empotrados suelen caracterizarse por unas condiciones marco estrictas. Entre ellas figuran, por ejemplo, factores como la minimización de costes y espacio, así como la reducción de las necesidades energéticas. Además, suele haber elevados requisitos de funcionamiento, fiabilidad, comportamiento en tiempo real y, por supuesto, seguridad. Por tanto, no es de extrañar que las plataformas a menudo se desvíen significativamente del diseño habitual (estandarizado) de un PC.
Es bueno saberlo: La contrapartida del «sistema embebido» es el llamado «sistema autónomo», en el que las funciones están separadas en varios sistemas independientes. Entre ellos se encuentran, por ejemplo, los controles de automoción basados en microcontroladores, pero también un teclado de ordenador corriente.
Conceptos básicos de ingeniería: ¿Cómo se programa el software embebido?
Desarrollar software embebido es diferente de escribir programas informáticos convencionales y también es mucho más exigente. En un sistema embebido, sólo se dispone de una cantidad limitada de memoria; además, la memoria de programa y la de datos están separadas entre sí. Además, la velocidad de reloj del procesador integrado suele ser muy inferior a la de un PC convencional.
Esto significa que el código integrado no sólo debe ofrecer una amplia funcionalidad, sino también funcionar a la velocidad requerida a pesar de los recursos limitados. Además, también hay que cumplir requisitos de arquitectura, temporización y consumo de energía.
Afortunadamente, los desarrolladores de software embebido disponen de varias herramientas y técnicas para realizar este tipo de diseños. El software integrado suele programarse en ensamblador, pero ahora se utilizan cada vez más lenguajes de alto nivel como C o C++. Estos suelen tener un mejor compilador. Además, muchas de las técnicas de análisis y optimización también pueden utilizarse para aplicaciones basadas en ensamblador.
3 Ejemplos prácticos de uso de software embebido
El dispositivo en cuestión no tiene por qué ser necesariamente un ordenador. Uno de los ejemplos más destacados de sistema embebido son los coches modernos, prácticamente imposibles de mover sin electrónica.
Ya sea el ABS, el chasis adaptativo, el airbag, el ABS o la transmisión automática , todos ellos están controlados por un software muy eficiente que realiza una función definida con precisión como subsistema en conjunción con el hardware asociado.
Por ejemplo, si el ABS recibe información de los sensores de velocidad de los neumáticos de que la rueda podría bloquearse al frenar, utiliza válvulas hidráulicas para modificar la presión de frenado en la rueda en cuestión. De este modo, se mantiene la capacidad de dirección y la estabilidad de la conducción.
3.1 La construcción también se beneficia del software integrado
.
Otro sector que se beneficia del uso de software integrado es el de la construcción. Las máquinas de construcción del fabricante Liebherr, por ejemplo, están equipadas con un sistema integrado de Zühlke Engineering que lee los datos de funcionamiento y los transmite por SMS o Internet a un centro de datos. Si, por ejemplo, la presión del aceite es demasiado alta, el sistema avisa de una carga excesiva en las mangueras hidráulicas. Además, es posible ayudar a los técnicos in situ mediante el mantenimiento a distancia desde el centro de control.
También en la producción se automatizan cada vez más procesos con ayuda de software inteligente. Ahora hay incluso punzonadoras capaces de detectar irregularidades en el material. Además, reconocen errores en el proceso de producción y se reajustan en cuestión de segundos mediante actualizaciones de software basadas en estos datos.
Más allá de eso, también se puede encontrar software integrado en estas áreas:
- Electrónica de consumo, por ejemplo, televisores, radios digitales, televisores, consolas de juegos o cajas de streaming.
- Dispositivos de telecomunicaciones, como routers o teléfonos móviles.
- Tecnología industrial y médica
- Tecnología militar
- Aeroespacial
- Controles para lavadoras, lavavajillas y frigoríficos
Es bueno saberlo: La conexión en red de sistemas empotrados individuales crea un abanico de nuevas posibilidades para entornos complejos, con las que se pueden trazar procesos en tiempo real y sin intervención humana constante.
¿Cuáles son las ventajas y los inconvenientes del software integrado?
.
Integrar el software en un sistema global aporta algunas ventajas significativas. Como en la mayoría de los casos los sistemas tienen una sola función, no sólo caben en un espacio muy reducido, sino que también se caracterizan por un bajo consumo de energía. Además, su adquisición es comparativamente barata, por lo que constituyen una forma muy económica y eficaz de controlar dispositivos.
Además, el software embebido requiere muy poco mantenimiento, lo que significa que sólo necesita una actualización en contadas ocasiones. Esto lo hace especialmente interesante para su integración en dispositivos cuyo mantenimiento no tenga que correr necesariamente a cargo del usuario final y que no requieran actualizaciones periódicas.
4.1 El software integrado también tiene sus límites
A pesar de todos los aspectos positivos, el software embebido también tiene algunas desventajas que no queremos dejar de mencionar aquí. Por un lado, es indispensable para el funcionamiento de todo el sistema y, por desgracia, no puede sustituirse por estar integrado. Por otro lado, con una estructura modular, existe la posibilidad de añadir y eliminar posteriormente funciones y procesos.
Actualizar un sistema integrado también es básicamente una imposibilidad, porque el hardware y el software están especialmente diseñados para un funcionamiento continuo sin actualizaciones. Para modificar un sistema empotrado, primero hay que desmontar completamente el dispositivo anfitrión para volver a montarlo después de reprogramarlo. Por eso, en la mayoría de los casos, resulta mucho más barato sustituirlo por completo.
Otro punto que suele plantear problemas es el hecho de que los sistemas empotrados no son completamente reactivos. Se comunican a través de sensores y actuadores y esperan una respuesta correcta en tiempo real. Si ésta no se produce, el resultado es «FALSO», lo que a su vez perjudica el funcionamiento de todo el sistema.
También puede averiguar qué es el software integrado en este vídeo: