Skip to main content
Cette page est affichée à l'aide de traduction automatique. View in English instead?

Logiciels embarqués

Le logiciel embarqué est une application ou un micrologiciel spécialisé qui s'exécute sur un cluster de traitement intégré dans un SoC ou un IC. Presque tous les produits électroniques peuvent contenir un ou plusieurs processeurs intégrés, courants dans les automobiles d'aujourd'hui, l'automatisation factorielle des planchers, l'avionique, les dispositifs médicaux et plus encore.

Quels sont les différents types de logiciels embarqués ?

Les applications logicielles embarquées sont une programmation spécialisée dans des appareils non-PC — soit dans le cadre d'une puce électronique, soit dans le cadre d'une autre application qui se trouve sur le dessus de la puce — pour contrôler des fonctions spécifiques de l'appareil. Contrairement aux applications PC, qui peuvent être installées sur divers systèmes informatiques et modifiées pour offrir différents niveaux de fonctionnalités, les logiciels embarqués ont des exigences et des capacités matérielles fixes. Il est créé exclusivement pour l'appareil sur lequel il fonctionne, avec des restrictions de traitement et de mémoire liées directement à ses spécifications. Dans le contexte de cette discussion, les logiciels embarqués comprennent les applications, les micrologiciels, les middleware et les systèmes d'exploitation qui s'exécutent sur un seul microprocesseur ou cluster de microprocesseurs « embarqués » dans une logique supplémentaire.

Produits connexes : Capital Embedded AR Classic | Capital Embedded Integrator AR Classic | Capital Embedded Virtualizer AR Classic

A professional working on a computer with a graph, another person standing nearby observing the screen.

Caractéristiques et caractéristiques des systèmes embarqués

Même s'il existe de nombreux types de systèmes embarqués, ils partagent tous les mêmes caractéristiques bénéfiques et caractéristiques de conception.

Tous les systèmes embarqués sont spécifiques à une tâche

Ils exécutent la même fonction préprogrammée tout au long de leur vie utile et ne peuvent pas être modifiés.

Tous les systèmes embarqués sont à haut rendement

Les besoins en ressources des logiciels embarqués ne doivent jamais dépasser la capacité du matériel sur lequel ils sont installés, et les spécifications du matériel ne doivent jamais dépasser les exigences minimales du logiciel embarqué.

Conçu pour la stabilité

Tous les systèmes embarqués sont conçus pour être très fiables et stables. Ils doivent effectuer leur tâche avec des temps de réponse cohérents et fonctionner tout au long de la durée de vie de l'appareil qui les héberge.

Quels types de logiciels embarqués Siemens propose-t-il ?

Siemens offre les deux logiciel embarqué automobile et génie logiciel embarqué solutions. Siemens a cessé d'offrir des logiciels embarqués autonomes pour les SoC avec le retrait en novembre 2023 des produits Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux et Sourcery CodeBench (y compris les add-ons associés). Les contrats de support existants pour ces produits sont toujours respectés, veuillez contacter Siemens Centre de soutien pour plus d'informations.

Quels sont les différents types de logiciels embarqués et leurs objectifs ?

  • Système d'exploitation — Un système d'exploitation (OS), dans son sens le plus général, est un logiciel qui permet à un utilisateur d'exécuter d'autres applications sur un appareil informatique. Le système d'exploitation gère les ressources matérielles d'un processeur, y compris les périphériques d'entrée tels qu'un clavier et une souris, les périphériques de sortie tels que les écrans ou les imprimantes, les connexions réseau et les périphériques de stockage tels que les disques durs et la mémoire. Le système d'exploitation fournit également des services pour faciliter l'exécution et la gestion efficaces et les allocations de mémoire pour les programmes d'application logicielle.
  • Firmware — Le firmware est un type de logiciel qui est écrit directement pour une pièce de matériel. Il fonctionne sans passer par les APIs, le système d'exploitation ou les pilotes de périphériques - fournissant les instructions et les conseils nécessaires pour communiquer avec d'autres appareils ou effectuer les tâches et fonctions de base comme prévu.
  • Middleware — Middleware est une couche logicielle située entre les applications et les systèmes d'exploitation. Le middleware est souvent utilisé dans les systèmes distribués où il simplifie le développement de logiciels en fournissant les éléments suivants :

    • Cacher les subtilités des applications distribuées
    • Masquer l'hétérogénéité du matériel, des systèmes d'exploitation et des protocoles
    • Fournir des interfaces uniformes et de haut niveau utilisées pour créer des applications interopérables, réutilisables et portables.
    • Fournir un ensemble de services communs qui minimise la duplication des efforts et améliore la collaboration entre les applications
  • Application — L'utilisateur final développe l'application logicielle finale qui s'exécute sur le système d'exploitation, utilise ou interagit avec le middleware et le firmware, et est l'objectif principal de la fonction cible des systèmes embarqués. Chaque application finale est unique, tandis que les systèmes d'exploitation et les microprogrammes peuvent être identiques d'un appareil à l'autre.

Logiciels embarqués vs systèmes embarqués

Les composants matériels d'un appareil exécutant un logiciel embarqué sont appelés un « système embarqué ». Quelques exemples de composants matériels utilisés dans les systèmes embarqués sont les circuits d'alimentation, les unités centrales de traitement, les dispositifs de mémoire flash, les minuteries et les ports de communication série. Au cours des premières phases de conception d'un appareil, le matériel qui constituera le système embarqué — et sa configuration au sein de l'appareil — est décidé. Ensuite, le logiciel embarqué est développé à partir de zéro pour fonctionner exclusivement sur ce matériel dans cette configuration précise. Cela fait de la conception de logiciels embarqués un domaine spécialisé nécessitant une connaissance approfondie des capacités matérielles et de la programmation informatique.

Exemples de fonctions logicielles intégrées

Presque tous les appareils avec des cartes de circuits imprimés et des puces informatiques ont ces composants disposés dans un système logiciel intégré. Par conséquent, les systèmes logiciels embarqués sont omniprésents dans la vie quotidienne et se retrouvent dans les technologies grand public, industrielles, automobiles, aérospatiales, médicales, commerciales, télécoms et militaires.

Voici des exemples courants de fonctionnalités basées sur des logiciels embarqués :

  • Systèmes de traitement d'images trouvés dans l'équipement d'imagerie médicale
  • Systèmes de contrôle vol-by-wire trouvés dans un avion
  • Systèmes de détection de mouvement dans les caméras de sécurité
  • Systèmes de contrôle de la circulation trouvés dans les feux de signalisation
  • Systèmes de chronométrage et d'automatisation trouvés dans les appareils domestiques intelligents

Quels sont les différents types de systèmes embarqués ?

Lorsqu'ils sont basés sur les performances et les exigences fonctionnelles, il y a cinq grandes classes de systèmes embarqués :

  • Les systèmes embarqués en temps réel effectuent les tâches de manière déterministe et reproductible, ce qui est affecté par l'architecture et la planification sous-jacentes des systèmes d'exploitation, ainsi que par les performances des threads, des branchements et des interruptions de latence. Les systèmes embarqués à usage général ne contiennent pas d'exigence en temps réel et peuvent gérer les interruptions ou les branchements sans dépendre d'un délai d'exécution. Les affichages graphiques et la gestion du clavier et de la souris sont de bons exemples de systèmes généraux.
  • Les systèmes embarqués autonomes peuvent effectuer des tâches sans système hôte ni ressources de traitement externes. Ils peuvent produire ou recevoir des données à partir d'appareils connectés, mais ne dépendent pas d'eux pour accomplir leur tâche.
  • Les systèmes embarqués autonomes peuvent effectuer leur tâche sans système hôte ni ressources de traitement externes. Ils peuvent produire ou recevoir des données à partir d'appareils connectés, mais ne dépendent pas d'eux pour accomplir leur tâche.
  • Les systèmes embarqués en réseau dépendent d'un réseau connecté pour effectuer les tâches assignées.
  • En fonction de la complexité de l'architecture matérielle du système, il existe trois principaux types de systèmes embarqués : Les systèmes embarqués en réseau dépendent d'un réseau connecté pour effectuer les tâches assignées.

Comment les marchés finaux affectent les systèmes embarqués

La configuration système embarqué et les composants seront différents selon les demandes du marché cible. Quelques exemples incluent :

  • Consommateur — Dans des applications telles que les biens de consommation tels que les laveuses, les appareils portables et les téléphones mobiles, les systèmes embarqués mettent l'accent sur la taille réduite du
  • Système sur puce, faible consommation d'énergie ou fonctionnement sur batterie et interfaces graphiques. Dans ces applications, les systèmes d'exploitation configurables et la possibilité de fermer les « domaines » non opérationnels de la conception sont valorisés.
  • Mise en réseau — Applications qui permettent la connectivité, la communication, les opérations et la gestion d'un réseau d'entreprise. Il fournit le chemin de communication et les services entre les utilisateurs, les processus, les applications, les services et les réseaux externes/internet. Les applications réseau embarquées se concentrent sur la vitesse de réponse, le traitement des paquets et les chemins matériels périphériques.
  • Industrielle — Pour les applications telles que la gestion d'usine, les moteurs et les moulins à vent, l'accent a tendance à sécuriser la connectivité cloud et le fonctionnement déterministe en « temps réel » et peut se concentrer fortement sur les intergiciels.
  • Médical, automobile et aérospatial — Ces industries ont besoin de systèmes critiques à sécurité mixte, où des parties de la conception sont isolées les unes des autres pour s'assurer que seules les données nécessaires entrent ou sortent du système (sécurité) tout en garantissant aucun dommage à l'utilisateur final (sécurité). Les exemples sont les systèmes de conduite autonome dans les automobiles et les dispositifs médicaux. Ces systèmes embarqués peuvent comporter un mélange de systèmes d'exploitation open source (Linux) et de systèmes d'exploitation en temps réel déterministes (RTOS) et utilisent fortement des middleware éprouvés.

Pourquoi les logiciels embarqués automobiles sont-ils différents ?

Dans l'électronique automobile, des interactions complexes en temps réel se produisent entre plusieurs systèmes embarqués dont chaque commande fonctionne, tels que le freinage, la direction, la suspension, le groupe motopropulseur, etc. Le boîtier physique contenant chaque système embarqué est appelé unité de commande électronique (ECU). Chaque ECU et son logiciel embarqué font partie d'une architecture électrique complexe connue sous le nom de système distribué.

En communiquant entre eux, les ECU qui composent le système distribué d'un véhicule peuvent exécuter une variété de fonctions, telles que le freinage d'urgence automatique, le régulateur de vitesse adaptatif, le contrôle de stabilité, les phares adaptatifs et bien plus encore. Une seule fonction peut nécessiter des interactions entre 20 applications logicielles embarquées ou plus réparties sur de nombreux ECU connectés par plusieurs protocoles réseau. Des algorithmes de contrôle complexes déployés avec le logiciel embarqué assurent le bon timing des fonctions, les entrées et sorties nécessaires et la sécurité des données.

Voici des exemples courants de fonctionnalités basées sur des applications logicielles automobiles :

  • Fonctionnalités ADAS (Advanced Driver Assist Systems) telles que le régulateur de vitesse adaptatif, le freinage d'urgence automatique, l'assistance au maintien de la voie, l'assistance à la circulation, les avertissements de sortie de voie
  • Gestion de la batterie
  • Compensation de couple
  • Contrôle du taux d'injection de carburant

Pile de logiciels ECU

L'unité de contrôle électronique ou ECU est composée d'une unité de calcul principale avec du matériel au niveau de la puce et une pile de logiciels embarqués. Cependant, il y a une tendance croissante parmi les constructeurs automobiles à concevoir des calculateurs avec des circuits intégrés complexes qui contiennent plusieurs cœurs de calcul sur une seule puce — ce que l'on appelle un système sur puce (SoC). Ces SoC peuvent héberger une multitude d'abstractions d'ECU afin de consolider le matériel. La pile de logiciels pour un ECU comprend généralement une gamme de solutions, du micrologiciel de bas niveau aux applications logicielles embarquées de haut niveau.

Pile d'ECU

Descriptif

Application logicielle intégrée

Algorithmes de contrôle, traitement, services

Cadre d'application

Cadres de Security et de sûreté

Environnement d'exploitation

AUTOSAR classic, AUTOSAR Adaptive, Canaux d'entrées/sorties

Virtualisations embarquées

Système d'exploitation en temps réel, abstractions de l'ECU

Micrologiciel

Chargeuses de démarrage, stockage sécurisé, filetage sécurisé

Matériel

Appareils à base de silicium, microcontrôleurs, cartes monocouches ou multicouches

Ressources liées aux logiciels embarqués

En savoir plus

Logiciel embarqué et conception de réseau

Découvrez comment vous pouvez développer rapidement et efficacement des logiciels innovants et sûrs pour offrir des fonctionnalités essentielles au produit.