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