Introduction aux Systemes Embarques
Les systemes embarques sont partout autour de nous ! De ta montre connectee au pilote automatique des avions, decouvre ce monde fascinant ou l'informatique rencontre l'electronique.
Objectifs du cours
- Definir ce qu'est un systeme embarque
- Identifier les systemes embarques dans notre quotidien
- Comprendre la difference entre systeme embarque et ordinateur classique
- Connaitre les domaines d'application des systemes embarques
- Apprehender les contraintes specifiques de l'embarque
Erreurs courantes a eviter
- Penser qu'un systeme embarque est toujours petit ou simple
- Confondre systeme embarque et objet connecte (IoT)
- Croire qu'un systeme embarque n'a pas de logiciel
- Ignorer les contraintes temps reel et energetiques
**Definition**
Un **systeme embarque** (embedded system en anglais) est un systeme informatique specialise, concu pour realiser une ou plusieurs taches specifiques au sein d'un systeme plus large.
**Caracteristiques principales**
* **Dedie** : concu pour une fonction precise (contrairement a un PC polyvalent) * **Integre** : fait partie d'un systeme plus grand (voiture, appareil medical...) * **Autonome** : fonctionne sans intervention humaine permanente * **Contraint** : ressources limitees (memoire, energie, puissance)
**L'equation de l'embarque**
``` Systeme embarque = Materiel + Logiciel + Fonction specifique ```
**Exemples concrets**
| Appareil | Systeme embarque | Fonction | |----------|------------------|----------| | Voiture | ECU (Engine Control Unit) | Gestion moteur | | Machine a laver | Microcontroleur | Programme lavage | | Smartphone | Processeur ARM | Systeme complet | | Thermometre medical | Capteur + MCU | Mesure temperature | | Drone | Controleur de vol | Stabilisation |
**Ce qui n'est PAS un systeme embarque**
* Un ordinateur de bureau * Un serveur web * Un laptop (bien qu'il contienne des systemes embarques !)
# Simulation d'un systeme embarque simple
# Exemple : thermostat intelligent
class ThermostatEmbarque:
"""
Simulation d'un thermostat embarque
- Ressources limitees (simule par des contraintes)
- Fonction dediee : regulation temperature
- Fonctionnement autonome
"""
def __init__(self):
# Memoire limitee (simule)
self.memoire_max = 2048 # 2 Ko de RAM
self.memoire_utilisee = 0
# Parametres du systeme
self.temperature_cible = 20.0
self.hysteresis = 0.5
self.chauffage_actif = False
# Historique limite (contrainte memoire)
self.historique = []
self.historique_max = 10
def lire_temperature(self, temp_simulee):
"""Simule la lecture d'un capteur"""
# Dans un vrai systeme : lecture ADC
return round(temp_simulee, 1)
def decider_action(self, temperature):
"""Logique de regulation (simple mais efficace)"""
if temperature < self.temperature_cible - self.hysteresis:
self.chauffage_actif = True
return "CHAUFFER"
elif temperature > self.temperature_cible + self.hysteresis:
self.chauffage_actif = False
return "ARRETER"
else:
return "MAINTENIR"
def enregistrer_mesure(self, temp, action):
"""Stockage avec contrainte memoire"""
if len(self.historique) >= self.historique_max:
self.historique.pop(0) # Supprime le plus ancien
self.historique.append((temp, action))
def cycle_principal(self, temperature_actuelle):
"""Boucle principale du systeme embarque"""
temp = self.lire_temperature(temperature_actuelle)
action = self.decider_action(temp)
self.enregistrer_mesure(temp, action)
return f"Temp: {temp}C | Action: {action} | Chauffage: {'ON' if self.chauffage_actif else 'OFF'}"
# Simulation
print("=== SIMULATION THERMOSTAT EMBARQUE ===\n")
thermostat = ThermostatEmbarque()
thermostat.temperature_cible = 21.0
# Simule des variations de temperature
temperatures = [18.0, 19.0, 20.0, 21.0, 22.0, 21.5, 21.0, 20.5, 20.0, 19.5]
for i, temp in enumerate(temperatures):
resultat = thermostat.cycle_principal(temp)
print(f"Cycle {i+1}: {resultat}")
print(f"\nHistorique (limite a {thermostat.historique_max} entrees):")
for mesure in thermostat.historique:
print(f" {mesure[0]}C -> {mesure[1]}")Quiz de validation
1. Quelle est la caracteristique principale d'un systeme embarque ?
2. Combien d'ECU (calculateurs embarques) peut contenir une voiture moderne ?
3. Quelle contrainte N'EST PAS typique des systemes embarques ?
4. Quel appareil contient le plus de systemes embarques ?
5. Que signifie TinyML ?
