Vous êtes sur la page 1sur 19

Introduction aux

Systèmes Temps Réels


François TOUCHARD
ESIL et CPPM

http://francois.touchard.perso.esil.univmed.fr/
francois.touchard@univmed.fr
Présentation du cours
● Aperçu des systèmes temps réels et embarqués
● Cours 2ème année :
➢ qu’est-ce qu’un système temps réel ?
➢ comment vérifier a priori le comportement
✔ ordonnancement
➢ comment implémenter le comportement
✔ les outils de programmation
● Cours 3ème année (module "SICA")
➢ les méthodes et les langages de programmation pour le
temps réel
➢ approfondissement des outils (pilotes temps réels)

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 2
Introduction
● système temps réel : qui doit fournir un service dans un
contexte où le temps intervient
➢ évolution du système (système réactif)
➢ contraintes de temps (échéances)
● par opposition aux systèmes interactifs ou
transformationnels
● systèmes embarqués :
➢ autonomes, avec un fort couplage entre le matériel et le
logiciel
➢ utilisation dans un but très précis
➢ souvent inclus dans un système plus vaste
➢ ~ 90% du marché des processeurs

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 3
Quelques exemples (1)
asservissement par contrôle numérique

capteur
capteur procédé
procédé actionneur
actionneur

mesure résultat
y(t) u(t)

yk
A/D
A/D
uk
Loi
Loi de
de contrôle
contrôle D/A
D/A
rk calcul
calcul
référence
r(t) A/D
A/D

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 4
Quelques exemples (2)
● soit e(t) = r(t) – y(t)
● u(t) va dépendre de 3 termes :
➢ un terme proportionnel à e(t)
➢ un terme proportionnel à l'intégrale de e(t)
➢ un terme proportionnel à la dérivée de e(t)
● soit T la période d'échantillonnage du signal
➢ on approxime l'intégrale par la méthode du trapèze
➢ on approxime la dérivée pour l'intervalle [(k-1)T, kT ] par
(ek-ek-1) / T
● alors : uk = uk-2 + α ek + β ek-1 + γ ek-2

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 5
Quelques exemples (3)
● pour programmer la boucle :
créer un timer de période T
à chaque interruption du timer
faire les conversions analogique­numérique de y et r
calculer u
faire la conversion numérique­analogique de u
fin de la boucle

● le choix de T est important


● il peut être souhaitable de pouvoir le modifier
● concepts mis en jeu
➢ gestion du temps
➢ gestion des interruptions
➢ interaction avec l'utilisateur

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 6
Quelques exemples (4)
contrôleur de vol
➢ tous les 1/180 s faire
✔ lecture/validation des capteurs sélectionnés
✔ chaque 6 cycles (30 Hz) : tâches avionique
✘ lecture claviers, sélection mode
✘ normalisation des données, transformation des
coordonnées
✘ mise à jour des références de trajectoire
✔ chaque 6 cycles (30 Hz) : calculs
✘ loi de contrôle phase 2 pour la dérive
✘ loi de contrôle phase 2 du roulis
✘ loi de contrôle phase 2 du travers
✔ chaque 2 cycles (90 Hz) : en utilidant les résultats de 2 cycles
✘ loi de contrôle phase 1 pour la dérive
✘ loi de contrôle phase 1 du roulis et coordination
des 2 axes
✔ calcul de la loi de contrôle globale
✔ sortie des commandes pour les actionneurs
✔ auto-test

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 7
Quelques exemples (5)
● modèle cyclique facile à implémenter
● difficile de le faire évoluer
● très difficile à mettre en œuvre quand le système à
contrôler se complexifie un peu

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 8
Quelques exemples (6)
contrôle d'un groupe d'ascenseurs
➢ 4 ascenseurs dans la cage d'escalier d'un même bâtiment,
desservant les mêmes étages
➢ deux boutons d'appel par palier, pour monter ou descendre
➢ 1 bouton par étage dans chaque ascenseur
➢ partage optimum des ressources
✔ par exemple, un ascenseur en marche s'arrêtera à un étage
où l'appel a été demandé si et seulement si il va dans la
bonne direction quand il passera à l'étage concerné et si il
n'est pas en limite de surcharge
✔ recherche de l'équilibrage du service entre les différents
ascenseurs
➢ contrôle des "périphériques" (portes palières, indicateurs
sonores et visuels, etc...)

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 9
Quelques exemples (7)
● le modèle du générateur cyclique ne fonctionne plus
● contrôleur centralisé avec activation de tâches par
événements
● décentralisation de tâches sur des processeurs annexes
● système multi-processeur et multi-tâches
● synchronisation et communication entre les tâches
● modèle asynchrone

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 10
Quelques exemples (8)
contrôle aérien réponses commandes

● hiérarchie des contrôles


➢ contrôleur de trafic données
locales
aérien (météo...)
contrôleur
➢ gestionnaire de vol de traffic
calculateur
➢ contrôleur de vol aérien

● calculs complexes navigation


(optimisation) gestionnaire
calculateur de vol
● fiabilité
● respect des échéances
temporelles calculateur
contrôleur
de vol

données
locales
de vol

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 11
Quelques exemples (9)
contrôleur de trafic aérien

DSP DSP DSP

base de données
des éléments de vol réseau de
communication

réseau de
communication

processeur processeur
de visualisation de surveillance
des trajectoires

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 12
Quelques exemples (10)
● beaucoup d'autres systèmes ont des contraintes
temporelles
➢ bases de données
✔ contrôle de vols
✔ salles de marché
➢ multimédia
✔ compression/décompression
✔ transmission

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 13
Qu'est-ce que le temps réel ?
● non seulement des résultats exacts
● mais aussi fournis dans un temps donné, compatible avec
l'évolution du système
➢ l'échelle de temps dépend du système
✔ de quelques millisecondes pour un système de navigation
aérienne
✔ à plusieurs minutes ou heures pour le contrôle d'un réacteur
chimique
● dans un système temps réel, un résultat de calcul
mathématiquement exact mais arrivant au delà d'une
échéance pré-définie est un résultat faux

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 14
Temps réel dur et temps réel mou
● si un résultat arrivant en retard provoque un accident fatal
au système (génération d'une exception) : temps réel dur
● sinon : temps réel mou, ou lâche
● la distinction entre les deux est une notion assez floue
● dans un système donné, des tâches temps réel dures et
lâches peuvent cohabiter, éventuellement avec des
tâches sans contraintes temporelles
● critère de respect des contraintes temporelles
➢ booléen pour le temps réel dur
➢ doit être défini pour chaque tâche dans le cas d'une
application temps réel lâche

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 15
Caractéristiques importantes (1)
● Prévisibilité
➢ pour déterminer à l'avance si un système va respecter ses
contraintes temporelles
➢ connaissance des paramètres liés aux calculs des activités
✔ temps global de calcul de chaque activité
✔ périodicité et gigue
✔ préemptivité
➢ évaluation des performances dans le pire des cas
➢ pour définir le meilleur algorithme d'ordonnancement

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 16
Caractéristiques importantes (2)
● Déterminisme
➢ but à atteindre pour prédire le comportement temporel du
système
✔ temps réel dur : chercher à savoir si toutes les échéances de
toutes les activités seront respectées
✔ temps réel lâche : par exemple savoir quels seront les retards
moyens
● Fiabilité
➢ du matériel
➢ tolérance aux fautes
➢ systèmes embarqués

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 17
Plan du cours
● Ordonnancement des tâches
➢ tâches indépendantes
➢ tâches avec des contraintes de dépendance
➢ gestion des situations de surcharge
● Systèmes d'exploitation pour le temps réel
➢ services attendus
➢ systèmes existants
✔ VxWorks (le système généraliste le plus employé)
✔ OSEK/VDX (un système spécialisé)
✔ Xenomai (basé sur Linux)
● Programmation système pour le temps réel (POSIX)
➢ la norme POSIX
➢ gestion des tâches
➢ communication et synchronisation
➢ gestion des interruptions
➢ gestion du temps

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 18
La norme POSIX
● Portable Operating System Interface
● pour aider à produire des codes portables sans trop
d'efforts
● initié par l'IEEE et organisé par l'ISO
● à partir d'UNIX, pour le C ANSI
● différents standards pour différents problèmes
➢ POSIX.1b : extensions temps réel
➢ POSIX.1c : extensions pour les threads
➢ maintenant dans une norme unique POSIX-2008
● important : l'interface POSIX ne fournit pas un
environnement temps réel, mais uniquement des
interfaces qui peuvent être utilisées dans le cadre d'un
OS Temps Réel

F. Touchard ESIL Département IRM 2ème année 2009-2010 Introduction aux systèmes temps réell 19

Vous aimerez peut-être aussi