Vous êtes sur la page 1sur 35

SYSTEMES EMBARQUES

HERGLI MOUNIR
Embedded system
• Any electronic system that uses a computer
chip, but that is not a general-purpose
workstation, desktop or laptop computer.
• Such systems use microcontrollers (MCUs) or
microprocessors (MPUs), or they may use
custom-designed chips.
• Hardware and software which forms a component of
some larger system and which is expected to function
without human intervention.
• An embedded system may include some kind of
operating system but often it will be simple enough to
be written as a single program. It will not usually have
any of the normal peripherals such as a keyboard,
monitor, serial connections, mass storage, etc. or any
kind of user interface software unless these are
required by the overall system of which it is a part.
• Often it must provide real-time response.
IMPORTANCE DU MARCHE DE
L’EMBARQUE: Chiffres !!!
• En 1999
– Il a été vendu 108 millions de processeurs x86 pour le marché du PC
– contre 1,4 milliard de processeurs 8 bits pour le marché des systèmes
embarqués (en 1999)
– 5% des processeurs vendus sont pour le marché du PC.
• En 2002
– 7 milliards de processeurs en fonction sur la planète ( la majorité de
8bits)
– 98% des μP sont dans des systèmes embarqués
– 30-70 μP ou μC dans une voiture moderne
• Pour 2004
– 260 millions de processeurs pour le marché du PC grand public à
– 14 milliards de processeurs tout type confondu (microprocesseur,
microcontrôleur, DSP) pour le marché de l'embarqué
Définition
• Un système embarqué :
– Système électronique et informatique autonome
– Est un système numérique.
– Utilise généralement un processeur.
– Exécute un logiciel dédié pour réaliser une fonctionnalité précise.
– Remplace souvent des composants électromécaniques.
– N ’a pas réellement de clavier standard (BP, clavier matriciel...).
– L ’affichage est limité (écran LCD…) ou n ’existe pas du tout.
– N’est pas un PC.
– N’exécute pas une application scientifique ou commerciale
traditionnelle.
Différences avec un PC ???
• L ’interface IHM peut être aussi simple qu’une led
qui clignote ou aussi complexe qu’un système de
vision de nuit en Temps Réel.
• Des circuits numériques FPGA, ASIC ou des circuits
analogiques sont utilisés en plus pour augmenter
les performances du système ou sa fiabilité.

• Le logiciel a une fonctionnalité fixe à exécuter et est


spécifique à une application.
DOMAINES
• Ctrl processus industriel, machine outils
– process chimique, process nucléaire, …
– Contrôle de systèmes en Temps Réel.

• Auto, transport, spatial


– système de navigation aérien.
– Moteur automobile
– Sécurité
• Réseau télécoms: routeurs, PABX

– Transmission d’information et commutation.


– Téléphone, Internet.

• Médicales

• Militaires

• Périphériques informatiques: imprimante, ..


• Magnétoscope numérique, TV numérique
• Equipement grand public jusque-là isolés
• Traitement du signal : radar, sonar, compression vidéo...
• ….
Exemple d’évolution
• Exemple dans le spatial :
– Satellite SPOT1 (satellite d'observation, 1986) :
un seul calculateur, assez simple

– Satellite METOP (satellite météorologique, 2006) :


une vingtaine de calculateurs sophistiqués
EXEMPLES DE SYSTEMES EMBARQUES
Office systems and mobile Building systems Manufacturing and
equipments Process Control
Answering machines Air conditioning Automated factories
Copiers Backup lighting and Bottling plants
Faxes generators Energy control systems
Laptops and notebooks Building management Manufacturing plants
Mobile Telephones systems Nuclear power stations
PDAs, Personal organisers CTV systems Oil refineries and related
Still and video cameras Fire Control systems storage facilities
Telephone systems Heating and ventilating Power grid systems
Time recording systems systems Power stations
Printer Lifts, elevators, escalators Robots
Microwave Lighting systems Switching systems
Security systems Water and sewage systems
Security cameras
Sprinkler systems
EXEMPLES DE SYSTEMES EMBARQUES
Transport Communications Other equipment
Aeroplanes Telephone systems Automated teller systems
Trains Cable systems Credit card systems
Buses Telephone switches Medical Imaging
Marine craft Satellites equipment
Jetties Global Positioning Domestic Central Heating
Automobiles System control
Air Traffic Control VCRs
Signalling Systems
Radar Systems
Traffic Lights
Ticketing machines
Speed cameras,
Radar speed
detectors
Cas de l’automobile
• Remplacer des systèmes classiques par des systèmes
électronique
• Contrôle moteur
– Remplacer le carburateur par un système électronique (CAO et
contrôleur)
– Améliorer le rendement et l’économie d’énergie
• Stop &go: arrêter le moteur en feu rouge et le remettre en
marche juste en appuyant sur l’accélérateur
• Anticollision
• Système de suspension
• Améliorer la sécurité
• ….
• 80 µprocesseurs dans une voiture
• Pilotage automatique (coordination globale entre la voiture
et la route, le trafic)??
• Informatique compliquée
AUTOMOBILE

Car with an automatic headlight leveling system. 1: Rear distance Sensor,


2: Control unit, 3: Speed signal, 4: Front distance sensor, 5: Motor, 6: Lamps.
Contrôle de freinage
• Deux systèmes pour contrôler la voiture en cas de
freinage brusque
- Freinage dans des circonstances difficiles.

• Anti-lock brake system (ABS): Contrôle des freins pour


éviter le dérapage
– Intensité de freinage en fonction de la vitesse de rotation
des roues.
• Automatic stability control (ASC+T): Contrôle de la
puissance du moteur pour une meilleure stabilité.
• Les deux systèmes ABS et ASC+T communiquent
(Embedded Networks)
ABS sur BMW 850i
sensor sensor

brake brake

hydraulic
ABS
pump

brake brake

sensor sensor
• Un système permettant de visualiser sur une
carte la position du porteur et les routes (+qq.
repères) autour.
• La position est obtenue par la lecture de
données depuis des satellites.
GPS search display
renderer
receiver engine

user
database interface
BUGS
• Informatique compliqué
• La sécurité est l’élément principal
• Les patriots de dharan
– Débordement arithmétique dans le calcul de l’horloge (débordement
de 1s pour un fct de 100h)
– Décalage de 600 m
• Ariane 501 a explosé à cause d’une erreur arithmétique et du
système
– Problème de simulation sur plateforme non adéquate (ariane 4 au
lieu de ariane 5)
• Pathfinder, Mars polar Lander
• Un petit robot a faillit être disparu à cause d’une inversion de
priorité a été sauvé de justesse (coupure des réacteurs à 50 m
de l’attérissage)
• Pentium, Athlon
• Bugs des téléphones et appareils photos
– Enlever l’objectif pendant le telech du logiciel l’appareil est fichu
Comment éviter et contrôler les bugs ?
• Si on laisse faire les bugs augmentent plus vite que la loi de
Moore !
• De la vérification, encore et toujours (70% du coût)
– Mais peut-on vraiment en faire plus?
• De meilleurs techniques de design
– Modèles de calculs plus simples
– Spécifications formelles lisibles par tous les acteurs
• Des meilleurs outils
– Exécution immédiate des spécifications, maquettes virtuelles
– Génération automatique des circuits et codes embarqués
– Vérification formelle des propriétés critiques
• Approche scientifique et industrielle
CARACTERISTIQUES
Faible encombrement, faible poids

– Electronique « pocket PC », applications portables


où l’on doit minimiser la consommation électrique
(bioinstrumentation...).
– Difficulté pour réaliser le packaging afin de faire
cohabiter sur une faible surface électronique
analogique, électronique numérique, RF sans
interférences.
Environnement
– Température, vibrations, chocs, variations
d’alimentation, interférences RF, corrosion, eau, feu,
radiations.
– Le système peut évoluer dans un environnement
non contrôlable.
– Prise en compte des évolutions des caractéristiques
des composants en fonction de la température, des
radiations...
Fonctionnement critique pour la sécurité
des personnes. Sûreté
– Le système doit toujours fonctionner correctement.
– Sûreté à faible coût avec une redondance minimale.
– Fiabilité: Sûreté de fonctionnement du logiciel,
fonctionne en autonomie complète
– Système opérationnel même quand un composant
électronique lâche.
– Maintenable dans le temps: Certains produits sont
censés durer jusqu’à 20 ans et plus (surtout dans le
domaine militaire)
– Optimisé: généralement logicielles de petite taille car
plus c’est grand plus il y a chance d’avoir des bugs.
– Choix entre un design tout électronique ou
électromécanique.
• Beaucoup de systèmes embarqués sont fabriqués en
grande série et doivent avoir des prix de revient
extrêmement faibles, ce qui induit :
– Une faible capacité mémoire.
– Un petit processeur (4 bits). Petit mais en grand nombre !
• La consommation est un point critique pour les
systèmes avec autonomie.
– Une consommation excessive augmente le prix de revient
du système embarqué car il faut alors des batteries de
forte capacité.
• Faible coût :
– Optimisation du prix de revient.
Déterminisme ou non
Déterminisme !!
• Déterminisme: réactions toujours identiques
aux mêmes sollicitations
– Freinage, contrôle de vol, comptage
• Non déterminisme: réactions différentes
– Externe (l’environnement, toujours présent)
– Interne (système), rarement souhaitable
– Accès Web, tirage au sort
Parallélisme
• Les SE comportent toujours des activités parallèles
– Compactes, temps réel fort (très conceptuel):
• Pilotage 3 axes
• Freinage 4 roues
• Réception / émission radio
– Distribuées, temps réel faible:
• Contrôle aérien
• Surveillance de fonctionnement
• Comment programmer et vérifier le parallélisme?
– Tâches + OS, ordonnancement dynamique ou statique
– Threads et callbacks de C ou Java
– Programmation synchrone
Temps réel
• Fort: temps de réponse partie de la
fonctionnalité:
– Pilotage, freinage, contrôle moteur, airbag, son,
vidéo, suivi GPS
• Faible: temps de réponse raisonnable
– Initialisation GPS, climatisation, surveillance de
bon fonctionnement, gestion de limite de vitesse
Systèmes Embarquées et Temps
Réel
• Le Temps Réel est un concept un peu vague.
• « Un système est dit Temps Réel lorsque l'information après
acquisition et traitement reste encore pertinente ».
• Généralement, un système embarqué doit respecter :
– des contraintes temporelles fortes (Hard Real Time).
– on y trouve enfoui un système d'exploitation ou un noyau Temps
Réel (Real Time Operating System, RTOS).
– Paramètres: masquages, interruptions, priorités, etc
– Souple mais très difficile à maîtriser et valider
– Réactivité : des opérations doivent être faites en réponse à un
événement extérieur (interruption matérielle).
– La validité d’un résultat dépend du moment où il est délivré.
– Rater une échéance va causer une erreur de fonctionnement.
• Dans le cas d'une information arrivant de façon
périodique (sous forme d’une interruption
périodique du système), les temps d'acquisition
et de traitement doivent rester inférieurs à la
période de rafraîchissement de cette information.

• Il faut que le noyau ou le système Temps Réel soit


déterministe et préemptif capable d’interrompre
une tache planifiée en cours en faveur d’une tâche
de plus forte priorité.
• Une confusion classique est de mélanger
Temps Réel et rapidité de calcul du système
donc puissance du processeur
(microprocesseur, microcontrôleur, DSP).

Tâches et OS
• Découpe en tâches périodiques / sporadiques
• Ordonnancement statique
– Statique pour périodiques, trous pour sporadiques
– Maîtrisable mais difficile à calculer, instable aux
changements
• Fonctionnement en Temps Réel :
Ordonnancement dynamique par événements
/ timers.
• Beaucoup de systèmes sont « multirate » :
traitement d’informations à différents rythmes.
SYSTÈME EMBARQUEE TYPIQUE
Goulots d’étranglement
• Complexité des applications
– De plus en plus de fonctions, d’algorithmes, d’interactions.
– Spécifications globales et locales très difficiles à écrire
• La recherche de performances accroît la complexité
– Répartir les fonctions accroît le non-déterminisme
– Minimiser la puissance dissipée complique la logique
• La vérification est le vrai goulot d’étranglement
– Le non déterminisme explose le nombre de tests
– L’interconnexion des parties est très difficile à tester
– Idem pour l’interaction matériel / logiciel
Cycle de Vie

Vous aimerez peut-être aussi