Vous êtes sur la page 1sur 21

Chapitre 1

Introduction aux systmes embarqus et temps rel

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


1

1. Notions et caractristiques des systmes embarqus

Domaines dapplication des systmes embarqus

z Domaines traditionnels
- Avionique
- Robotique
- Automobile
- Militaire

z Domaines nouveaux
- Jeux et loisirs
- Tlphonie, Internet mobile
- Implants (sant
(sant, scurit
scurit))
- Domotique,
- immeubles intelligents,
- Villes intelligentes
- Vtements

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


2

1
Exemple typique de systme embarqu

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


3

Exemples de systmes embarqus

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


4

2
Tendances du march

z Logiciel :
- Beaucoup de fournisseurs
- Pas de fournisseur dominant
- Problmes de compatibilit : Posix 1003.1c
1003 1c et 1b

z Matriel :
- Processeurs essentiellement Motorola
- Cartes puce
- Priphriques dE/S (mesures) : trs diversifis

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


5

z Dfinitions
1. Un systme embarqu (SE) est un systme informatis spcialis qui constitue une partie
intgrante dun systme plus large ou une machine. Typiquement, cest un systme sur un seul
processeur et dont les programmes sont stocks en ROM. A priori, tous les systmes qui ont des
interfaces digitales (i.e. montre, camra, voiture) peuvent tre considrs comme des SE.
Certains SE ont un systme dexploitation et dautres non car toute leur logique peut tre
implante
p en un seul programme.
p g

2. Un systme embarqu est une combinaison de logiciel et matriel, avec des capacits fixes ou
programmables, qui est spcialement conu pour un type dapplication particulier. Les
distributeurs automatiques de boissons, les automobiles, les quipements mdicaux, les camras,
les avions, les jouets, les tlphones portables et les PDA sont des exemples de systmes qui
abritent des SE. Les SE programmables sont dots dinterfaces de programmation et leur
programmation est une activit spcialise.

3. Un systme embarqu est une composante primordiale dun systme (i.e. un avion, une
voiture) dont lobjectif est de commander, contrler et superviser ce systme.

z Embedded : Enfoui / Embarqu

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


6

3
z Principales caractristiques

- Encombrement mmoire (mmoire limite, pas de disque en gnral)

- Consommation dnergie (batterie : point faible des SE)

- Poids et volume

- Autonomie

- Mobilit

- Communication (attention : la communication affecte la batterie)

- Contraintes de temps rel

- Contraintes de scurit

- Cot de produits en relation avec le secteur cible

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


7

Besoins

z Intgration massive de composants embarqus rpartis pour btir la socit de linformation :


tlphones cellulaires PDA machines programmables
automobile - appareils mdicaux photo/vido/hifi
g avionique
lectromnager q - spatial
p jjouets

z Outils thoriques et pratiques pour lintgration permettant de prendre en compte


tous ces critres la fois
- Fonctionnalit
- Qualit : Robustesse et Performances
- Contraintes matrielles (poids, encombrement, .. )
- Cot g
global,, consommation lectrique
q
- Dlai de mise sur le march

z Construire des systmes de fonctionnalit et qualit dtermine et garantie, cot


acceptable, est un dfi technologique et scientifique majeur.

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


8

4
Aspects considrer

z Techniques : Conception conjointe (Matriel, Logiciel, Environnement)

z conomiques : Optimisation par rapport au march, entre cot et qualit

z Multi-comptence : Combinaison de comptences en logiciel, contrle, rseaux,


ingnierie en lectronique, IHM, automatique, mdecine, mcanique

Dfis considrer
z Htrognit : Construire des systmes complexes par intgration de composants
htrognes (mcanismes de communication, vitesse de fonctionnement, granularit des
calculs, varit des mdias)

z Complexit : Leffort de dveloppement augmente exponentiellement avec le nombre


de composants intgrs
intgrs. Do
D o la ncessit de remplacer les mthodes de validation a
posteriori par des mthodes de validation incrmentale. Dvelopper des outils thoriques et
techniques pour la validation incrmentale.

z Intelligence : Moyen damliorer la qualit (robustesse et la performance) de systme :


Auto-diagnostic, Auto-configuration, Adaptabilit lenvironnement, Evaluation des risques

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


9

Dveloppement de SE Niveaux dabstraction

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


10

5
Intgration de technologies

Mthodes et outils

Programmation et
Middleware

Rseau

OS
SoC

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


11

Comptences pour la conception et dveloppement de SE

z Domaine mtier : mdical, loisirs, transport


z Ingnierie : lectricit, lectronique, chimie, mcanique, robotique, , informatique
z Sciences : mathmatiques, statistiques, probabilits,recherche oprationnelle

z Informatique
Algorithmique
Programmation
Architectures (CPU, mmoires, priphriques)
Gestion de lnergie des processeurs et priphriques
Gnie logiciel, co-design, mthodes formelles, automates
Evaluation de performances, test, simulation, vrification
Systmes
S t d
dexploitation
l it ti ((ordonnancement)
d t )
Scurit et robustesse
Rseaux, mobilit
Capteurs et actionneurs
Vision par ordinateur, camra

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


12

6
2. Notions et caractristiques des systmes temps rel

La gestion du temps dans un OS classique (temps partag)

z Un systme d'exploitation (OS) classique, c.--d. orient temps partag, doit organiser et
optimiser l'utilisation
l utilisation des ressources de faon ce que l'accs
l accs ces ressources soit quitable.
quitable
Un OS n'a donc pour seule contrainte de temps que celle d'un temps de rponse satisfaisant pour
les utilisateurs avec lesquels il dialogue. Les traitements qu'on lui soumet sont effectus en
parallle au fil de l'allocation des quanta de temps aux diverses applications.

z Un OS est capable de dater les vnements qui surviennent au cours du droulement de


l'application! : mise jour d'un fichier, envoi d'un message, etc. Il permet aussi de suspendre un
traitement pendant un certain dlai, d'en lancer un une certaine date...

z En aucun cas, un OS classique ne garantit que les rsultats seront obtenus pour une date
prcise, surtout si ces rsultats sont le fruit d'un traitement dclench par un vnement
EXTERIEUR (mission d'un signal par un priphrique quelconque,)

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


13

Dfinitions

z Intervalle de temps compatible avec le rythme rel darrive des donnes et lintrieur
duquel un ordinateur peut effectuer les traitements ncessaires
Le petit Robert.
Robert

z Temps rel signifie laptitude dun systme dexploitation de fournir le niveau de service
requis au bout dun temps de rponse born . Posix 1003.1b

z Un systme temps rel est un systme informatique qui doit rpondre des stimuli fournis
par un environnement externe afin de le contrler.

z Un STR est un systme dont la correction dpend non seulement de la justesse des calculs
mais aussi du temps auquel est fourni la rponse (contraintes temporelles).
Un rsultat hors dlai et un rsultat faux.

Attention : Ne pas confondre temps rel et rapidit


Temps rel veut dire prdictibilit et non rapidit.

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


14

7
Classification

z Temps rel dur (hard real-time) : le non respect des contraintes


temporelles entrane la faute du systme
e.g. contrle de trafic arien, systme de conduite de missile, ...

z Temps rel souple (soft real-time) : le respect des chances est


important mais le non respect des chance na pas de graves consquences
e.g. systme d'acquisition de donnes pour affichage

z Temps rel ferme (firm real-time) : temps rel souple, mais si lchance est
dpasse le rsultat obtenu na plus de valeur (et est donc cart)
e.g. projection vido

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


15

Capteurs

Actionneurs

Environnement Systme de contrle

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


16

8
Domaines dapplications

z Installations industrielles (chimique, nuclaire, automobile, )

z Contrle et rgulation de trafic en milieu urbain

z Systmes embarqus (voitures,


(voitures trains,
trains ...))

z Tlcommunications

z Avionique et arospatial

z Domaine militaire

z Multimdia et Web (tlconfrences, tl-achat, )

z Domotique, Jeux

z Mdecine, Tl-mdecine
z Ralit virtuelle, Travail coopratif
z Autres

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


17

Exemple simple et clairant (1)

z On dispose de deux systmes :


- Systme Cool, avec : processeur vitesse 1 ; surcot systme de 1 ;
ordonnancement EDF (Earliest Deadline First)
- Systme Speedy, avec : processeur vitesse 10 ; surcot systme de 0 ;
ordonnancement l'anciennet (FIFO)
z Donc Speedy est 10 fois plus rapide et infiniment plus efficace que Cool

z On considre une application compose de deux tches non premptibles :


- Tche T1 envoie des commandes priodiques pour entretenir la commande moteur du
vhicule sa dure est de 270 sur Cool et de 27 sur Speedy ; son dlai critique de 320
- Tche T2 ragit une commande du volant ; sa dure est de 15 sur Cool et
de 1,5 sur Speedy ; son dlai critique est de 21.

z A linstant t=0, la tche T1 est dclenche pour son excution priodique.


Cependant, au mme instant, T2 est demande en raction un vnement.
Les tches T1 et T2 sont de mme importance pour la conduite du vhicule

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


18

9
Exemple simple et clairant (2)

Excution de T2 dabord T1 T2
cause de son chance
Surcot

E i de
Excution d 15 u.t E i de
Excution d 270 u.t

0 16 17 287 320

Excution sur le processeur Cool

T2 respecte son chance

T2 ne respecte pas son chance


Excution en FIFO

Excution de 27 u.t

0 21 27 28,5
Excution sur le processeur Speedy

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


19

Sources des contraintes de temps (1)

Origines externes
Caractristiques physiques (vitesse, dure de raction chimique, )

Caractristiques lies aux lois de commande du systme physique

Qualit de service requise en terme de dlai de rponse tolrable


(qualit audio/vido)

Perception sensorielle et le temps de raction de lhomme

Contraintes caractre commercial

Autres

Connaissance des aspects physiques ncessaire

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


20

10
Sources des contraintes de temps (2)

Origines internes
Choix de conception
architecture centralise ou rpartie (donnes, traitements, contrle)
actions priodiques (avec les priodes adquates) ou apriodiques
choix dune structure dapplication (interface entre composants, )
autres

Choix darchitecture matrielle et logicielle


processeurs avec des vitesses particulires
systme dexploitation (intgrant des algorithmes dordonnancement)
rseau avec des dbits et des temps de rponse donns
autres

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


21

Expression des contraintes de temps (1)

Expression laide du temps quantifi (temps physique)

Temps absolu

un instant (date)

une fentre temporelle (intervalle de temps)

Temps relatif

une dure (dlai,


(dlai priode),
priode) minimale,
minimale maximale,
maximale moyenne

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


22

11
Expression des contraintes de temps (2)

Expression sur les vnements


Contraintes sur la dure de vie dun vnement
Contraintes sur les instants et lordre doccurrence dvnements

Expression sur les donnes


Dure de validit (ou contrainte de fracheur)
Contraintes de production
Contraintes de corrlation

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


23

Expression des contraintes de temps (4)

Expression sur les actions (oprations)


Priode
Instant au plus tt/tard, pour dmarrer une action

Instant au plus tard/tt, pour finir une action

Temps maximum dexcution (ou chance relative)

Temps maximal dattente dune ressource

Temps minimal/maximal dutilisation dune ressource

Temps minimum dexcution affect une action


Prcdence entre actions

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


24

12
Quelques ordres de grandeur

Domaines dapplications Ordre de grandeur des CT


Processus chimique en heure
Fabrication en minute

Robotique en 10 ms

Systmes vocaux en ms

Systmes radar en ms

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


25

Principes et concepts de base (1)


z Application temps rel = Ensemble de tches qui cooprent

z Les tches accdent des ressources communes

z Les tches s
schangent
changent des messages via un rseau

z Les tches doivent respecter diffrentes contraintes :


- Cohrence des ressources partages
- Tolrance aux fautes
- Scurit
- Temps de rponse

z Les tches sexcutent sur 1 ou n processeurs

z Systme temps rel vs Application temps rel


Les deux notions sont souvent confondues

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


26

13
Exemple dapplication temps rel et embarque (1)

zTches critiques :
- Contrle airbag, contrle ABS
- Contrle injection
injection-moteur
moteur
- Contrle pneumatique
zTches non critiques
z Contrle climatisation
z Contrle vitres
z Radio
Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse
27

Exemple dapplication temps rel et embarque (2)

Tches contrle de vol


Tches gestion
de cabine

Tches de
Maintenance
Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse
28

14
Elments constituant le temps de rponse dune tche

z Temps dexcution (Worst Case Execution Time)


z Temps dattente de ressources
z Temps dattente des E/S

z Temps dus au systme dexploitation et difficilement calculables


Temps de latence des interruptions
(dlai entre larrive dune IT et le dbut de sa prise en compte effective)

Temps de premption
(dlai de slection de la tche excuter)

Latence de lordonnancement
(dl i entre
(dlai t lla rception
ti d de lIT ett llentre
t d dans lla t
tche
h dde llutilisateur)
tili t )

Temps de commutation de contexte de tche


Latence de smaphore
(dlai entre la libration dun smaphore et la ractivation de la tche bloque
derrire ce smaphore)

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


29

Exemple de temps de rponse un vnement

z - On considre deux threads Th1 et Th2. Th1 est le plus prioritaire.


- A linstant t0, Th1 lance une E/S.
- Le dessin ci-dessous schmatise la suite des vnements :

Th2 devient Le driver fait


actif Passer Th1 prt Th1 devient
Th1 se met actif Th1 sort de lappel
Fin de lE/S Th2 est prempt
en attente systme (E/S)
de lE/S

t0 t1 t2 t3 t4 t5 t6

Temps dlection Latence Temps de Temps de Dure de


et changement dIT premption changement retour de
de contexte de contexte lappel systme

Dure de lopration dE/S

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


30

15
Principes et concepts de base (2)

z Problmes grer
- Problmes de linformatique classique
- Concurrence en prsence de contraintes de temps
- Communication
- Tolrance aux fautes
- Scurit

z Lordonnancement joue un rle fondamental

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


31

Langages de dveloppement (1)

z Besoins
Expression des contraintes de temps
Expression et gestion du paralllisme
spcification et gestion de priphrique de bas niveau (E/S de base)
Modularit
Interfaces avec dautres langages

z 3 familles de langages

Langages assembleurs

Langages squentiels lis des librairies systme

Langages concurrents de haut niveau


Langages synchrones (Lustre, Esterel) : dterminisme garanti
Langages asynchrones (SDL, UML, Java) : difficult de garantir le dterminisme

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


32

16
Langages de dveloppement (2)
z Langages assembleurs
Historiquement, ces langages furent longtemps les seuls tre utiliss dans le contexte des STR
Dpendant par nature de l'architecture cible (matriel et systme d'exploitation)
Aucune abstraction possible et grande difficult de dveloppement, de maintenance et d'volution
Langages proscrire sauf pour l'implmentation de petites fonctionnalits trs spcifiques et
apportant
t t une grande
d amlioration
li ti des d performances
f

z Langages squentiels lis des librairies systme


Les plus connus sont le C, le C++, Fortran
Apportent un plus grand pouvoir d'abstraction et une certaine indpendance du matriel
Mais, doivent faire appel des librairies systmes spcifiques pour la manipulations des processus
Ils posent le problme de la standardisation des appels systmes mais sont quelques fois le seul
choix possible cause de la spcificit d'une cible et des outils de dveloppement sur celle-ci.

z Langages concurrents de haut niveau


Langages gnralistes incluant de plus la notion de tches et des primitives de synchronisation
Haut pouvoir d'abstraction, indpendance des architecture et des systmes cibles
Parmi ces langages, Ada et Java sont des plus aboutis
Ces langages sont privilgier lorsque d'autres contraintes ne rendent pas leur choix impossible

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


33

Excutifs temps rel (1)


(RTOS : Real-Time Operating Systems)

z Excutif = Noyau de systme dexploitation

z Caractristiques dun excutif temps rel


comportement de lOS prdictible
* Ordonnancement de tches prdictible
* Gestion de ressources prdictible
ddi une application spcifique (systme embarqu)
plus spcialis qu'un systme d'exploitation
code de taille plus petite qu'un systme classique
taille mmoire rduite ((services optimiss
p et ceux non utiliss supprims)
pp )
surcot du systme minimal (changement de contexte)
nombre lev dIT utilisables par les tches
facilit dinsertion et retrait de priphriques

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


34

17
Excutifs temps rel (2)

Applications Applications

Middleware Middleware

Drivers Systme dexploitation

RTOS Drivers

STR fonds sur un RTOS STR utilisant un OS conventionnel


(approche peu efficace, non recommande)

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


35

Exemples de Systme d'exploitation temps rel

z Produits commerciaux
- Lynx-OS : systme Unix base de thread noyau - compatible avec Linux
www.lynuxworks.com/
- QNX : systme Unix
www.qnx.com/
- Windows CE : systme Microsoft temps rel
www.microsoft.com/technet/prodtechnol/wce/plan/realtime.mspx
- VxWorks et pSos : Excutif de Wind river
www.windriver.com/products/device_technologies/os/vxworks5/
- Nucleus Real-Time Operating System
/p y / / /
www.mentor.com/proyducts/embedded_software/nucleus_rtos/index.cfm

z Open sources extensions de Lunix


- RT-Linux : www.fsmlabs.com/rtlinuxpro.html
- KURT : www.ittc.ku.edu/kurt
- RTAI : www.aero.polimi.it/rtai/news/index.html

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


36

18
Standards POSIX pour le temps rel
z POSIX = Portable Operating System Interface for uniX

z Objectifs : Dfinir une interface standard entre les applications et lOS pour rendre
les applications (TRE) portables

z Services proposs
- Threads, ordonnancement, synchronisation
- Gestion du temps
- Files de messages, signaux
- E/S asynchrones
- Gestion de la mmoire

z POSIX 1003.1 : interface de base daccs lOS.


z POSIX 1003.1b (appel aussi 1003.4) 1993 : Extensions temps rel (ordonnancement
priorit, signaux TR, horloges et timers, smaphores, messages, E/S asynchrones)

z POSIX 1003.1c (appel aussi 1003.4) 1993 : Extensions de threads (cration/destruction


de threads, synchronisation et ordonnancement de threads)

z Beaucoup dimplantations de POSIX sont disponibles : Lynx, VxWorks, RTEMS

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


37

Architecture logiciel dun systme TRE

N oyau tem ps rel

G estion G estio n
H orloge du des
tem p s rel tem p s vn em en ts

P rim itives

IT G estion
d es O rd on n an ceu r
in terrup tions

R eq ute A ctivation
T ch es u tilisateu r

T ch e i T che j T ch e k

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


38

19
Niveaux simplifis pour un STRE

Espace Utilisateur

RT RT NonRT
User User User
process process process

Appels Ordonnancement
systme de processus

Espace Systme

NonRT RT RT
Kernel Kernel kernel
t k
task t k
task t k
task

Donnes
IT

Hardware

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


39

Exemple de tches temps rel


(en langage FlowC)

GetData Filter COEF

IN DATA DATA OUT

La tche GetData mesure une temprature La tche Filter lit N mesures et les ignore et lit
partir de lenvironnement et envoie la valeur ensuite la moyenne des mesures, multiplie cette
mesure la tche Filter. moyenne par c (dont la valeur est lue partir de
U mesure estt effectue
Une ff t toutes
t t les
l 10 ms. COEF) et envoie la valeur obtenue
lenvironnement via le port OUT.
Quand N mesures ont t effectues, la moyenne
des N mesures est envoye Filter.

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


40

20
Exemple de tches temps rel
(en langage FlowC)

Process GetData Process Filter


(InPort IN, OutPort DATA) (InPort DATA, InPort COEF, OutPort OUT)
{ float mesure, somme; int i; { float c, d; int j;
While(1) c = 1; j = 0;
{ somme = 0; While(1)
for (i=0; i< N; i++) { { SELECT(DATA, COEF) {
READ(IN, mesure ,1); CASE DATA: READ(DATA, d, 1);
somme+= mesure ; if (j==N) {j=0; d=d*c;
WRITE(DATA, mesure, 1) WRITE(OUT, d,1); }
DELAY(10) else j++;
} CASE COEF: READ(COEF, c, 1); break ;
WRITE(DATA, somme/N,1) }}}
}}

Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse


41

21

Vous aimerez peut-être aussi