Institut national de recherche scientifique français Univerité Pierre et Marie Curie Université Paris Diderot - Paris 7

Logiciel de vol des N-DPU de PLATO

lundi 15 janvier 2024, par Philippe Plasson

Le logiciel de vol des N-DPU est le logiciel embarquĂ© qui pilote les 24 camĂ©ras normales de la charge utile du satellite PLATO. Il met en Ĺ“uvre des algorithmes de photomĂ©trie qui permettent de rĂ©duire le flot de donnĂ©es produit par les camĂ©ras en calculant, directement Ă  bord, le flux des Ă©toiles ou en transmettant des fenĂŞtres de 6x6 pixels centrĂ©es autour des Ă©toiles. Ce sont ces donnĂ©es qui seront utilisĂ©es par le segment sol pour construire les courbes de lumière des Ă©toiles et dĂ©tecter des exoplanètes. Ce logiciel a Ă©tĂ© conçu et rĂ©alisĂ© par l’Ă©quipe "Logiciels de Vol" du LESIA.

 La mission PLATO

PLATO ("PLAnetary Transits and Oscillations of stars") est une mission de classe M de l’Agence spatiale europĂ©enne dont le lancement est prĂ©vu fin 2026. L’objectif scientifique de la mission est de dĂ©tecter, grâce Ă  la mĂ©thode des transits planĂ©taires, des planètes rocheuses dans la zone habitable et – simultanĂ©ment – de dĂ©terminer, grâce Ă  la sismologie, les caractĂ©ristiques des Ă©toiles hĂ´tes des planètes.

Le concept instrumental de PLATO est basé sur une approche multi-caméras, comprenant un ensemble de 24 caméras observant à la cadence d’une image toutes les 25 secondes plus un ensemble de deux caméras observant un champ plus petit, à la cadence de 2.5 secondes, dédiées à la mesure des étoiles les plus brillantes.

Le satellite PLATO avec ses 26 cameras
Le satellite PLATO avec ses 26 cameras

© ESA

 Système de traitement de donnĂ©es bord de PLATO

Le système de traitement des donnĂ©es de PLATO, appelĂ© DPS (Data Processing System), est le système de la charge utile de PLATO responsable du traitement des donnĂ©es Ă  bord (acquisition des donnĂ©es, rĂ©duction des donnĂ©es via des algorithmes de photomĂ©trie, compression des donnĂ©es, surveillance, etc.). Le DPS est constituĂ© d’un ensemble de plusieurs cartes Ă©lectroniques Ă©quipĂ©es de processeurs et interconnectĂ©es via un rĂ©seau SpaceWire. L’architecture du DPS est composĂ©e de :

  • 12 unitĂ©s de traitement gĂ©rant les camĂ©ras normales (N-DPU : Normal Data Processing Units) et intĂ©grant un processeur double cĹ“ur LEON3FT GR712RC. Chaque carte N-DPU gère deux camĂ©ras.
  • Deux unitĂ©s de traitement gĂ©rant les camĂ©ras rapides (F-DPU : Fast Data processing Units).
  • Deux unitĂ©s de contrĂ´le des instruments (ICU : Instrument Control Units) fonctionnant en redondance froide. L’ICU est chargĂ© de la gestion de la charge utile, de la communication avec le module de service (SVM) du satellite et de la compression des donnĂ©es scientifiques avant transmission au SVM sous forme de tĂ©lĂ©mĂ©tries.
Le système de traitement des données embarqué PLATO
Le système de traitement des données embarqué PLATO

© DLR

 Cartes N-DPU et boĂ®tiers MEU

Une carte Ă©lectronique N-DPU contient les composants suivants :

  • 1 processeur bi-coeur LEON3FT GR712RC cadencĂ© Ă  50MHz
  • 1 SDRAM de 256 MiB (64 M x (32b+16b))
  • 4 interfaces SpaceWire
Carte PLATO N-DPU
Carte PLATO N-DPU

© LESIA

Le MEU est un boĂ®tier intĂ©grant en son sein :

  • 6 cartes N-DPU
  • 2 cartes PSU (Power Supply Unit)
  • 2 routeurs SpaceWire

Le boĂ®tier MEU, avec ses diffĂ©rentes cartes Ă©lectroniques, est fourni par l’Espagne (IAA-CSIC / IAC / Thales Alenia Space).

Schéma fonctionnel du MEU
Schéma fonctionnel du MEU

© DLR

Boîtier MEU
Boîtier MEU

© IAA

 Aperçu du logiciel de vol des N-DPU de PLATO

Le logiciel de vol des N-DPU est le logiciel embarqué déployé dans chacune des 12 cartes N-DPU. Le logiciel de vol N-DPU a été spécifié, conçu, mis en œuvre, validé et qualifié par le LESIA.

Chaque logiciel de vol des N-DPU gère deux caméras, chaque caméra comportant quatre détecteurs de 21 millions de pixels. Le logiciel de vol N-DPU pilote les électroniques de proximité des caméras (N-FEE), gère leurs modes de fonctionnement, acquiert les pixels numérisés ainsi que les données techniques utiles pour la surveillance (tensions, températures, états, etc.).

En mode observation, chaque logiciel de vol des N-DPU reçoit, en provenance des deux camĂ©ras, un flux de segments de fenĂŞtres contenant l’image des Ă©toiles observĂ©es. Les segments de fenĂŞtre sont transfĂ©rĂ©s toutes les 6,25 secondes via une liaison SpaceWire. Les segments sont assemblĂ©s entre eux afin de reformer des fenĂŞtres Ă  l’aide d’une table de recherche (LUT). Ces fenĂŞtres contenant les taches images des Ă©toiles sont ensuite traitĂ©es par le logiciel de vol.

Dans son mode "observation", le rĂ´le du logiciel de vol des N-DPU est de gĂ©nĂ©rer des fenĂŞtres carrĂ©es de 6x6 pixels (c’est-Ă -dire des fenĂŞtres contenant une tache image de l’Ă©toile appelĂ©e "imagette" non transformĂ©e Ă  bord) pour 21% des Ă©toiles traitĂ©es (sur 132 350 Ă©toiles par camĂ©ra) et de calculer des produits photomĂ©triques en utilisant des algorithmes Ă  base de masques binaires (photomĂ©trie d’ouverture) pour 79% d’entre elles. Les produits photomĂ©triques correspondent au flux des Ă©toiles et Ă  leur centre de luminositĂ©. Le logiciel de vol des N-DPU calcule Ă©galement, afin de corriger les flux, le dĂ©calage des Ă©lectroniques de lecture, le fond de ciel et le smearing (propagation de la charge d’un pixel saturĂ© vers les pixels adjacents).

Le logiciel de vol des N-DPU calcule les flux lumineux et les centres de luminositĂ© toutes les 25 secondes. Ces produits photomĂ©triques sont ensuite moyennĂ©s sur 50 et 600 secondes (Ă©chantillons de 2 et 24 mesures respectivement). Avant de moyenner temporellement les flux, le logiciel de vol des N-DPU effectue une dĂ©tection des valeurs aberrantes. Les donnĂ©es moyennĂ©es sont ensuite envoyĂ©es Ă  l’ICU sous forme de paquets tĂ©lĂ©mĂ©triques. Les autres 21% d’Ă©toiles (27 500) de chaque N-camĂ©ra sont directement transmis Ă  l’ICU sous forme d’imagettes de 6 par 6 pixels. Le logiciel de vol des N-DPU est aussi capable de transmettre des fenĂŞtres dont la forme est très Ă©tirĂ©e verticalement et qui sont utilisĂ©es pour les Ă©toiles dites "saturĂ©es" (Ă©toiles extrĂŞmement brillantes).

Pipeline de traitement PLATO N-DPU ASW
Pipeline de traitement PLATO N-DPU ASW

© LESIA

La définition "théorique" de tous les algorithmes scientifiques mis en œuvre dans le logiciel de vol des N-DPU a été faite par le groupe DPA-WG de PLATO piloté par le LESIA.

Le logiciel de vol des N-DPU, outre le mode "Observation", dispose d’un mode permettant de calculer automatiquement le positionnement des fenĂŞtres Ă©toiles sur les CCD Ă  partir de l’attitude des tĂ©lescopes et du catalogue des Ă©toiles donnant leurs positions dans le système de rĂ©fĂ©rence cĂ©leste barycentrique (BCRS).

En plus des services scientifiques, le logiciel de vol des N-DPU offre des services dĂ©diĂ©s aux activitĂ©s d’Ă©talonnage : service d’acquisition d’images complètes et service d’acquisition de fenĂŞtres.

Enfin, le logiciel de vol des N-DPU met en Ĺ“uvre des services techniques comme le "scrubbing" (parcours en boucle de la mĂ©moire afin de dĂ©tecter les erreurs mĂ©moire et de les corriger) ou encore les services du standard PUS de l’ESA :

  • vĂ©rification des paquets de tĂ©lĂ©commandes ;
  • test de communication ;
  • gestion de la production de rapports pĂ©riodiques contenant les paramètres instrumentaux de type "housekeepings" ;
  • gestion de la production de rapports sporadiques (Ă©vĂ©nements liĂ©s Ă  la progression d’une activitĂ© ou Ă  la dĂ©tection d’une erreur) ;
  • gestion de l’heure ;
  • gestion de la mĂ©moire (chargement de la mĂ©moire bord, lecture et vĂ©rification) ;
  • gestion des paramètres bord (lecture / Ă©criture) ;
  • surveillance des paramètres instrumentaux.

 Architecture du logiciel de vol des N-DPU

Une architecture multi-cœurs construite avec la plateforme GERICOS

Le logiciel de vol des N-DPU est construit selon une architecture multi-cœurs de type AMP (Asymmetric Multi-Processing) en utilisant la plateforme GERICOS fonctionnant au-dessus du noyau temps réel RTEMS 4.8 (version Edisoft). La plateforme GERICOS (GEneRIC Onboard Software) est une plateforme générique du LESIA pour le développement de logiciels embarqués pour les instruments scientifiques spatiaux.

Avec la plateforme GERICOS, une application temps rĂ©el est construite comme un ensemble d’objets actifs (appelĂ©s "tâches"), chaque objet actif ayant sa propre queue de messages et son propre fil d’exĂ©cution. Chaque tâche traite les messages entrants un par un, en exĂ©cutant la fonction associĂ©e au message.

Le support des architectures multi-cĹ“urs AMP dans la plateforme GERICOS repose sur les caractĂ©ristiques intrinsèques du paradigme "objets actifs" de la couche GERICOS::CORE. Avec ce paradigme, deux objets communiquent via des messages sĂ©rialisĂ©s. Chaque objet est divisĂ© en un objet d’implĂ©mentation (qui met en Ĺ“uvre les services offerts par l’objet) et en un objet "stub" qui est responsable des aspects de sĂ©rialisation et dĂ©sĂ©rialisation des messages. Le processus de sĂ©rialisation et dĂ©sĂ©rialisation mis en Ĺ“uvre dans le "stub" a Ă©tĂ© Ă©tendu de manière Ă  ce que les objets puissent communiquer d’un cĹ“ur de CPU Ă  un autre en utilisant des mĂ©canismes de communication simples basĂ©s sur la mĂ©moire partagĂ©e pour transmettre les messages et des spin locks basĂ©s sur l’opĂ©ration atomique de comparaison et d’Ă©change du processeur LEON3 (instruction CASA) pour sĂ©curiser l’accès concurrent Ă  la mĂ©moire entre les diffĂ©rent cĹ“urs.

L’architecture AMP Ă  deux cĹ“urs du logiciel de vol des N-DPU ASW implique que deux applications coexistent.

La première application, qui joue le rĂ´le de maĂ®tre, est dĂ©ployĂ©e sur le cĹ“ur #0 du processeur LEON3-FT et est chargĂ©e de gĂ©rer les interfaces avec l’ICU (paquets de tĂ©lĂ©commandes et de tĂ©lĂ©mĂ©tries), de traiter les donnĂ©es de la camĂ©ra #A, de gĂ©rer les modes et les services techniques. Cette première application est composĂ©e de 20 tâches temps rĂ©el.

La seconde application est déployée sur le cœur #1 du processeur LEON3-FT et est en charge du traitement des données de la caméra #B et du nettoyage de la mémoire. Cette deuxième application est composée de 8 tâches temps réel.

Logiciel d'application N-DPU Architecture à double cœur
Logiciel d’application N-DPU Architecture Ă  double cĹ“ur

© LESIA

Un logiciel temps-réel

En termes de sĂ©quencement temps-rĂ©el, la pĂ©riode fondamentale Ă  considĂ©rer est de 6,25 secondes : le logiciel reçoit toutes les 6,25 secondes une nouvelle sĂ©rie de fenĂŞtres de 6x6 pixels Ă  traiter. La transmission de ces fenĂŞtres est rĂ©partie sur les 4,1 secondes correspondant Ă  la lecture du dĂ©tecteur (1). Jusqu’Ă  25 paquets de 32 kilo-octets sont transmis par seconde par la camĂ©ra pendant la pĂ©riode de lecture. Ă€ la fin de la rĂ©ception des paquets, le logiciel doit extraire les segments de fenĂŞtre des paquets et reconstruire les fenĂŞtres en moins de 2,15 secondes, c’est-Ă -dire avant la fin du cycle de 6,25 secondes (2). Une fois la phase de reconstruction terminĂ©e, le logiciel peut commencer les traitements photomĂ©triques. Ces traitements photomĂ©triques sont effectuĂ©s pendant la transmission des fenĂŞtres du dĂ©tecteur suivant et doivent impĂ©rativement ĂŞtre terminĂ©s 4,1 secondes après le dĂ©but du cycle suivant (3).

Processus d'acquisition PLATO N-DPU ASW
Processus d’acquisition PLATO N-DPU ASW

© LESIA

En mode observation, les deux applications communiquent par l’intermĂ©diaire de files d’attente de type FIFO contenant les paquets de tĂ©lĂ©mĂ©trie. La seconde application crĂ©e les paquets de tĂ©lĂ©mĂ©trie correspondant aux donnĂ©es de la camĂ©ra B et les stocke dans une file d’attente partagĂ©e. La première application rĂ©cupère ces paquets dans la file d’attente partagĂ©e et les transmet Ă  l’ICU. Il peut Ă©galement y avoir des Ă©changes de messages entre les cĹ“urs lorsque, par exemple, un Ă©vĂ©nement est dĂ©tectĂ© par la deuxième application et qu’un rapport doit ĂŞtre transmis par la première application.

 Plateforme de tests du logiciel de vol des N-DPU

La plateforme de tests du logiciel de vol des N-DPU est un ensemble de composants matériels et logiciels utilisés pendant les activités de développement et de validation.

La partie logicielle de cette plateforme est basĂ©e sur GAUSS (Generic Api for ground Support Software), un projet dĂ©veloppĂ© au LESIA, qui offre des fonctionnalitĂ©s gĂ©nĂ©riques et flexibles :

  • Simulateur d’interface satellite
  • Commande du système (Ă©diteur de scripts de tĂ©lĂ©commandes)
  • Visualisation et surveillance de la tĂ©lĂ©mĂ©trie
  • Langage d’assertion pour la vĂ©rification automatique des tests
  • Architecture distribuĂ©e
  • Gestion de la base de donnĂ©es SQL

En plus de ces composants logiciels, la plateforme de tests du logiciel de vol des N-DPU contient Ă©galement plusieurs composants matĂ©riels :

  • Brique SpaceWire STAR-Dundee
  • Simulateur de camĂ©ra PLATO (SIMUCAM) fourni par l’institut MAUA (IMT, SĂŁo Paulo)
Logiciel d'application PLATO N-DPU GSE
Logiciel d’application PLATO N-DPU GSE

© LESIA

Outil de contrĂ´le des paquets TC/TM
Outil de contrĂ´le des paquets TC/TM

© LESIA

Banc d'essai N-DPU
Banc d’essai N-DPU

© LESIA

Vue d'artiste du satellite PLATO
Vue d’artiste du satellite PLATO

© ESA (acknowledgement : work performed by ATG under contract to ESA), CC BY-SA 3.0 IGO

 Dates clĂ©s

Date Evénement
Juillet 2014 SĂ©lection de PLATO par l’ESA
Janvier 2016 Démarrage des activités de développement du logiciel de vol des N-DPU
Juin 2017 "Adoption" de PLATO par l’ESA
Septembre à décembre 2018 Software SRR (System Requirement Review)
Septembre à décembre 2019 Software PDR (Preliminary Design Review)
Juillet 2020 Livraison au consortium PLATO de la version 0.4 du logiciel de vol (mode de calibration plein-cadre)
Juillet 2021 Livraison au consortium PLATO de la version 0.8 du logiciel de vol (mode de calibration fenêtré)
Septembre 2022 Livraison au consortium PLATO de la version 0.9 du logiciel de vol (services scientifiques partiellement implémentés)
Octobre à décembre 2022 Software CDR (Critical Design Review)
Septembre 2023 Livraison au consortium PLATO de la version 1.0 du logiciel de vol (100% des fonctionnalités sont implémentées)

 Personnes impliquĂ©es dans le projet logiciel de vol des N-DPU de PLATO

Nom RĂ´le
Aliocha Amerge DĂ©veloppement du logiciel de vol (stagiaire)
Gaele Barbary Tests fonctionnels du MEU
Kimberley Berisha DĂ©veloppement du logiciel de vol (stagiaire)
Alexandre Crignola DĂ©veloppement de la plate-forme de tests (ASTEK)
Florent Ducellier Spécification et validation du logiciel de vol (ASTEK)
Gary Gabriel DĂ©veloppement du framework GERICOS
Nicolas Gauthier DĂ©veloppement du logiciel de vol
Loic Gueguen Gestion de projet : plate-forme de tests
Pierre-Vincent Gouel DĂ©veloppement du logiciel de vol
Baptiste Gouesbet DĂ©veloppement du logiciel de vol (ASTEK)
Lee-Roy Malac-Allain DĂ©veloppement du logiciel de vol
Aymeric Menager DĂ©veloppement du logiciel de vol (ASTEK)
Thibault Lamborot DĂ©veloppement de la plate-forme de tests
Gaelle Palandri DĂ©veloppement de la plate-forme de tests
Philippe Plasson Gestion de projet : logiciel de vol
Hugo Pompougnac DĂ©veloppement du logiciel de vol (stagiaire)
William Recart Gestion assurance produit (Hensoldt Space Consulting)

Contact : Philippe Plasson