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 j jouets 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.
8

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
9

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

Cours Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

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
Cours Module ASTRE
Z. MAMMERI IRIT - UPS - Toulouse

Systme de contrle
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

T1

T2

Surcot

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 Processus chimique Fabrication Robotique Systmes vocaux Systmes radar Ordre de grandeur des CT en heure en minute en 10 ms en ms 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 l la rception ti d de lIT et t l lentre t d dans l la t tche h d de l lutilisateur) 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 actif Th1 se met en attente de lE/S Le driver fait Passer Th1 prt Fin de lE/S Th2 est prempt

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

t0

t1

t2 Latence dIT

t3

t4

t5

t6

Temps dlection et changement de contexte

Temps de premption

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 - Communication - Tolrance aux fautes - Scurit en prsence de contraintes de temps

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
32

Cours Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

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 Middleware Drivers RTOS

Applications Middleware Systme dexploitation 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 du tem p s G estio n des vn em en ts P rim itives IT G estion d es in terrup tions

H orloge tem p s rel

O rd on n an ceu r

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 User process Appels systme RT User process NonRT User process 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

IRIT - UPS - Toulouse

39

Exemple de tches temps rel


(en langage FlowC)

GetData IN DATA DATA

Filter

COEF OUT

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

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.

Cours Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

40

20

Exemple de tches temps rel


(en langage FlowC)

Process GetData (InPort IN, OutPort DATA) { float mesure, somme; int i; While(1) { somme = 0; for (i=0; i< N; i++) { READ(IN, mesure ,1); somme+= mesure ; WRITE(DATA, mesure, 1) DELAY(10) } WRITE(DATA, somme/N,1) }}

Process Filter (InPort DATA, InPort COEF, OutPort OUT) { float c, d; int j; c = 1; j = 0; While(1) { SELECT(DATA, COEF) { CASE DATA: READ(DATA, d, 1); if (j==N) {j=0; d=d*c; WRITE(OUT, d,1); } else j++; CASE COEF: READ(COEF, c, 1); break ; }}}

Cours Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

41

21

Vous aimerez peut-être aussi