P. 1
Chapitre1

Chapitre1

|Views: 2|Likes:
Published by Faguy Formateur

More info:

Published by: Faguy Formateur on Sep 03, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

09/03/2013

pdf

text

original

Chapitre 1 Introduction aux systèmes embarqués et temps réel

Cours – Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

1

1. Notions et caractéristiques des systèmes embarqués
Domaines d’application des systèmes embarqués
z Domaines « traditionnels »

-

Avionique Robotique Automobile Militaire

z Domaines « nouveaux »

- Jeux et loisirs - Téléphonie, Internet mobile - Implants (santé (santé, sécurité sécurité…) ) - Domotique, - immeubles intelligents, - Villes intelligentes - Vêtements…
Cours – Module ASTRE
Z. MAMMERI IRIT - UPS - Toulouse

2

1

Exemple typique de système embarqué

Cours – Module ASTRE

Z. MAMMERI

IRIT - UPS - Toulouse

3

Exemples de systèmes embarqués
Cours – Module ASTRE
Z. MAMMERI IRIT - UPS - Toulouse

4

2

Toulouse 6 3 .Beaucoup de fournisseurs .1c 1003 1c et 1b z Matériel : . 3. Un système embarqué est une composante primordiale d’un système (i. voiture…) peuvent être considérés comme des SE.Périphériques d’E/S (mesures…) : très diversifiés Cours – Module ASTRE Z. MAMMERI IRIT .Toulouse 5 z Définitions 1.Cartes à puce . c’est un système sur un seul processeur et dont les programmes sont stockés en ROM. Un système embarqué est une combinaison de logiciel et matériel. Les SE programmables sont dotés d’interfaces de programmation et leur programmation est une activité spécialisée. tous les systèmes qui ont des interfaces digitales (i. p g 2. avec des capacités fixes ou programmables. les avions. Les distributeurs automatiques de boissons. montre. Certains SE ont un système d’exploitation et d’autres non car toute leur logique peut être implantée p en un seul programme. contrôler et superviser ce système.Problèmes de compatibilité : Posix 1003. Un système embarqué (SE) est un système informatisé spécialisé qui constitue une partie intégrante d’un système plus large ou une machine.Processeurs essentiellement Motorola . Typiquement. les jouets.Pas de fournisseur dominant . les téléphones portables et les PDA sont des exemples de systèmes qui abritent des SE. les caméras. une voiture…) dont l’objectif est de commander.UPS .Tendances du marché z Logiciel : . A priori.e.UPS . caméra. z ‘Embedded’ : Enfoui / Embarqué Cours – Module ASTRE Z. un avion. qui est spécialement conçu pour un type d’application particulier.e. les équipements médicaux. les automobiles. MAMMERI IRIT .

UPS .Coût de produits en relation avec le secteur cible Cours – Module ASTRE Z.Qualité : Robustesse et Performances .UPS . consommation électrique q .appareils médicaux – photo/vidéo/hifi – g – avionique q .Contraintes de sécurité .Fonctionnalité . . encombrement. 8 Cours – Module ASTRE Z.Contraintes matérielles (poids.Mobilité .Communication (attention : la communication affecte la batterie) . pas de disque en général) .Délai de mise sur le marché z Construire des systèmes de fonctionnalité et qualité déterminée et garantie.Poids et volume .Autonomie . est un défi technologique et scientifique majeur.Coût g global. MAMMERI IRIT .Encombrement mémoire (mémoire limitée. à coût acceptable. .z Principales caractéristiques .spatial p –j jouets électroménager z Outils théoriques et pratiques pour l’intégration permettant de prendre en compte tous ces critères à la fois .Consommation d’énergie (batterie : point faible des SE) .Toulouse 7 Besoins z Intégration massive de composants embarqués répartis pour bâtir la société de l’information : téléphones cellulaires – PDA – machines programmables – automobile .Contraintes de temps réel ..Toulouse 4 . ) . MAMMERI IRIT .

ingénierie en électronique. Adaptabilité à l’environnement. Logiciel.UPS . Evaluation des risques… 9 Cours – Module ASTRE Z. automatique. contrôle. z Intelligence : Moyen d’améliorer la qualité (robustesse et la performance) de système : Auto-diagnostic.Toulouse 10 5 . granularité des calculs. réseaux.Aspects à considérer z Techniques : Conception conjointe (Matériel. vitesse de fonctionnement. entre coût et qualité z Multi-compétence : Combinaison de compétences en logiciel.UPS . IHM.Toulouse Développement de SE – Niveaux d’abstraction Cours – Module ASTRE Z. D’où D où la nécessité de remplacer les méthodes de validation a posteriori par des méthodes de validation incrémentale. MAMMERI IRIT . Environnement) z Économiques : Optimisation par rapport au marché. Auto-configuration. médecine. MAMMERI IRIT . variété des médias…) z Complexité : L’effort de développement augmente exponentiellement avec le nombre de composants intégrés intégrés. mécanique… Défis à considérer z Hétérogénéité : Construire des systèmes complexes par intégration de composants hétérogènes (mécanismes de communication. Développer des outils théoriques et techniques pour la validation incrémentale.

loisirs. mécanique. robotique. probabilités. MAMMERI IRIT . MAMMERI IRIT . méthodes formelles.UPS .UPS .Intégration de technologies Méthodes et outils Programmation et Middleware Réseau OS SoC Cours – Module ASTRE Z. caméra Cours – Module ASTRE Z.Toulouse 12 6 . vérification • Systèmes S tè d’ d’exploitation l it ti ( (ordonnancement…) d t ) • Sécurité et robustesse • Réseaux. périphériques) • Gestion de l’énergie des processeurs et périphériques • Génie logiciel. statistiques.recherche opérationnelle z Informatique • Algorithmique • Programmation • Architectures (CPU. …. transport… z Ingénierie : électricité. mémoires. mobilité • Capteurs et actionneurs • Vision par ordinateur. simulation. électronique. informatique z Sciences : mathématiques. chimie. test. co-design.Toulouse 11 Compétences pour la conception et développement de SE z Domaine métier : médical. automates… • Evaluation de performances.

Robert z « Temps réel signifie l’aptitude d’un système d’exploitation de fournir le niveau de service requis au bout d’un temps de réponse borné ». MAMMERI IRIT .-à-d.1b z Un système temps réel est un système informatique qui doit répondre à des stimuli fournis par un environnement externe afin de le contrôler.Toulouse 13 Définitions z « Intervalle de temps compatible avec le rythme réel d’arrivée des données et à l’intérieur duquel un ordinateur peut effectuer les traitements nécessaires » Le petit Robert. Attention : Ne pas confondre temps réel et rapidité Temps réel veut dire prédictibilité et non rapidité. Posix 1003. Un résultat hors délai et un résultat faux. un OS classique ne garantit que les résultats seront obtenus pour une date précise. Notions et caractéristiques des systèmes temps réel La gestion du temps dans un OS classique (temps partagé) z Un système d'exploitation (OS) classique. z Un OS est capable de dater les événements qui surviennent au cours du déroulement de l'application! : mise à jour d'un fichier.…) Cours – Module ASTRE Z. Les traitements qu'on lui soumet sont effectués en parallèle au fil de l'allocation des quanta de temps aux diverses applications.. MAMMERI IRIT . c. Un OS n'a donc pour seule contrainte de temps que celle d'un temps de réponse satisfaisant pour les utilisateurs avec lesquels il dialogue.UPS . orienté temps partagé. doit organiser et optimiser l'utilisation l utilisation des ressources de façon à ce que l'accès l accès à ces ressources soit équitable.2. z Un STR est un système dont la correction dépend non seulement de la justesse des calculs mais aussi du temps auquel est fourni la réponse (contraintes temporelles). etc. z En aucun cas. surtout si ces résultats sont le fruit d'un traitement déclenché par un événement EXTERIEUR (émission d'un signal par un périphérique quelconque. Il permet aussi de suspendre un traitement pendant un certain délai.UPS . d'en lancer un à une certaine date.Toulouse 7 . envoi d'un message. 14 Cours – Module ASTRE Z..

UPS . z Temps réel souple (‘soft real-time’) : le respect des échéances est important mais le non respect des échéance n’a pas de graves conséquences – e. contrôle de trafic aérien.Toulouse Système de contrôle 16 8 .Classification z Temps réel dur (‘hard real-time’) : le non respect des contraintes temporelles entraîne la faute du système – e. mais si l’échéance est dépassée le résultat obtenu n’a plus de valeur (et est donc écarté) – e. .g.g.UPS . MAMMERI IRIT . projection vidéo Cours – Module ASTRE Z..Toulouse 15 Capteurs Actionneurs Environnement Cours – Module ASTRE Z. système d'acquisition de données pour affichage z Temps réel ferme (‘firm real-time’) : temps réel souple.. MAMMERI IRIT .g. système de conduite de missile.

son délai critique est de 21. …) z Domotique. Télé-médecine z Réalité virtuelle. Les tâches T1 et T2 sont de même importance pour la conduite du véhicule Cours – Module ASTRE Z. télé-achat. avec : processeur à vitesse 10 . sa durée est de 15 sur Cool et de 1. T2 est demandée en réaction à un événement. nucléaire.Toulouse 18 9 . automobile.. ordonnancement à l'ancienneté (FIFO) z Donc Speedy est 10 fois plus rapide et infiniment plus efficace que Cool z On considère une application composée de deux tâches non préemptibles : . la tâche T1 est déclenchée pour son exécution périodique. (voitures trains. au même instant.) ) z Télécommunications z Avionique et aérospatial z Domaine militaire z Multimédia et Web (téléconférences. surcoût système de 0 . trains .Système Speedy..UPS . son délai critique de 320 . Travail coopératif z Autres Cours – Module ASTRE Z.5 sur Speedy .UPS . Cependant.Tâche T1 envoie des commandes périodiques pour entretenir la commande moteur du véhicule sa durée est de 270 sur Cool et de 27 sur Speedy . avec : processeur à vitesse 1 . MAMMERI IRIT . Jeux z Médecine.Système Cool.Domaines d’applications z Installations industrielles (chimique. …) z Contrôle et régulation de trafic en milieu urbain z Systèmes embarqués (voitures. z A l’instant t=0.Tâche T2 réagit à une commande du volant . ordonnancement EDF (Earliest Deadline First) .Toulouse 17 Exemple simple et éclairant (1) z On dispose de deux systèmes : . MAMMERI IRIT . surcoût système de 1 .

t E é i de Exécution d 270 u.Toulouse 19 Sources des contraintes de temps (1) Î Origines externes − Caractéristiques physiques (vitesse. MAMMERI IRIT .Exemple simple et éclairant (2) Exécution de T2 d’abord T1 T2 Surcoût À cause de son échéance E é i de Exécution d 15 u.t 0 16 17 287 320 Exécution sur le processeur Cool T2 respecte son échéance T2 ne respecte pas son échéance Exécution en FIFO Exécution de 27 u. …) − Caractéristiques liées aux lois de commande du système physique − Qualité de service requise en terme de délai de réponse tolérable (qualité audio/vidéo) − Perception sensorielle et le temps de réaction de l’homme − Contraintes à caractère commercial − Autres Connaissance des aspects physiques nécessaire Cours – Module ASTRE Z.Toulouse 20 10 .UPS . MAMMERI IRIT .UPS .t 0 21 27 28. durée de réaction chimique.5 Exécution sur le processeur Speedy Cours – Module ASTRE Z.

Sources des contraintes de temps (2) Î Origines internes − Choix de conception • architecture centralisée ou répartie (données.UPS . (délai période).Toulouse 21 Expression des contraintes de temps (1) Expression à l’aide du temps quantifié (temps physique) Î Temps absolu − un instant (date) − une fenêtre temporelle (intervalle de temps) Î Temps relatif − une durée (délai. minimale maximale. MAMMERI IRIT . …) • autres − Choix d’architecture matérielle et logicielle • processeurs avec des vitesses particulières • système d’exploitation (intégrant des algorithmes d’ordonnancement) • réseau avec des débits et des temps de réponse donnés • autres Cours – Module ASTRE Z. période) minimale.Toulouse 22 11 . contrôle) • actions périodiques (avec les périodes adéquates) ou apériodiques • choix d’une structure d’application (interface entre composants. traitements.UPS . MAMMERI IRIT . maximale moyenne Cours – Module ASTRE Z.

MAMMERI IRIT .Toulouse 23 Expression des contraintes de temps (4) Expression sur les actions (opérations) Î Période Î Instant au plus tôt/tard. MAMMERI IRIT . pour finir une action Î Temps maximum d’exécution (ou échéance relative) Î Temps maximal d’attente d’une ressource Î Temps minimal/maximal d’utilisation d’une ressource Î Temps minimum d’exécution affecté à une action Î Précédence entre actions Cours – Module ASTRE Z.Expression des contraintes de temps (2) Expression sur les événements Î Contraintes sur la durée de vie d’un événement Î Contraintes sur les instants et l’ordre d’occurrence d’événements é é Expression sur les données Î Durée de validité (ou contrainte de fraîcheur) Î Contraintes de production Î Contraintes de corrélation Cours – Module ASTRE Z.UPS .UPS . pour démarrer une action Î Instant au plus tard/tôt.Toulouse 24 12 .

Quelques ordres de grandeur Domaines d’applications Î Processus chimique Î Fabrication Î Robotique Î Systèmes vocaux Î Systèmes radar Ordre de grandeur des CT en heure en minute en 10 ms en ms en ms Cours – Module ASTRE Z.UPS .Toulouse 25 Principes et concepts de base (1) z Application temps réel = Ensemble de tâches qui coopèrent z Les tâches accèdent à des ressources communes z Les tâches s s’échangent échangent des messages via un réseau z Les tâches doivent respecter différentes contraintes : .Sécurité .Tolérance aux fautes .Toulouse 26 13 .Cohérence des ressources partagées .UPS .Temps de réponse z Les tâches s’exécutent sur 1 ou n processeurs z Système temps réel vs Application temps réel Les deux notions sont souvent confondues Cours – Module ASTRE Z. MAMMERI IRIT . MAMMERI IRIT .

contrôle ABS .Toulouse 27 Exemple d’application temps réel et embarquée (2) Tâches contrôle de vol Tâches gestion de cabine Tâches de Maintenance Cours – Module ASTRE Z. MAMMERI IRIT .Contrôle pneumatique… zTâches non critiques z Contrôle climatisation z Contrôle vitres z Radio … Cours – Module ASTRE Z.Toulouse 28 14 .Contrôle airbag. MAMMERI IRIT .Exemple d’application temps réel et embarquée (1) zTâches critiques : .UPS .Contrôle injection injection-moteur moteur .UPS .

On considère deux threads Th1 et Th2. . Th1 lance une E/S. MAMMERI IRIT . Th1 est le plus prioritaire.UPS . .Toulouse 29 Exemple de temps de réponse à un événement z . MAMMERI IRIT .Toulouse 30 15 .Le dessin ci-dessous schématise la suite des événements : Th2 devient actif Th1 se met en attente de l’E/S Le driver fait Passer Th1 à prêt Fin de l’E/S Th2 est préempté Th1 devient Th1 sort de l’appel actif système (E/S) t0 t1 t2 Latence d’IT t3 t4 t5 t6 Temps d’élection et changement de contexte Temps de préemption Temps de Durée de changement retour de de contexte l’appel système Durée de l’opération d’E/S Cours – Module ASTRE Z.UPS .Eléments constituant le temps de réponse d’une tâche z Temps d’exécution (Worst Case Execution Time) z Temps d’attente de ressources z Temps d’attente des E/S z Temps dus au système d’exploitation et difficilement calculables – Temps de latence des interruptions (délai entre l’arrivée d’une IT et le début de sa prise en compte effective) – Temps de préemption (délai de sélection de la tâche à exécuter) – Latence de l’ordonnancement (dél i entre (délai t l la réception é ti d de l’IT et t l’ l’entrée té d dans l la tâ tâche h d de l’ l’utilisateur) tili t ) – Temps de commutation de contexte de tâche – Latence de sémaphore (délai entre la libération d’un sémaphore et la réactivation de la tâche bloquée derrière ce sémaphore) Cours – Module ASTRE Z.A l’instant t0.

MAMMERI IRIT . UML.UPS .Concurrence .Principes et concepts de base (2) z Problèmes à gérer .Tolérance aux fautes . Java…) : difficulté de garantir le déterminisme 32 Cours – Module ASTRE Z. Esterel…) : déterminisme garanti Langages asynchrones (SDL.Toulouse 16 .Sécurité en présence de contraintes de temps “ “ “ “ “ “ “ “ “ z L’ordonnancement joue un rôle fondamental Cours – Module ASTRE Z.Toulouse 31 Langages de développement (1) z Besoins – Expression des contraintes de temps – Expression et gestion du parallélisme – spécification et gestion de périphérique de bas niveau (E/S de base) – Modularité – Interfaces avec d’autres langages z 3 familles de langages – Langages assembleurs – Langages séquentiels liés à des librairies système – Langages concurrents de haut niveau Langages synchrones (Lustre. MAMMERI IRIT .Communication .Problèmes de l’informatique classique .UPS .

ces langages furent longtemps les seuls à être utilisés dans le contexte des STR – Dépendant par nature de l'architecture cible (matériel et système d'exploitation) – Aucune abstraction possible et grande difficulté de développement. z Langages concurrents de haut niveau – Langages généralistes incluant de plus la notion de tâches et des primitives de synchronisation – Haut pouvoir d'abstraction. Ada et Java sont des plus aboutis – Ces langages sont à privilégier lorsque d'autres contraintes ne rendent pas leur choix impossible Cours – Module ASTRE Z. Fortran – Apportent un plus grand pouvoir d'abstraction et une certaine indépendance du matériel – Mais. MAMMERI IRIT . doivent faire appel à des librairies systèmes spécifiques pour la manipulations des processus – Ils posent le problème de la standardisation des appels systèmes mais sont quelques fois le seul choix possible à cause de la spécificité d'une cible et des outils de développement sur celle-ci.UPS . indépendance des architecture et des systèmes cibles – Parmi ces langages. le C++. MAMMERI IRIT . de maintenance et d'évolution – Langages à proscrire sauf pour l'implémentation de petites fonctionnalités très spécifiques et apportant t t une grande d amélioration éli ti des d performances f z Langages séquentiels liés à des librairies système – Les plus connus sont le C.Toulouse 33 Exécutifs temps réel (1) (RTOS : Real-Time Operating Systems) z Exécutif = Noyau de système d’exploitation z Caractéristiques d’un exécutif temps réel – comportement de l’OS prédictible * Ordonnancement de tâches prédictible * Gestion de ressources prédictible – dédié à une application spécifique (système embarqué) – plus spécialisé qu'un système d'exploitation – code de taille plus petite qu'un système classique – taille mémoire réduite ( (services optimisés p et ceux non utilisés supprimés) pp ) – surcoût du système minimal (changement de contexte) – nombre élevé d’IT utilisables par les tâches – facilité d’insertion et retrait de périphériques Cours – Module ASTRE Z.Toulouse 34 17 .Langages de développement (2) z Langages assembleurs – Historiquement.UPS .

com/ .compatible avec Linux www.polimi.Exécutifs temps réel (2) Applications Middleware Drivers RTOS Applications Middleware Système d’exploitation Drivers STR fondés sur un RTOS STR utilisant un OS conventionnel (approche peu efficace.aero.UPS .qnx.Toulouse 36 18 .ittc.edu/kurt .VxWorks et pSos : Exécutif de Wind river www.microsoft. MAMMERI IRIT .cfm z Open sources – extensions de Lunix .lynuxworks. MAMMERI IRIT .com/proyducts/embedded_software/nucleus_rtos/index.Lynx-OS : système Unix à base de thread noyau .Toulouse 35 Exemples de Système d'exploitation temps réel z Produits commerciaux .html .it/rtai/news/index.KURT : www.mspx .QNX : système Unix www.RTAI : www.RT-Linux : www.mentor.com/products/device_technologies/os/vxworks5/ .UPS .Nucleus Real-Time Operating System /p y / / / www.ku.com/rtlinuxpro. non recommandée) Cours – Module ASTRE Z.com/technet/prodtechnol/wce/plan/realtime.com/ .html Cours – Module ASTRE Z.windriver.fsmlabs.Windows CE : système Microsoft temps réel www.

VxWorks. z POSIX 1003. MAMMERI IRIT .4) – 1993 : Extensions temps réel (ordonnancement à priorité. E/S asynchrones…) z POSIX 1003. sémaphores.1c (appelé aussi 1003. synchronisation et ordonnancement de threads…) z Beaucoup d’implantations de POSIX sont disponibles : Lynx.UPS .4) – 1993 : Extensions de threads (création/destruction de threads.UPS . horloges et timers.1b (appelé aussi 1003.Standards POSIX pour le temps réel z POSIX = Portable Operating System Interface for uniX z Objectifs : Définir une interface standard entre les applications et l’OS pour rendre les applications (TRE) portables z Services proposés . signaux TR. messages. signaux .Toulouse 38 19 .Gestion de la mémoire z POSIX 1003.Gestion du temps .Files de messages.Toulouse 37 Architecture logiciel d’un système TRE N oyau tem ps réel G estion du tem p s G estio n des évén em en ts P rim itives IT G estion d es in terrup tions H orloge tem p s réel O rd on n an ceu r R eq uête A ctivation T âch es u tilisateu r T âch e i T âche j T âch e k Cours – Module ASTRE Z.1 : interface de base d’accès à l’OS. MAMMERI IRIT . ordonnancement. RTEMS… Cours – Module ASTRE Z.Threads. synchronisation .E/S asynchrones .

Toulouse 39 Exemple de tâches temps réel (en langage FlowC) GetData IN DATA DATA Filter COEF OUT La tâche GetData mesure une température à partir de l’environnement et envoie la valeur mesurée à la tâche Filter. MAMMERI IRIT . Cours – Module ASTRE Z.Toulouse 40 20 . Quand N mesures ont été effectuées.UPS .Niveaux simplifiés pour un STRE Espace Utilisateur RT User process Appels système RT User process NonRT User process Ordonnancement de processus Espace Système NonRT Kernel t k task RT Kernel t k task RT kernel t k task Données IT Hardware Cours – Module ASTRE Z. U mesure est Une t effectuée ff t é toutes t t les l 10 ms.UPS . MAMMERI IRIT . la moyenne des N mesures est envoyée à Filter. La tâche 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 à l’environnement via le port OUT.

i++) { READ(IN.1).1) }} Process Filter (InPort DATA. OutPort DATA) { float mesure. mesure . d. MAMMERI IRIT . i< N.UPS . WRITE(OUT. }}} Cours – Module ASTRE Z. } else j++.Toulouse 41 21 . somme. int j. somme/N. break . c = 1. c. mesure. While(1) { somme = 0. OutPort OUT) { float c. j = 0. 1). COEF) { CASE DATA: READ(DATA. d. for (i=0. 1). While(1) { SELECT(DATA. d=d*c. 1) DELAY(10) } WRITE(DATA. somme+= mesure . d.Exemple de tâches temps réel (en langage FlowC) Process GetData (InPort IN. if (j==N) {j=0. int i. InPort COEF. CASE COEF: READ(COEF.1). WRITE(DATA.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->