Exercice 1 : Ce qu'est un système embarqué
Un système embarqué est un ordinateur qui ne ressemble pas à un ordinateur : il est enfermé dans un objet, il n'a ni clavier ni écran, et il fait toujours la même chose.
- a) Donnez une définition d'un système embarqué, puis citez quatre objets du quotidien qui en contiennent un, en précisant à chaque fois la fonction qu'il assure.
- b) Citez quatre contraintes qui pèsent sur un système embarqué et que ne subit pas un ordinateur de bureau. Pour chacune, dites ce qu'elle interdit.
- c) Quelle différence faites-vous entre un système embarqué et un objet connecté ? Un système embarqué est-il forcément connecté ?
- d) Un lave-linge moderne contient un microcontrôleur. Décrivez ce qu'il mesure, ce qu'il décide et ce qu'il commande.
- e) Expliquez pourquoi un système embarqué est presque toujours programmé pour une exécution en boucle infinie, alors qu'un programme d'ordinateur se termine.
Voir la correction
Réponses
- a) Un calculateur intégré à un objet, dédié à une tâche : four, voiture, chauffe-eau, montre
- b) Énergie, taille et coût, temps réel, fiabilité
- c) L'embarqué calcule dans l'objet, le connecté échange avec un réseau ; non, l'embarqué n'est pas forcément connecté
- d) Mesure niveau, température, vitesse ; décide durée, chauffe, rotation ; commande vanne, résistance, moteur, pompe, verrou
- e) Parce qu'il a un état à maintenir : initialisation puis boucle lire, calculer, écrire, attendre
a) Un système embarqué est un système informatique intégré à un objet dont l'informatique n'est pas la fonction principale, dédié à une tâche déterminée, et soumis à des contraintes de taille, d'énergie et de temps de réponse. Quatre exemples : un four à micro-ondes, dont le microcontrôleur gère le minuteur et la puissance ; une voiture, où plusieurs dizaines de calculateurs gèrent l'injection, le freinage et les airbags ; un chauffe-eau, qui régule la température de l'eau ; une montre de sport, qui compte les pas et mesure le rythme cardiaque.
b) Quatre contraintes. L'ÉNERGIE : l'objet est souvent sur pile, ce qui interdit un processeur rapide et impose de dormir la plupart du temps. La TAILLE et le coût : quelques kilooctets de mémoire seulement, ce qui interdit un système d'exploitation généraliste. Le TEMPS RÉEL : un airbag doit se déclencher en quelques millisecondes, ce qui interdit toute opération dont la durée n'est pas garantie, y compris une allocation mémoire imprévisible. La FIABILITÉ : personne ne redémarre son frein, ce qui interdit de compter sur une intervention humaine en cas de blocage.
c) Un système embarqué est un calculateur intégré à un objet ; un objet connecté est un objet, en général à système embarqué, qui échange des données avec un réseau. Non, un système embarqué n'est pas forcément connecté : le calculateur d'un airbag ou d'une calculatrice ne communique avec rien. La connexion ajoute des fonctions, mise à jour, télésurveillance, pilotage à distance, mais elle ajoute surtout une surface d'attaque et une collecte de données, ce que le seul embarqué n'a pas.
d) Il MESURE le niveau d'eau par un pressostat, la température par une sonde, la vitesse et le couple du tambour, parfois la turbidité de l'eau et la masse du linge. Il DÉCIDE de la durée du remplissage, de la puissance de chauffe, du profil de rotation et du nombre de rinçages, en suivant le programme choisi et les mesures reçues. Il COMMANDE l'électrovanne de remplissage, la résistance de chauffe, le moteur du tambour, la pompe de vidange et le verrou de porte. C'est exactement la boucle capteur, calcul, actionneur de l'exercice suivant.
e) Parce qu'un système embarqué n'a pas de tâche à finir, il a un état à maintenir. Un programme d'ordinateur calcule un résultat puis rend la main au système d'exploitation ; un régulateur de température, lui, doit indéfiniment mesurer, comparer, corriger. La structure canonique est donc une initialisation suivie d'une boucle sans condition de sortie, dans laquelle on lit les entrées, on calcule, on écrit les sorties, puis on attend. Sortir de cette boucle signifierait abandonner l'objet dans un état non contrôlé, ce qui est précisément ce qu'il faut éviter.