21
1 Chapitre 1 Introduction aux systèmes embarqués et temps réel Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 1 Domaines d’application des systèmes embarqués Domaines « traditionnels » - Avionique 1. Notions et caractéristiques des systèmes embarqués - Robotique - Automobile - Militaire Domaines « nouveaux » - Jeux et loisirs - Téléphonie, Internet mobile - Implants (santé sécurité ) Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 2 - Implants (santé, sécurité) - Domotique, - immeubles intelligents, - Villes intelligentes - Vêtements…

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

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

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

1

Chapitre 1

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

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 1

Domaines d’application des systèmes embarqués

Domaines « traditionnels »- Avionique

1. Notions et caractéristiques des systèmes embarqués

- Robotique- Automobile- Militaire

Domaines « nouveaux »- Jeux et loisirs- Téléphonie, Internet mobile - Implants (santé sécurité )

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 2

- Implants (santé, sécurité…)- Domotique, - immeubles intelligents,- Villes intelligentes- Vêtements…

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

2

Exemple typique de système embarqué

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 3

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 4

Exemples de systèmes embarqués

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

3

Logiciel :- Beaucoup de fournisseurs

- Pas de fournisseur dominant

Problèmes de compatibilité : Posix 1003 1c et 1b

Tendances du marché

- Problèmes de compatibilité : Posix 1003.1c et 1b

Matériel :- Processeurs essentiellement Motorola

- Cartes à puce

- Périphériques d’E/S (mesures…) : très diversifiés

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 5

Définitions1. 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. Typiquement, c’est un système sur un seul processeur et dont les programmes sont stockés en ROM. A priori, tous les systèmes qui ont des interfaces digitales (i.e. montre, caméra, voiture…) peuvent être considérés comme des SE. Certains SE ont un système d’exploitation et d’autres non car toute leur logique peut être implantée en un seul programme. p p g

2. Un système embarqué est une combinaison de logiciel et matériel, avec des capacités fixes ou programmables, qui est spécialement conçu pour un type d’application particulier. Les distributeurs automatiques de boissons, les automobiles, les équipements médicaux, les caméras, les avions, les jouets, les téléphones portables et les PDA sont des exemples de systèmes qui abritent des SE. Les SE programmables sont dotés d’interfaces de programmation et leur programmation est une activité spécialisée.

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 6

3. Un système embarqué est une composante primordiale d’un système (i.e. un avion, une voiture…) dont l’objectif est de commander, contrôler et superviser ce système.

‘Embedded’ : Enfoui / Embarqué

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

4

Principales caractéristiques

- Encombrement mémoire (mémoire limitée, pas de disque en général)

- Consommation d’énergie (batterie : point faible des SE)

- Poids et volume

- Autonomie

- Mobilité

- Communication (attention : la communication affecte la batterie)

- Contraintes de temps réel

- Contraintes de sécurité

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 7

- Coût de produits en relation avec le secteur cible

Besoins

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 - appareils médicaux – photo/vidéo/hifi –électroménager – avionique - spatial – jouetsg q p j

Outils théoriques et pratiques pour l’intégration permettant de prendre en compte

tous ces critères à la fois

- Fonctionnalité- Qualité : Robustesse et Performances- Contraintes matérielles (poids, encombrement, .. )- Coût global, consommation électrique

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 8

g , q- Délai de mise sur le marché

Construire des systèmes de fonctionnalité et qualité déterminée et garantie, à coût acceptable, est un défi technologique et scientifique majeur.

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

5

Aspects à considérer

Techniques : Conception conjointe (Matériel, Logiciel, Environnement)

Économiques : Optimisation par rapport au marché, entre coût et qualité

Multi-compétence : Combinaison de compétences en logiciel, contrôle, réseaux, ingénierie en électronique, IHM, automatique, médecine, mécanique…

Défis à considérerHétérogénéité : Construire des systèmes complexes par intégration de composants

hétérogènes (mécanismes de communication, vitesse de fonctionnement, granularité des calculs, variété des médias…)

Complexité : L’effort de développement augmente exponentiellement avec le nombre de composants intégrés D’où la nécessité de remplacer les méthodes de validation a

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 9

de composants intégrés. D où la nécessité de remplacer les méthodes de validation a posteriori par des méthodes de validation incrémentale. Développer des outils théoriques et techniques pour la validation incrémentale.

Intelligence : Moyen d’améliorer la qualité (robustesse et la performance) de système : Auto-diagnostic, Auto-configuration, Adaptabilité à l’environnement, Evaluation des risques…

Développement de SE – Niveaux d’abstraction

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 10

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

6

Méthodes et outils

Intégration de technologies

Programmation et

Middleware

Réseau

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 11

OS

SoC

Compétences pour la conception et développement de SE

Domaine métier : médical, loisirs, transport…

Ingénierie : électricité, électronique, chimie, mécanique, robotique, …, informatique

Sciences : mathématiques, statistiques, probabilités,recherche opérationnelle

InformatiqueInformatique• Algorithmique

• Programmation

• Architectures (CPU, mémoires, périphériques)

• Gestion de l’énergie des processeurs et périphériques

• Génie logiciel, co-design, méthodes formelles, automates…

• Evaluation de performances, test, simulation, vérification

S tè d’ l it ti ( d t )

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 12

• Systèmes d’exploitation (ordonnancement…)

• Sécurité et robustesse

• Réseaux, mobilité

• Capteurs et actionneurs

• Vision par ordinateur, caméra

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

7

2. Notions et caractéristiques des systèmes temps réel

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

Un système d'exploitation (OS) classique, c.-à-d. orienté temps partagé, doit organiser et optimiser l'utilisation des ressources de façon à ce que l'accès à ces ressources soit équitableoptimiser l utilisation des ressources de façon à ce que l accès à ces ressources soit équitable. 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. Les traitements qu'on lui soumet sont effectués en parallèle au fil de l'allocation des quanta de temps aux diverses applications.

Un OS est capable de dater les événements qui surviennent au cours du déroulement de l'application! : mise à jour d'un fichier, envoi d'un message, etc. Il permet aussi de suspendre un traitement pendant un certain délai, d'en lancer un à une certaine date...

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 13

En aucun cas, un OS classique ne garantit que les résultats seront obtenus pour une date précise, 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,…)

« 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

Définitions

Le petit Robert.

« 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é ». Posix 1003.1b

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.

Un STR est un système dont la correction dépend non seulement de la justesse des calculs

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 14

mais aussi du temps auquel est fourni la réponse (contraintes temporelles). Un résultat hors délai et un résultat faux.

Attention : Ne pas confondre temps réel et rapiditéTemps réel veut dire prédictibilité et non rapidité.

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

8

Classification

Temps réel dur (‘hard real-time’) : le non respect des contraintes

temporelles entraîne la faute du système

– e.g. contrôle de trafic aérien, système de conduite de missile, ...

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.g. système d'acquisition de données pour affichage

Temps réel ferme (‘firm real-time’) : temps réel souple, mais si l’échéance est dépassée le résultat obtenu n’a plus de valeur (et est donc écarté)

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 15

– e.g. projection vidéo

CapteursCapteurs

Actionneurs

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 16

Environnement Système de contrôle

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

9

Systèmes embarqués (voitures trains )

Contrôle et régulation de trafic en milieu urbain

Installations industrielles (chimique, nucléaire, automobile, …)

Domaines d’applications

Télécommunications

Systèmes embarqués (voitures, trains, ...)

Domaine militaire

Avionique et aérospatial

Multimédia et Web (téléconférences, télé-achat, …)

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 17

Médecine, Télé-médecine

Réalité virtuelle, Travail coopératif

Domotique, Jeux

Autres

Exemple simple et éclairant (1)

On dispose de deux systèmes :

- Système Cool, avec : processeur à vitesse 1 ; surcoût système de 1 ;

ordonnancement EDF (Earliest Deadline First)

- Système Speedy, avec : processeur à vitesse 10 ; surcoût système de 0 ;

ordonnancement à l'ancienneté (FIFO)

Donc Speedy est 10 fois plus rapide et infiniment plus efficace que Cool

On considère une application composée de deux tâches non préemptibles :

- 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 ; son délai critique de 320

- Tâche T2 réagit à une commande du volant ; sa durée est de 15 sur Cool et

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 18

de 1,5 sur Speedy ; son délai critique est de 21.

A l’instant t=0, la tâche T1 est déclenchée pour son exécution périodique. Cependant, au même instant, T2 est demandée en réaction à un événement.

Les tâches T1 et T2 sont de même importance pour la conduite du véhicule

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

10

Exemple simple et éclairant (2)

Surcoût

E é i d 15 E é i d 270

T1 T2Exécution de T2 d’abord

À cause de son échéance

0

Exécution sur le processeur Cool

16 17

Exécution de 15 u.t Exécution de 270 u.t

287 320

T2 respecte son échéance

T2 ne respecte pas son échéance

Exécution en FIFO

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 19

0Exécution sur le processeur Speedy

Exécution de 27 u.t

21 27 28,5

Sources des contraintes de temps (1)

− Caractéristiques physiques (vitesse, durée de réaction chimique, …)

Origines externes

− Caractéristiques liées aux lois de commande du système physiqueCaracté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

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 20

Connaissance des aspects physiques nécessaire

− Autres

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

11

Sources des contraintes de temps (2)

− Choix de conception

• architecture centralisée ou répartie (données, traitements, contrôle)

Origines internes

• actions périodiques (avec les périodes adéquates) ou apériodiques

• choix d’une structure d’application (interface entre composants, …) • autres

− Choix d’architecture matérielle et logicielle

• processeurs avec des vitesses particulières

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 21

• 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

Expression des contraintes de temps (1)

Temps absolu

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 période) minimale maximale moyenne

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 22

− une durée (délai, période), minimale, maximale, moyenne

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

12

Expression des contraintes de temps (2)

Contraintes sur la durée de vie d’un événement

é é

Expression sur les événements

Contraintes sur les instants et l’ordre d’occurrence d’événements

Durée de validité (ou contrainte de fraîcheur)

Contraintes de production

Contraintes de corrélation

Expression sur les données

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 23

Contraintes de corrélation

Expression des contraintes de temps (4)

Période

Expression sur les actions (opérations)

Instant au plus tôt/tard, pour démarrer une action

Instant au plus tard/tôt, 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

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 24

Temps minimum d’exécution affecté à une action

Précédence entre actions

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

13

Processus chimique en heure

Domaines d’applications Ordre de grandeur des CT

Quelques ordres de grandeur

Fabrication en minute

Robotique en 10 ms

Systèmes vocaux en ms

Systèmes radar en ms

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 25

Application temps réel = Ensemble de tâches qui coopèrent

Les tâches accèdent à des ressources communes

Les tâches s’échangent des messages via un réseau

Principes et concepts de base (1)

Les tâches s échangent des messages via un réseau

Les tâches doivent respecter différentes contraintes :

- Cohérence des ressources partagées

- Tolérance aux fautes

- Sécurité

Temps de réponse

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 26

- Temps de réponse

Système temps réel vs Application temps réel

Les deux notions sont souvent confondues

Les tâches s’exécutent sur 1 ou n processeurs

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

14

Exemple d’application temps réel et embarquée (1)

Tâches critiques : - Contrôle airbag, contrôle ABS

Contrôle injection moteur

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 27

- Contrôle injection-moteur- Contrôle pneumatique…

Tâches non critiques Contrôle climatisationContrôle vitresRadio …

Exemple d’application temps réel et embarquée (2)

Tâches contrôle de volTâches contrôle de volTâches gestion Tâches gestion

de cabinede cabine

Tâches contrôle de vol Tâches contrôle de vol

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 28

Tâches de Tâches de MaintenanceMaintenance

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

15

Eléments constituant le temps de réponse d’une tâche

Temps d’exécution (Worst Case Execution Time)Temps d’attente de ressources

Temps d’attente des E/S

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 t l é ti d l’IT t l’ t é d l tâ h d l’ tili t )

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 29

(délai entre la réception de l’IT et l’entrée dans la tâche de l’utilisateur)

– 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)

- On considère deux threads Th1 et Th2. Th1 est le plus prioritaire.

- A l’instant t0, Th1 lance une E/S.

- Le dessin ci-dessous schématise la suite des événements :

Exemple de temps de réponse à un événement

Th1 se met en attente

de l’E/S

t0 t1 t2 t3 t4 t5 t6

Th2 devientactif

Fin de l’E/S

Le driver faitPasser Th1 à prêt

Th2 est préempté

Th1 devientactif Th1 sort de l’appel

système (E/S)

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 30

Temps dechangementde contexte

Temps depréemption

t0 t1 t3 t4 t5 t6

Durée de retour de

l’appel système

Durée de l’opération d’E/S

Temps d’élection et changement

de contexte

Latenced’IT

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

16

Problèmes à gérer

- Problèmes de l’informatique classique

- Concurrence en présence de contraintes de temps

Principes et concepts de base (2)

- Communication “ “ “

- Tolérance aux fautes “ “ “

- Sécurité “ “ “

L’ordonnancement joue un rôle fondamental

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 31

Langages de développement (1)

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

3 familles de langages

– Langages assembleurs

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 32

– Langages séquentiels liés à des librairies système

– Langages concurrents de haut niveauLangages synchrones (Lustre, Esterel…) : déterminisme garanti

Langages asynchrones (SDL, UML, Java…) : difficulté de garantir le déterminisme

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

17

Langages de développement (2)

Langages assembleurs– Historiquement, 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, de maintenance et d'évolution

– Langages à proscrire sauf pour l'implémentation de petites fonctionnalités très spécifiques et t t d éli ti d fapportant une grande amélioration des performances

Langages séquentiels liés à des librairies système– Les plus connus sont le C, le C++, Fortran

– Apportent un plus grand pouvoir d'abstraction et une certaine indépendance du matériel

– Mais, 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.

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 33

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, indépendance des architecture et des systèmes cibles

– Parmi ces langages, Ada et Java sont des plus aboutis

– Ces langages sont à privilégier lorsque d'autres contraintes ne rendent pas leur choix impossible

Exécutifs temps réel (1)(RTOS : Real-Time Operating Systems)

Exécutif = Noyau de système d’exploitation

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 et ceux non utilisés supprimés)

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 34

( p 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

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

18

Exécutifs temps réel (2)

Applications Applications

Middleware

Drivers

RTOS

STR fondés sur un RTOS

Middleware

Drivers

Système d’exploitation

STR utilisant un OS conventionnel

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 35

(approche peu efficace, non recommandée)

Exemples de Système d'exploitation temps réel

Produits commerciaux- Lynx-OS : système Unix à base de thread noyau - compatible avec Linux

www.lynuxworks.com/

- QNX : système Unix- QNX : système Unix www.qnx.com/

- Windows CE : système Microsoft temps réelwww.microsoft.com/technet/prodtechnol/wce/plan/realtime.mspx

- VxWorks et pSos : Exécutif de Wind riverwww.windriver.com/products/device_technologies/os/vxworks5/

- Nucleus Real-Time Operating System

www.mentor.com/proyducts/embedded_software/nucleus_rtos/index.cfm

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 36

/p y / / /

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

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

19

Standards POSIX pour le temps réel

POSIX = Portable Operating System Interface for uniX

Objectifs : Définir une interface standard entre les applications et l’OS pour rendre les applications (TRE) portables

Services proposésServices proposés- Threads, ordonnancement, synchronisation- Gestion du temps- Files de messages, signaux- E/S asynchrones- Gestion de la mémoire

POSIX 1003.1 : interface de base d’accès à l’OS.

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 37

POSIX 1003.1b (appelé aussi 1003.4) – 1993 : Extensions temps réel (ordonnancement à priorité, signaux TR, horloges et timers, sémaphores, messages, E/S asynchrones…)

POSIX 1003.1c (appelé aussi 1003.4) – 1993 : Extensions de threads (création/destruction de threads, synchronisation et ordonnancement de threads…)

Beaucoup d’implantations de POSIX sont disponibles : Lynx, VxWorks, RTEMS…

N oyau tem ps réel

Primitives

G estiondu

tempsH orloge

temps réel

G estiondes

événements

Architecture logiciel d’un système TRE

Tâches utilisateur

O rdonnanceurG estion

desinterruptions

Requête Activation

IT

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 38

T âche i Tâche j Tâche k

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

20

Niveaux simplifiés pour un STRE

RTUser

process

RTUser

process

NonRTUser

process

Espace Utilisateur

process process process

NonRTKernel

t k

RTKernel

t k

RTkernel

t k

Espace Système

Appels système

Ordonnancement de processus

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 39

task task task

Hardware

ITDonnées

Exemple de tâches temps réel(en langage FlowC)

GetData Filter COEF

La tâche GetData mesure une température à partir de l’environnement et envoie la valeur mesurée à la tâche Filter.

U t ff t é t t l 10

IN DATA DATA OUT

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 à

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 40

Une mesure est effectuée toutes les 10 ms.

Quand N mesures ont été effectuées, la moyenne des N mesures est envoyée à Filter.

COEF) et envoie la valeur obtenue à l’environnement via le port OUT.

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

21

Exemple de tâches temps réel(en langage FlowC)

Process GetData Process Filter

(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)

(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); }

Cours – Module ASTRE Z. MAMMERI IRIT - UPS - Toulouse 41

DELAY(10)

}

WRITE(DATA, somme/N,1)

}}

else j++;

CASE COEF: READ(COEF, c, 1); break ;

}}}