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. 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

Exemple typique de systme embarqu

Cours Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

Exemples de systmes embarqus


Cours Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

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

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

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

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
q - spatial
p
jjouets
lectromnager
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

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

Dveloppement de SE Niveaux dabstraction

Cours Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

10

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

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

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

15

IRIT - UPS - Toulouse

Capteurs

Actionneurs

Environnement
Cours Module ASTRE

Systme de contrle
Z. MAMMERI

IRIT - UPS - Toulouse

16

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

Exemple simple et clairant (2)


Excution de T2 dabord

Surcot

T1

T2

cause de son chance

E i de
Excution
d 15 u.t

E i de
Excution
d 270 u.t

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

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

27

IRIT - UPS - Toulouse

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 d
de 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

29

IRIT - UPS - Toulouse

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
actif
Th1 se met
en attente
de lE/S

t0

Le driver fait
Passer Th1 prt
Fin de lE/S

t1

Temps dlection
et changement
de contexte

t2

Th2 est prempt

t3
Latence
dIT

t4

Temps de
premption

Th1 devient
Th1 sort de lappel
actif
systme (E/S)

t5

t6

Temps de
Dure de
changement
retour de
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

37

IRIT - UPS - Toulouse

Architecture logiciel dun systme TRE


N oyau tem ps rel
G estion
du
tem p s

H orloge
tem p s rel

G estio n
des
vn em en ts
P rim itives

IT

G estion
d es
in terrup tions

O rd on n an ceu r

R eq ute

A ctivation

T ch es u tilisateu r
T ch e i

Cours Module ASTRE

Z. MAMMERI

T che j

T ch e k

IRIT - UPS - Toulouse

38

19

Niveaux simplifis pour un STRE

Espace Utilisateur
RT
User
process

RT
User
process

NonRT
User
process

Appels
systme

Ordonnancement
de processus

Espace Systme
NonRT
Kernel
t k
task

RT
Kernel
t k
task

RT
kernel
t k
task

Donnes

IT

Hardware

Cours Module ASTRE

Z. MAMMERI

39

IRIT - UPS - Toulouse

Exemple de tches temps rel


(en langage FlowC)

Filter

GetData
IN

DATA

DATA

La tche GetData mesure une temprature


partir de lenvironnement et envoie la valeur
mesure la tche Filter.
U mesure estt effectue
Une
ff t toutes
t t les
l 10 ms.
Quand N mesures ont t effectues, la moyenne
des N mesures est envoye Filter.

Cours Module ASTRE

Z. MAMMERI

COEF
OUT

La tche Filter lit N mesures et les ignore et lit


ensuite la moyenne des mesures, multiplie cette
moyenne par c (dont la valeur est lue partir de
COEF) et envoie la valeur obtenue
lenvironnement via le port OUT.

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); }
else j++;

DELAY(10)

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