La mission Pathfinder sur Mars
Transcription
La mission Pathfinder sur Mars
La mission Pathfinder sur Mars F. Touchard Introduction aux systèmes temps réels TD Ordonnancement 1 La mission Pathfinder ● ● sonde sur Mars, arrivée le 4 juillet 1997 robot mobile Sojourner chargé de différentes tâches ➢ ➢ ➢ photos relevés météo prélèvements ● ● ● ● poids : 11.5kg vitesse : 24m/h puissance totale : 30W liaison UHF avec la sonde Pathfinder ● bug dans la gestion des ressources critiques ⇒ perte de données importantes F. Touchard Introduction aux systèmes temps réels TD Ordonnancement 2 Architecture ● monoprocesseur RS6000 (architecture RISC de IBM) (+ un processeur Intel 8085 pour les automatismes de base du robot) caméra émetteur radio Interface caméra Interface radio Sonde Pathfinder Processeur Mémoires Interface bus bus VME bus 1553 Coupleur Robot Sojourner Interface altimètre Interface accéléromètre Interface enregistreur altimètre accéléromètre enregistreur météo bus 1553 Coupleur F. Touchard Interface moteurs Interface vannes Interface capteur Interface analyseur moteurs vannes capteurs solaires analyseur d'étoiles Introduction aux systèmes temps réels TD Ordonnancement 3 Spécification fonctionnelle ● le système de gestion de la sonde communique avec l'extérieur par ➢ ➢ ➢ la carte radio pour les liaisons avec la terre la carte de liaison avec la caméra l'interface avec le bus 1553 pour les autres capteurs/actionneurs Carte radio Réception Emission Images Carte caméra F. Touchard Introduction aux systèmes temps réels Gestion sonde Pathfinder Données mesurées Interface bus 1553 Commandes Commandes caméra TD Ordonnancement 4 Architecture logicielle ● ● multitâche gérée par le noyau Vxworks (Wind River) 25 tâches ➢ ➢ ➢ ● F. Touchard périodiques (ex. : gestion du bus 1553) apériodiques (ex. : analyse des erreurs) communication et synchronisation par des files de messages suivant les phases de la mission (vol interplanétaire, aterrissage, exploration par le robot), toutes les tâches ne sont pas utiles Introduction aux systèmes temps réels TD Ordonnancement 5 Architecture logicielle ● Liste des tâches et priorités relatives Priorité Tâche Maximum ORDO_BUS ↑ Nature de la tâche ordonnanceur du bus 1553 DISTRIBUTION_DONNEES distribution des données du bus 1553 pilotage de l'application (robot) ↑ TÂCHE_PILOTAGE ↑ TÂCHE_RADIO gestion des communications radio ↑ TÂCHE_CAMÉRA gestion de la caméra ↑ TÂCHE_MESURES Minimum TÂCHE_METEO F. Touchard Introduction aux systèmes temps réels TD Ordonnancement mesures gestion des données météo 6 Architecture logicielle ● Architecture en tâches (HTR : horloge temps réel) HTR HTR DISTRIBUTION_ DONNÉES ORDO_BUS données mesurées commandes HTR Tampon_données TÂCHE_PILOTAGE HTR LIRE TÂCHE_CAMÉRA HTR images commande caméra HTR TÂCHE_RADIO ÉCRIRE TÂCHE_MESURE HTR TÂCHE-MÉTÉO réception F. Touchard émission Introduction aux systèmes temps réels TD Ordonnancement 7 Utilisation du bus 1553 la gestion du bus est pilotée par une horloge à 8 Hz (125ms) ● 2 tâches pour réguler le transfert des données ● ➢ ORDO_BUS ✔ ✔ ➢ DISTRIBUTION_DONNÉES ✔ ✔ F. Touchard priorité maximale vérifie que le transfert des données a été correctement effectué et prépare le transfert suivant 2 ème priorité collecte les données sur le bus et les place dans la mémoire tampon Introduction aux systèmes temps réels TD Ordonnancement 8 Caractéristiques des tâches Paramètres (ms) Paramètres Temps réduits utilisation Priorité Ci Pi Ci Pi ressource ORDO_BUS 7 25 125 1 5 DISTRIBUTION_ DONNÉES 6 25 125 1 5 1 TÂCHE_PILOTAGE 5 25 250 1 10 1 TÂCHE_RADIO 4 25 250 1 10 TÂCHE_CAMÉRA 3 25 250 1 10 TÂCHE_MESURES 2 50 5000 2 200 2 TÂCHE_MÉTÉO 1 [50, 75] 5000 [2, 3] 200 [2, 3] Tâche pour CMÉTÉO = 2, U=0.72 et pour CMÉTÉO = 3, U=0.725 ● analyse Rate Monotonic pourrait s'appliquer (URMA=0.729), ● mais partage de la ressource MÉMOIRE_TAMPON ⇒ analyse détaillée ● F. Touchard Introduction aux systèmes temps réels TD Ordonnancement 9 recherche d'ordonnancement ● période d'étude théorique : 5000ms ➢ ● étudier les cas CMÉTÉO = 2 et CMÉTÉO = 3 ➢ F. Touchard mais on va se contenter d'étudier sur 250ms en considérant que les tâches MESURES et MÉTÉO viennent de se terminer et en se mettant sur la période suivante remplir les chronogrammes dans le cas où l’héritage de priorité n’est pas activé Introduction aux systèmes temps réels TD Ordonnancement 10 diagramme d'exécution pour C=2 ORDO_BUS 0 1 2 3 4 5 DISTRIBUTION_DONNÉES R R 0 1 2 3 4 5 6 7 R R 6 7 8 9 R 8 9 TÂCHE_PILOTAGE R R 0 1 2 3 R 4 5 6 7 8 9 1 1 2 2 2 1 F. Touchard 2 R 25 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 Inversion de priorité 3 R R 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 R R TÂCHE_MÉTÉO 0 R Inversion de priorité TÂCHE_MESURES 0 R R TÂCHE_CAMÉRA 0 R 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 R TÂCHE_RADIO 0 1 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 3 4 5 6 7 8 Introduction aux systèmes temps réels 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TD Ordonnancement 11 diagramme d'exécution pour C=3 Reset ALARME ORDO_BUS 0 1 2 3 4 5 R R DISTRIBUTION_DONNÉES 0 1 2 3 4 5 6 7 R R 6 7 8 9 R 8 9 TÂCHE_PILOTAGE R R 0 1 2 2 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 R 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_RADIO 0 1 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 Inversion de priorité Inversion de priorité TÂCHE_CAMÉRA 0 1 2 TÂCHE_MESURES 0 1 2 3 R R 4 5 6 7 8 1 F. Touchard 2 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 3 4 5 6 7 8 Introduction aux systèmes temps réels 9 25 R R TÂCHE_MÉTÉO 0 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TD Ordonnancement 12 C=3 avec héritage de priorité ORDO_BU S 0 1 2 3 R R DISTRIBUTION_DONNÉ ES 0 1 2 3 4 5 6 R 4 5 6 7 R 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 R 8 9 R 2 R R R 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_PILOTAGE R R 0 1 R R R 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TÂCHE_RADIO 0 1 TÂCHE_CAMÉ RA 0 1 0 1 2 R R TÂCHE_MESUR ES 3 4 5 6 7 8 R TÂCHE_MÉTÉO 0 1 F. Touchard 2 9 3 4 5 6 7 Introduction aux systèmes temps réels 8 9 Héritage de priorité 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 R 10 11 12 13 14 15 16 17 80 19 20 21 22 23 24 25 TD Ordonnancement 13