Sujet 5 : Intégration d’une loi d’ordonnancement dans un modèle Combes Charles David Christophe Legueut Sébastien
Introduction Spécification Implémentation Modélisation Validation Intégration Tests Unitaires Etapes Cycle principal Retour en cas de non validation
Etude théorique des retards Deux sources majeures de retards: L'ordonnanceur La durée des tâches Exemple concret: Déformation d'un signal sinuisoïdal
Contexte Trois tâches temps réel Priorités Tache bleue Tache jaune Tache rouge Temps des tâches variable ou fixe Ordonnancement préemptif ou non
Cas parfait Toutes les tâches sont effectuées dans l'ordre, pas de retards
Ordre des taches différent Le temps d'execution augmente énormément !
Gigue de l'ordonnanceur Un temps de calcul est nécessaire pour déterminer la prochaine tâche à executer. Ce temps de calcul introduit une gigue au démarrage des tâches. Par exemple dans le cas préemptif:
Conséquences de la préemption Les tâches sont décalées, ce qui entraine un retard d'entrée sortie.
Exemple concret Déformation d'un signal sinusoïdal à cause des retards. Role des taches:
Retards d'entrée sortie Gigue Durée des taches Conséquence: Signal déformé
Retards d'entrée sortie Gigue Durée des tâches Ordonnancement Conséquence: Signal déformé Signal retardé d'une periode
Le logiciel Scicos Extension du logiciel de calcul numérique Scilab Simulation de modèles Schémas blocs Gestion des évènements simples Gratuit
Le modèle du moteur Tm=2,6 s Fonction de transfert
Modèle global du système
Modélisation de l’équation Equation en continu Equation en discret
Modélisation de l’équation (2) Code du bloc Scifunc : y1=K*(u3-u2)+Ki*u3*Te+Kd*(u3-2*u2+u1)/Te;
Modèles avec retards Modèle avec gigues et retards E/S fixes
y1=u1+rand(1,'uniform')*u1; Modèles avec retards Modèle avec gigues et retards E/S aléatoires Code du bloc Scifunc : y1=u1+rand(1,'uniform')*u1;
Modèles avec retards Modèle avec gigue et retards E/S exacts
Simulation Jeu de taches 1 Période (ms) Temps Tâche (ms) T1, le PID 1000 150 T2, tâche vide 800 250 T3, tâche vide 500 200 Ordonnancement théorique en RM non préemptif Valeurs caractéristiques : Gigue = 300 ms et Retard = 150 ms
Simulation Gigue moyenne Retard E/S moyen Sans retards Gigue nulle Retard E/S nul
Simulation Gigue exacte Retard E/S exact Sans retards Gigue nulle Retard E/S nul
Expérimentations Présentation du matériel Programme RTAI Programmes annexes
Matériel utilisé Moteur à courant continu Amplificateur Pupitre de commande analogique GBF – Générateur Basses Fréquences Carte d’acquisition et interface Ordinateur sous RTAI
Présentation générale
Schéma de câblage
Programme RTAI Choix de RTAI Choix des ordonnancements Exécutions
Programmes annexes Calculus – Affichage de la courbe v(t) et écriture des temps de début et de fin de chaque tâche dans un fichier 0.000000 29.473717 1.000000 56.786030 2.000000 91.859749 3.000000 122.708908 4.000000 133.515945 5.000000 136.758041 6.000000 135.972076 7.000000 127.031723 (...) d750 f1250 d1250 f1400 d2250 f2750 d3750 (...)
Programmes annexes (2) Parse – Transformation du fichier de temps d’exécution des tâches en un fichier de visualisation des tâches avec Matlab et Scicos d750 f1250 d1255 f1400 (...) 749 0 750 1 1249 1 1 1400 0 (...)
Programmes annexes (3) Script – Visualisation des ordonnancements issus de l’expérimentation 749 0 750 1 1249 1 1 1400 0 (...)
Simulation vs Réalité Non préemptif Gigue moyenne Retard E/S moyen Gigue exacte Retard E/S exact
Simulation vs Réalité Préemptif Gigue moyenne Retard E/S moyen Gigue exacte Retard E/S exact Analyse de l’ordonnancement
Simulation vs Réalité Jeu de taches 2 Gigue moyenne Retard E/S moyen Période (ms) Temps tâche (ms) T1, le PID 1000 100 T2, tâche vide 800 450 T3, tâche vide 500 Gigue moyenne Retard E/S moyen Gigue exacte Retard E/S exact
Conclusion sur les résultats Utiliser les valeurs de l’ordonnancement exact ne fournit pas obligatoirement la meilleure simulation Le choix du modèle se fait en fonction de l’importance des variations et des valeurs par rapport à la période Le meilleur modèle semble être un modèle avec la gigue exacte et le retard moyen
Conclusion
Merci de votre attention Avez-vous des questions ?