Siemens ofrece ambos software integrado para automóviles y ingeniería de software integrado soluciones. Siemens ha dejado de ofrecer software integrado independiente para los SoC con la retirada en noviembre de 2023 de los productos Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux y Sourcery CodeBench (incluidos los complementos asociados). Los contratos de soporte existentes para estos productos aún se están cumpliendo, póngase en contacto con Siemens Centro de soporte para obtener más información.
¿Cuáles son los diferentes tipos de software integrado y sus finalidades?
- Sistema operativo: un sistema operativo (SO), en su sentido más general, es un software que permite al usuario ejecutar otras aplicaciones en un dispositivo informático. El sistema operativo gestiona los recursos de hardware del procesador, incluidos los dispositivos de entrada, como el teclado y el ratón, los dispositivos de salida, como pantallas o impresoras, las conexiones de red y los dispositivos de almacenamiento, como los discos duros y la memoria. El sistema operativo también proporciona servicios para facilitar la ejecución, la gestión y la asignación de memoria eficientes de los programas de aplicaciones de software.
- Firmware: el firmware es un tipo de software que se escribe directamente para una pieza de hardware. Funciona sin pasar por las API, el sistema operativo ni los controladores de dispositivos, lo que proporciona las instrucciones y la orientación necesarias para comunicarse con otros dispositivos o realizar las tareas y funciones básicas según lo previsto.
- Middleware: el middleware es una capa de software situada entre las aplicaciones y los sistemas operativos. El middleware se utiliza a menudo en sistemas distribuidos, donde simplifica el desarrollo de software al proporcionar lo siguiente:
- Ocultar las complejidades de las aplicaciones distribuidas
- Enmascarar la heterogeneidad del hardware, los sistemas operativos y los protocolos
- Proporcionar interfaces uniformes y de alto nivel que se utilizan para crear aplicaciones interoperables, reutilizables y portátiles.
- Ofrecer un conjunto de servicios comunes que minimice la duplicación de esfuerzos y mejore la colaboración entre las aplicaciones
- Aplicación: el usuario final desarrolla la aplicación de software final que se ejecuta en el sistema operativo, utiliza o interactúa con el middleware y el firmware, y es el objetivo principal de la función objetivo de los sistemas integrados. Cada aplicación final es única, mientras que los sistemas operativos y el firmware pueden ser idénticos de un dispositivo a otro.
Software integrado contra sistemas integrados
Los componentes de hardware de un dispositivo que ejecuta software integrado se denominan «sistema integrado». Algunos ejemplos de componentes de hardware utilizados en los sistemas integrados son los circuitos de alimentación, las unidades centrales de procesamiento, los dispositivos de memoria flash, los temporizadores y los puertos de comunicación en serie. Durante las primeras fases de diseño de un dispositivo, se decide el hardware que formará el sistema integrado (y su configuración dentro del dispositivo). Luego, el software integrado se desarrolla desde cero para que funcione exclusivamente en ese hardware con esa configuración precisa. Esto convierte al diseño de software integrado en un campo especializado que requiere un conocimiento profundo de las capacidades del hardware y la programación de ordenadores.
Ejemplos de funciones integradas basadas en software
Casi todos los dispositivos con placas de circuitos y chips de ordenador tienen estos componentes organizados en un sistema de software integrado. Como resultado, los sistemas de software integrados están omnipresentes en la vida cotidiana y se encuentran en la tecnología de consumo, industrial, automotriz, aeroespacial, médica, comercial, de telecomunicaciones y militar.
Los ejemplos más comunes de funciones integradas basadas en software incluyen:
- Sistemas de procesamiento de imágenes encontrados en los equipos de diagnóstico por imágenes médicas
- Los sistemas de control fly-by-wire que se encuentran en los aviones
- Sistemas de detección de movimiento en las cámaras de seguridad
- Sistemas de control de tráfico encontrados en los semáforos
- Los sistemas de temporización y automatización que se encuentran en los dispositivos domésticos inteligentes
¿Cuáles son los diferentes tipos de sistemas integrados?
Según los requisitos funcionales y de rendimiento, hay cinco clases principales de sistemas integrados:
- Los sistemas integrados en tiempo real completan las tareas de forma determinista y repetible, lo que se ve afectado por la arquitectura y la programación subyacentes de los sistemas operativos, así como por el rendimiento de los subprocesos, las ramificaciones y la latencia de interrupción. Los sistemas integrados de uso general no contienen requisitos de tiempo real y pueden gestionar interrupciones o ramificaciones sin depender de la hora de finalización. Las pantallas gráficas y la gestión del teclado y el ratón son buenos ejemplos de sistemas generales.
- Los sistemas integrados independientes pueden completar tareas sin un sistema host ni recursos de procesamiento externos. Pueden emitir o recibir datos de los dispositivos conectados, pero no dependen de ellos para completar su tarea.
- Los sistemas integrados independientes pueden completar su tarea sin un sistema host ni recursos de procesamiento externos. Pueden emitir o recibir datos de los dispositivos conectados, pero no dependen de ellos para completar su tarea.
- Los sistemas integrados en red dependen de una red conectada para realizar las tareas asignadas.
- Según la complejidad de la arquitectura de hardware del sistema, hay tres tipos principales de sistemas integrados: los sistemas integrados en red dependen de una red conectada para realizar las tareas asignadas.
Cómo afectan los mercados finales a los sistemas integrados
Los requisitos y componentes del sistema integrado variarán según las demandas del mercado objetivo. Algunos ejemplos incluyen:
- Consumidor: en aplicaciones como los bienes de consumo, como lavadoras, dispositivos portátiles y teléfonos móviles, los sistemas integrados hacen hincapié en la reducción del tamaño del
- Sistema en chip, bajo consumo de energía o funcionamiento con batería e interfaces gráficas. En estas aplicaciones, se valoran los sistemas operativos configurables y la posibilidad de cerrar los «dominios» del diseño que no funcionan.
- Redes: aplicaciones que permiten la conectividad, la comunicación, las operaciones y la gestión de una red empresarial. Proporciona la ruta de comunicación y los servicios entre los usuarios, los procesos, las aplicaciones, los servicios y las redes externas e Internet. Las aplicaciones de red integradas se centran en la velocidad de respuesta, el procesamiento de paquetes y las rutas del hardware periférico.
- Industrial: para aplicaciones como la gestión de fábricas, motores y molinos de viento, se hace hincapié en garantizar la conectividad a la nube y el funcionamiento determinista en «tiempo real», y puede centrarse en gran medida en el middleware.
- Medicina, automoción y aeroespacial: estas industrias necesitan sistemas críticos de seguridad mixta, en los que partes del diseño estén aisladas unas de otras para garantizar que solo los datos necesarios entran o salen del sistema (seguridad) y, al mismo tiempo, garantizar que no perjudiquen al usuario final (seguridad). Algunos ejemplos son los sistemas de conducción autónoma en automóviles y dispositivos médicos. Estos sistemas integrados pueden incluir una combinación de sistemas operativos de código abierto (Linux) y deterministas en tiempo real (RTOS) y utilizan en gran medida middleware de eficacia comprobada.
¿Por qué el software integrado de automoción es diferente?
En la electrónica del automóvil, se producen interacciones complejas en tiempo real en varios sistemas integrados, cada uno de los cuales controla funciones, como el frenado, la dirección, la suspensión, el tren motriz, etc. La carcasa física que contiene cada sistema integrado se denomina unidad de control electrónico (ECU). Cada ECU y su software integrado forman parte de una compleja arquitectura eléctrica conocida como sistema distribuido.
Al comunicarse entre sí, las ECU que forman el sistema distribuido de un vehículo pueden ejecutar diversas funciones, como el frenado automático de emergencia, el control de crucero adaptativo, el control de estabilidad, los faros adaptativos y mucho más. Una sola función puede necesitar interacciones entre 20 o más aplicaciones de software integradas repartidas en numerosas ECU conectadas por varios protocolos de red. Los complejos algoritmos de control implementados con el software integrado garantizan la sincronización adecuada de las funciones, las entradas y salidas necesarias y la seguridad de los datos.
Los ejemplos más comunes de funciones basadas en aplicaciones de software de automoción incluyen:
- Funciones del ADAS (sistemas avanzados de asistencia al conductor) como el control de crucero adaptativo, el frenado automático de emergencia, la asistencia para mantenerse en el carril, la asistencia al tráfico, los avisos de cambio de carril
- Gestión de baterías
- Compensación de par
- Control de velocidad de inyección de combustible
Pila de software de ECU
La unidad de control electrónico o ECU se compone de una unidad de cálculo principal con hardware a nivel de chip y una pila de software integrado. Sin embargo, hay una tendencia creciente entre los fabricantes de automóviles a diseñar ECU con circuitos integrados complejos que contengan varios núcleos de cálculo en un solo chip, lo que se denomina sistema en chip (SoC). Estos SoC pueden albergar multitud de abstracciones de ECU para consolidar el hardware. La pila de software de una ECU suele incluir una gama de soluciones, desde firmware de bajo nivel hasta aplicaciones de software integradas de alto nivel.
Pila de ECU | Descripción |
Aplicación de software integrada | Algoritmos de control, procesamiento, servicios |
Marco de solicitud | Marcos de seguridad y protección |
Entorno operativo | AUTOSAR classic, AUTOSAR Adaptive, canales de entrada/salida |
Virtualizaciones integradas | Sistema operativo en tiempo real, abstracciones de ECU |
Firmware | Cargadores de arranque, almacenamiento seguro, subprocesamiento seguro |
Hardware | Dispositivos basados en silicio, microcontroladores, placas de una o varias capas |