Système embarqué

Un article de Wikipédia, l'encyclopédie libre.

Un système embarqué peut être défini comme un système électronique et informatique autonome, qui est dédié à une tâche bien précise. Ses ressources disponibles sont généralement limitées. Cette limitation est généralement d'ordre spatial (taille limitée) et énergétique (consommation restreinte).

Les systèmes embarqués font très souvent appel à l'informatique, et notamment aux systèmes temps réel.

Le terme de système embarqué désigne aussi bien le matériel que le logiciel utilisé.

Un synonyme de système embarqué est système enfoui.

Sommaire

[modifier] Histoire

Le premier système moderne embarqué reconnaissable a été le Apollo Guidance Computer, le système de guidage de la mission lunaire Apollo, développé par Charles Stark Draper du Massachusetts Institute of Technology. Chaque mission lunaire était équipée de deux systèmes (AGC), un chargé du système de guidage inertiel et un pour le Module lunaire.

Au commencement du projet, l'ordinateur AGC d'Apollo était considéré comme l'élément le moins fiable du projet. Par contre grâce à l'utilisation de nouveaux composants qu'étaient à l'époque les circuits intégrés, des gains substantiels sur la place utile et la charge utile ont été réalisés, avec une diminution supposée des risques déjà nombreux des missions.

[modifier] Contraintes

Les systèmes embarqués exécutent des tâches prédéfinies et ont un cahier des charges contraignant à remplir, qui peut être d'ordre :

  • De coût. Le prix de revient doit être le plus faible possible surtout s'il est produit en grande série.
  • D'espace compté, ayant un espace mémoire limité de l'ordre de quelques Mo maximum. Il convient de concevoir des systèmes embarqués qui répondent au besoin au plus juste pour éviter un surcoût.
  • De puissance de calcul. Il convient d'avoir la puissance de calcul juste nécessaire pour répondre aux besoins et au contraintes temporelles. Les processeurs utilisés dans les systèmes embarqués sont 2 à 3 décades moins puissants qu'un processeur d'un ordinateur PC.
  • De consommation énergétique la plus faible possible, due à l'utilisation de batteries et/ou, de panneaux solaires)
  • Temporel, dont les temps d'exécution de tâches est déterminé (les délais sont connus ou bornés a priori). Cette dernière contrainte fait que généralement de tels systèmes ont des propriétés temps réel.
  • De sécurité et de sûreté de fonctionnement. Car s'il arrive que certains de ces systèmes embarqués subissent une défaillance, ils mettent des vies humaines en danger ou mettent en périls des investissements importants. Ils sont alors dits « critiques » et ne doivent jamais faillir !

[modifier] Architecture

Les systèmes embarqués utilisent généralement des microprocesseurs à basse consommation d'énergie ou des microcontrôleurs, dont la partie logicielle est en partie ou entièrement programmée dans le matériel, généralement en mémoire FLASH (on parle alors de firmware).

[modifier] Caractéristiques

  • Plutôt que des systèmes universels effectuant plusieurs tâches, les systèmes embarqués sont étudiés pour effectuer des tâches précises. Certains doivent répondre à des contraintes de temps réel pour des raisons de sécurité et de rentabilité. D'autres ayant peu de contraintes au niveau performances permettent de simplifier le système et de réduire les couts de fabrication.
  • Les systèmes embarqués ne sont pas toujours des modules indépendants. Le plus souvent ils sont intégrés dans le dispositif qu'ils contrôlent.
  • Le logiciel créé pour les systèmes embarqués est appelé firmware. Il est stocké dans de la mémoire en lecture seule ou de la mémoire flash plutôt que dans un disque dur. Il fonctionne le plus souvent avec des ressources matérielles limitées : un petit voire pas de clavier, un petit écran et peu de mémoire.

[modifier] Interface utilisateur

Certains systèmes embarqués peuvent ne pas avoir d'interface utilisateur (ils sont alors dédiés à une seule tâche). Mais cette interface peut également être similaire à celle d'un système d'exploitation d'ordinateur (par exemple un PDA).

  • Les systèmes les plus simples comportent uniquement des boutons, des LED et un menu très simple.
  • Les systèmes les plus complexes peuvent avoir un écran tactile ou encore un ecran comportant des boutons de façon à minimiser l'espace. La signification des boutons change selon l'écran et la sélection se fait naturellement en pointant la fonction désirée.

Les ordinateurs de poche possèdent en général un bouton style "joystick" pour la navigation.

Avec l'explosion du web, les fabricants de systèmes embarqués ont proposé une nouvelle option : une interface style page web, au dessus d'une connexion au réseau. Cela permet d'éviter le coût d'un système sophistiqué tout en conservant une interface complète si nécessaire, sur un autre ordinateur. Cela est couronné de succès pour les installations permanentes à distance, les routeurs en particulier.

[modifier] Fiabilité

Les systèmes embarqués sont la plupart du temps dans des machines qui doivent fonctionner en continu pendant de nombreuses années, sans erreurs et, dans certains cas, réparer eux même les erreurs quand elles arrivent. C'est pourquoi les logiciels sont toujours développés et testés avec plus d'attention que ceux pour les pc. Les pièces mobiles non fiables (par exemple les lecteurs de disques, boutons ou commutateurs) sont proscrits.

La question de la fiabilité peut inclure :

  • Le système ne peut pas être éteint pour des réparations ou ce sont des réparations inaccessibles.

La solution peut être des pièces détachées supplémentaires ou un "mode mou" du logiciel qui fournit un fonctionnement partiel.

Par exemple : les câbles sous-marins, les balises de navigation, les puits de forage...

  • Le système doit rester en marche pour des raisons de sécurité. Souvent, les sauvegardes sont effectuées par un opérateur.

Dans ce cas, le "mode mou" est toléré.

Par exemple : les systèmes de contrôle des réacteurs, les usines chimiques, les signaux de train...

  • Un arrêt du système peut provoquer des pertes monétaires énormes s'il s'éteint.

Par exemple : les systèmes de ponts ou d'ascenseurs, les transferts de fond, les salles de bourse, les ventes ou services automatiques...

[modifier] Domaines d'applications

Les domaines dans lesquels on trouve des systèmes embarqués sont de plus en plus nombreux :

Système de guidage Autonetics D-17, du missile Minuteman I
Système de guidage Autonetics D-17, du missile Minuteman I

[modifier] Développement de systèmes embarqués

Le développement de systèmes embarqués nécessite des connaissances à la fois en électronique et en informatique. Parmi le matériel nécessaire pour réaliser un système embarqué on trouve :

...

[modifier] Voir aussi

[modifier] Liens externes