Chapitre 1 : Introduction aux systèmes embarqués
1. Introduction :
Un système embarqué est un système complexe qui intègre du logiciel et du matériel conçus
ensemble afin de fournir des fonctionnalités données.
Le logiciel a une fonctionnalité fixe à exécuter qui est spécifique à une application. L'utilisateur
n'a pas la possibilité de modifier les programmes.
Un système embarqué est autonome et ne possède pas des entrées/sorties standards tels qu'un
clavier ou un écran d'ordinateur. Contrairement à un PC, l'interface IHM (Interface Homme
machine) d'un système embarqué peut être aussi simple qu'une diode électroluminescente LED
( Light Emitter Diode) qui clignote ou aussi complexe qu'un système de vision de nuit en temps
réel.
Les systèmes embarqués sont désormais utilisés dans des applications diverses tels que le
transport (avionique, espace, automobile, ferroviaire), dans les appareils électriques et
électroniques (appareils photo, jouets, postes de télévision, électroménager, systèmes audio,
téléphones portables), dans la distribution d'énergie, dans l'automatisation, …, etc.
2. Définition
Définition 1 : Un système électronique embarqué ou enfoui est un élément constitutif d'un
système plus complexe pour lequel il rend des services bien précis (contrôle, surveillance,
communication…). Il est constitué de parties matérielles et logicielles qui sont conçues
spécifiquement pour réaliser une fonction dédiée.
Définition 2 : Système embarqué = Système électronique/informatique conçu pour réaliser une
ou plusieurs tâches précises.
Quelle que soit la nature et la complexité du système, on le décompose en :
système contrôlé
système de contrôle
Le système contrôlé = environnement (procédé) équipé d'une instrumentation qui
réalise l'interface avec le système de contrôle
Le système de contrôle = éléments matériels et logiciels dont la mission est d'agir sur
le procédé via les actionneurs en fonction de l'état de ce procédé indiqué par les capteurs
de manière maintenir ou conduire le procédé dans un état donné.
1
Unité de traitement
numérique
Système de contrôle Système contrôlé
L’unité de traitement numérique dans un système de contrôle consiste à l’un des composants
suivants : microcontrôleur, microprocesseur, DSP, FPGA, ASIC
Un capteur est un instrument qui permet de convertir une grandeur physique en une grandeur
électrique
Un actionneur permet de transformer l’énergie qui lui est fournie en un phénomène physique
qui fournit un travail, modifiant ainsi le comportement ou l’état d'un système
Les interfaces permettent d’adapter les signaux entre l’unité de traitement numérique d’une
part et les capteurs et les actionneurs d’autre parts (analogique numérique et numérique
analogique)
3. Contraintes d’un système embarqué
3.1 Contraintes techniques
Temps réel : le système doit répondre dans un délai déterminé (ex. airbag déclenché en
quelques millisecondes).
Ressources limitées : processeur peu puissant, mémoire RAM/ROM réduite, stockage
minimal.
Optimisation logicielle : le code doit être compact, efficace et robuste.
Fiabilité et robustesse : fonctionnement garanti sur de longues périodes sans erreurs ni
redémarrages intempestifs.
Durée de vie : résistance à l’usure électronique et aux défaillances.
Compatibilité matérielle : intégration avec capteurs, actionneurs et protocoles de
communication spécifiques.
2
3.2 Contraintes énergétiques
Basse consommation : essentielle pour les systèmes sur batterie (objets IoT, capteurs
distants).
Modes basse énergie : veille, sommeil profond, gestion dynamique de l’alimentation.
Autonomie : durée de fonctionnement longue sans recharge ou remplacement fréquent
de batterie.
3.3 Contraintes économiques
Coût de production réduit : optimisation du choix des composants pour rester
compétitif.
Fabrication en grande série : industrialisation nécessitant simplicité et
reproductibilité.
Maintenance minimale : limitation des interventions coûteuses (mises à jour à distance
via OTA, diagnostics automatiques).
Durée de vie du produit : équilibre entre coût bas et fiabilité acceptable.
3.4 Contraintes environnementales
Résistance physique : température extrême, humidité, vibrations, poussière, corrosion.
Normes électromagnétiques : compatibilité électromagnétique (CEM), immunité aux
parasites.
Sécurité électrique : isolement, protections contre surtensions/surintensités.
Impact écologique : respect des normes de recyclage (RoHS, WEEE), consommation
énergétique limitée.
3.5 Contraintes de sécurité et sûreté
Sécurité fonctionnelle : assurer un comportement sûr en cas de panne (fail-safe,
redondance).
Sécurité informatique (cybersécurité) : protection contre piratage, intrusion, vol de
données.
Confidentialité : cryptage des communications dans les systèmes connectés (IoT).
Mises à jour sécurisées : éviter l’injection de logiciels malveillants.
3
3.6 Contraintes liées à l’usage et à l’ergonomie
Interface utilisateur simple : affichage clair, commandes intuitives, feedback
immédiat.
Fiabilité de l’interaction : absence d’erreurs dues à une mauvaise utilisation.
Adaptabilité : capacité à évoluer ou à être configuré selon les besoins de l’utilisateur.
4. Modes de fonctionnement
On distingue deux modes de fonctionnement :
Fonctionnement cyclique (time driven ou système "synchrone")
Fonctionnement événementiel (event driven)
4.1 Fonctionnement Cyclique :
Scrutation d'une mémoire d'entrée périodiquement (polling)
Échantillonnage des entrées sur l'horloge du système
Activation du système à chaque top d'horloge
A chaque top d'horloge faire :
- Lecture de la mémoire des entrées
- Calcul des ordres à envoyer au procédé
- Émission des ordres
- Fin
Mais ce type de système est peu "réactif" si l'environnement produit des informations à des
fréquences différentes ce qui oblige à prévoir toutes les réactions du système dans la même
boucle donc il y a un problème de performance et en est obligé à imbriquer des boucles de
fréquences multiples ce qui implique des difficultés de réalisation, de lisibilité du code et
d'évolution
4.2 Fonctionnement Evénementiel
Le fonctionnement est basé sur le principe d'activation du système à chaque événement (notion
d'interruption)
4
A chaque interruption faire :
- Lecture de l'information arrivée
- Activation du traitement correspondant
- Émission des ordres issus de ce traitement
- Fin
Mais dans ce cas le problème réside dans le cas où une interruption survient alors que le système
est en train de traiter une interruption précédente, ce qui implique des contraintes de
programmation :
Notion de priorité des interruptions
Notion de "tâche" associée à une ou plusieurs interruptions
Mécanisme de préemption et de reprise de tâche
Gestion de l'exécution concurrente des tâches (ordonnancement)
=> Un système temps réel est souvent un système multitâche incluant un gestionnaire de
tâches (Ordonnanceur)