Académique Documents
Professionnel Documents
Culture Documents
Chapitre1 PDF
Chapitre1 PDF
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
1
Exemple typique de systme embarqu
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
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.
3
z Principales caractristiques
- Poids et volume
- Autonomie
- Mobilit
- Contraintes de scurit
Besoins
4
Aspects considrer
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)
5
Intgration de technologies
Mthodes et outils
Programmation et
Middleware
Rseau
OS
SoC
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
6
2. Notions et caractristiques des systmes temps rel
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 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,)
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.
7
Classification
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
Capteurs
Actionneurs
8
Domaines dapplications
z Tlcommunications
z Avionique et arospatial
z Domaine militaire
z Domotique, Jeux
z Mdecine, Tl-mdecine
z Ralit virtuelle, Travail coopratif
z Autres
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 de 27 u.t
0 21 27 28,5
Excution sur le processeur Speedy
Origines externes
Caractristiques physiques (vitesse, dure de raction chimique, )
Autres
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
Temps absolu
un instant (date)
Temps relatif
11
Expression des contraintes de temps (2)
12
Quelques ordres de grandeur
Robotique en 10 ms
Systmes vocaux en ms
Systmes radar en ms
z Les tches s
schangent
changent des messages via un rseau
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
Tches de
Maintenance
Cours Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse
28
14
Elments constituant le temps de rponse dune tche
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 )
t0 t1 t2 t3 t4 t5 t6
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 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
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
17
Excutifs temps rel (2)
Applications Applications
Middleware Middleware
RTOS Drivers
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
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
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
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
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.
20
Exemple de tches temps rel
(en langage FlowC)
21