Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parDaniel Généreux Modifié depuis plus de 7 années
1
Introduction aux Systèmes Temps Réels Polytech Marseille et CPPM
François TOUCHARD Polytech Marseille et CPPM ©GFGPL 2017
2
Présentation du cours Aperçu des systèmes temps réels Cours INFO4 :
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 dans l'espace utilisateur les outils de programmation dans le noyau (Linux) Cours INFO5 les méthodes et les langages de programmation temps réel Évaluation un examen en fin de module des compte-rendus de TD/TP notés (entre 1/4 et 1/3 de la note finale)
3
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 très souvent des contraintes temporelles souvent inclus dans un système plus vaste ~ 90% du marché des processeurs
4
Quelques exemples (1) asservissement par contrôle numérique procédé
capteur actionneur mesure y(t) résultat u(t) A/D yk Loi de contrôle calcul Loi de contrôle calcul uk D/A rk A/D référence r(t)
5
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-1 + α ek + β ek-1 + γ ek-2
6
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
7
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
8
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
9
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...)
10
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
11
contrôleur de traffic aérien
Quelques exemples (8) contrôle aérien hiérarchie des contrôles contrôleur de trafic aérien gestionnaire de vol contrôleur de vol calculs complexes (optimisation) fiabilité respect des échéances temporelles réponses commandes données locales (météo...) contrôleur de traffic aérien calculateur navigation gestionnaire de vol calculateur calculateur contrôleur de vol données locales de vol
12
Quelques exemples (9) contrôleur de trafic aérien CPU CPU CPU
base de données des éléments de vol réseau de communication réseau de communication processeur de surveillance des trajectoires processeur de visualisation
13
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
14
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
15
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
16
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
17
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
18
Caractéristiques importantes (3)
en résumé, le langage et l'environnement de développement doivent permettre de spécifier le moment où une tâche doit démarrer de spécifier le moment où la tâche doit être terminée de gérer les situations où toutes les contraintes temporelles ne peuvent pas être satisfaites de gérer des situations où les contraintes temporelles sont susceptibles d'évoluer dynamiquement
19
Plan du cours (1) 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) aperçu des bus de communication
20
Plan du cours (2) Programmation système pour le temps réel (POSIX) dans l'espace utilisateur gestion des tâches communication et synchronisation gestion des interruptions gestion du temps Programmation dans le noyau (Linux) modules pilotes de périphériques Xenomai (RTDM)
21
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 (ou POSIX.4) : extensions temps réel POSIX.1c : extensions pour les threads 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
22
La norme POSIX POSIX a été remplacé récemment par SUSV4 (Single Unix Specification Version 4) SUSV4 inclut les différentes versions de POSIX extensions Temps Réel : option RTS je garderai les références à POSIX.1 et 4 pour bien différencier les extensions temps réel
23
ORDONNANCEMENT
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.