Brevet FR3159687A1 — publié le 20250829

L’invention concerne une unité de calcul (203) d’un système de contrôle de vol d’un aéronef. Une couche haute (401) comprend un premier ensemble (4011) de partition(s) réalisant des fonctions de contrôle de vol et un premier ordonnanceur (4013) réalisant un ordonnancement des partitions du premier ensemble. Une couche intermédiaire (402) comprend : un bloc de gestion d’entrées/sorties (4022) offrant aux partitions du premier ensemble un accès à au moins une interface (404) de l’aéronef ; un bloc de communication (4021) pour les partitions du premier ensemble ; et un deuxième ordonnanceur (4020) gérant la latence de flux de données échangés entre d’une part les partitions du premier ensemble et d’autre part le bloc de gestion d’entrées/sorties (4022) et le premier bloc de communication (4021). Ainsi, l’architecture proposée permet un fonctionnement avec de multiples partitions. En outre, elle est générique et nécessite peu d’adaptations à chaque nouveau programme d’aéronef. Figure à publier avec l’abrégé : Fig. 4 UNITE DE CALCUL D’UN SYSTEME DE CONTROLE DE VOL D’UN AERONEF, ET PLATEFORME DE CALCUL ET AERONEF CORRESPONDANTS. Le domaine de l’invention est celui des systèmes de contrôle de vol des aéronefs (ou FCS pour « Flight Control Systems » en anglais), aussi parfois appelés systèmes de commande de vol. Plus précisément, la présente invention concerne une unité de calcul d’un tel système de contrôle de vol. La présente invention concerne également une plateforme de calcul d’un tel système de contrôle de vol, comprenant une paire d’unités de calcul. ETAT DE LA TECHNIQUE ANTERIEURE Le système de contrôle de vol d’un aéronef comporte en général plusieurs unités de calcul qui sont comprises et exécutées sur plusieurs plateformes de calcul, aussi appelées « calculateur de contrôle de vol » ou « calculateur de commandes de vol » (ou FCC pour « Flight Control Computer » en anglais) qui sont des « calculateurs avioniques ». Dans une première architecture connue, une plateforme de calcul comprend une paire d’unités de calcul, souvent nommées COM et MON (pour « Command » et « Monitoring » en anglais respectivement), la première (unité de calcul COM) agissant en mode commande et la deuxième (unité de calcul MON) agissant en mode surveillance de la première. Dans une deuxième architecture connue, une plateforme de calcul comprend une unique unité de calcul. Les plateformes de calcul sont réparties par paires COM/MON, la première (plateforme de calcul COM) agissant en mode commande et la deuxième (plateforme de calcul MON) agissant en mode surveillance de la première. La présente invention s’applique notamment avec les deux architectures connues précitées. Les unités de calcul peuvent communiquer entre elles. Plus précisément, il existe des communications entre unités de calcul hébergées par une même plateforme de calcul, ainsi que des communications entre unités de calcul hébergées par différentes plateformes de calcul. A cet effet, l’aéronef comprend un ou plusieurs réseaux de communication pour lesquels il existe différents standards (par exemple ARINC 664 part 7 (AFDX), Ethernet, ARINC 429 (souvent simplement dénommé A429), etc.). Classiquement, chaque unité de calcul comprend une seule partition. L’unité de calcul met en œuvre des fonctions de contrôle de vol (aussi appelées « fonctions logicielles avioniques »), par exemple pour commander des actionneurs d’une gouverne. L’unité de calcul comprend des boucles de contrôle (« control loops » en anglais). Dans une implémentation particulière, la plateforme de calcul offre également un service de synchronisation entre les unités de calcul que la plateforme de calcul héberge. En résumé, classiquement, le système de contrôle de vol (FCS) de l’aéronef comprend une ou plusieurs plateformes de calcul (FCC). Chaque plateforme de calcul comprend une ou plusieurs unités de calcul qui réalisent des fonctions de contrôle de vol. Dans l’état de l’art, chaque plateforme de calcul (FCC) d’un système de contrôle de vol est un produit dédié pour un programme d’aéronef spécifique. Pour chaque nouveau programme d’aéronef, il est actuellement nécessaire d’effectuer plusieurs opérations : redévelopper, avec une équipe dédiée, chaque plateforme de calcul (FCC) du système de contrôle de vol ; effectuer de nouvelles activités de vérification et de contrôle dédiées ; effectuer de nouvelles activités de certification dédiées ; mettre à jour une stratégie de dissimilarité ; concevoir des spécifications dédiées ; etc. Il est souhaitable de fournir une solution permettant de faciliter la conception des plateformes de calcul (FCC) d’un système de contrôle de vol, en évitant ou limitant les opérations précitées pour chaque nouveau programme d’aéronef. Il est également souhaitable que la solution fournie permette de favoriser, en termes d’exécution, certaines fonctions de contrôle de vol ainsi que certaines boucles de contrôle. Un objet de la présente invention est de proposer une unité de calcul d’un système de contrôle de vol d’un aéronef, comprenant : - une couche haute comprenant : * un premier ensemble de partitions, comprenant des partitions qui sont associées chacune à un premier niveau de priorité et qui réalisent chacune au moins une première fonction de contrôle de vol ; et * un premier ordonnanceur, réalisant un ordonnancement des partitions du premier ensemble, chaque partition du premier ensemble étant répétée par le premier ordonnanceur avec une première fréquence ; et - une couche intermédiaire comprenant : * un bloc de gestion d’entrées/sorties offrant aux partitions du premier ensemble un accès à au moins une interface de l’aéronef ; * un premier bloc de communication entre partitions, permettant à chaque partition du premier ensemble de communiquer, via une première voie de communication dédiée ou via au moins un premier réseau de communication de l’aéronef, avec au moins une autre partition associée au premier niveau de priorité et comprise dans une autre unité de calcul de l’aéronef ; et * un deuxième ordonnanceur, gérant la latence de flux de données échangés entre d’une part les partitions du premier ensemble et d’autre part le bloc de gestion d’entrées/sorties et le premier bloc de communication entre partitions. Ainsi, l’architecture proposée, avec la couche haute (comprenant le premier ensemble de partitions et le premier ordonnanceur) et la couche intermédiaire (comprenant le bloc de gestion d’entrées/sorties, le premier bloc de communication entre partitions et le deuxième ordonnanceur), permet un fonctionnement avec de multiples partitions (« fonctionnement multipartition »), avec plusieurs partitions du premier ensemble qui sont exécutées en parallèle. En outre, cette architecture est générique et nécessite peu d’adaptations pour la conception des plateformes de calcul (et des unités de calcul comprises dans celles-ci) à chaque nouveau programme d’aéronef. Elle permet donc de faciliter la conception des plateformes de calcul (FCC) d’un système de contrôle de vol, en évitant ou limitant les opérations précitées de l’état de l’art. Selon un mode de réalisation particulier, la couche haute comprend en outre : * un deuxième ensemble de partitions, comprenant des partitions qui sont associées chacune à un deuxième niveau de priorité, supérieur au premier niveau de priorité, et qui réalisent chacune au moins une deuxième fonction de contrôle de vol ; et * un troisième ordonnanceur, réalisant un ordonnancement des partitions du deuxième ensemble, chaque partition du deuxième ensemble étant répétée par le deuxième ordonnanceur avec une deuxième fréquence qui est supérieure à la première fréquence de répétition de chaque partition du premier ensemble ; la couche intermédiaire comprend en outre : * un deuxième bloc de communication entre partitions, permettant à chaque partition du deuxième ensemble de communiquer, via une deuxième voie de communication dédiée ou via au moins un deuxième réseau de communication de l’aéronef, avec au moins une autre partition associée au deuxième niveau de priorité et comprise dans une autre unité de calcul de l’aéronef ; le bloc de gestion d’entrées/sorties offre en outre aux partitions du deuxième ensemble un accès à ladite au moins une interface de l’aéronef, et le deuxième ordonnanceur gère également la latence de flux de données échangés entre d’une part les partitions du deuxième ensemble et d’autre part le bloc de gestion d’entrées/sorties et le deuxième bloc de communication entre partitions. Selon un mode de réalisation particulier, le premier ordonnanceur et le deuxième ordonnanceur sont synchronisés entre eux. Selon un mode de réalisation particulier, le premier ordonnanceur et le troisième ordonnanceur sont synchronisés entre eux. Selon un mode de réalisation particulier, le bloc de gestion d’entrées/sorties comprend : * un premier sous-bloc de gestion d’entrées/sorties offrant aux partitions du premier ensemble un premier accès à ladite au moins une interface de l’aéronef ; et * un deuxième sous-bloc de gestion d’entrées/sorties offrant aux partitions du deuxième ensemble un deuxième accès à ladite au moins une interface de l’aéronef. Selon un mode de réalisation particulier, au moins certaines des partitions des premier et deuxième ensembles comprennent au moins une boucle de contrôle, chaque boucle de contrôle bénéficiant de la première ou deuxième fréquence de répétition de la partition dans laquelle est comprise ladite boucle de contrôle. Selon un mode de réalisation particulier, le bloc de gestion d’entrées/sorties ou la couche haute comprend au moins une première autre boucle de contrôle qui a un accès à ladite au moins une interface de l’aéronef, qui est répétée avec une troisième fréquence supérieure à la deuxième fréquence, et qui peut communiquer avec les partitions du deuxième ensemble. Selon un mode de réalisation particulier, le bloc de gestion d’entrées/sorties comprend au moins une deuxième autre boucle de contrôle, qui est répétée avec une quatrième fréquence supérieure à la troisième fréquence. En outre, ladite au moins une première autre boucle de contrôle accède à ladite au moins une interface de l’aéronef via ladite au moins une deuxième autre boucle de contrôle. Selon un mode de réalisation particulier, chaque partition associée au premier niveau de priorité est une partition d’un premier type, dite partition utilisateur, ou une partition d’un deuxième type, dite partition système, qui correspond à au moins un service offert aux partitions du premier type. En outre, chaque partition associée au deuxième niveau de priorité est une partition du premier type. Selon un mode de réalisation particulier, la couche haute est configurée pour réaliser un service de communication entre partitions, permettant aux partitions du premier ensemble de communiquer, via au moins une interface mémoire, avec les partitions du deuxième ensemble. Il est également proposé une plateforme de calcul d’un aéronef, comprenant une paire d’unités de calcul telles que celle évoquée ci-dessus (dans l’un quelconque de ses modes de réalisation), une première des deux unités de calcul agissant en mode commande et une deuxième des deux unités de calcul agissant en mode surveillance de la première unité de calcul. Il est également proposé un aéronef comprenant un système de contrôle de vol comprenant au moins deux unités de calcul telles que celle évoquée ci-dessus (dans l’un quelconque de ses modes de réalisation). Selon un mode de réalisation particulier, le système de contrôle de vol comprend au moins deux plateformes de calcul telles que celle évoquée ci-dessus. En outre, les partitions des premiers ensembles des unités de calcul des au moins deux plateformes communiquent entre elles via les premiers services de communication desdites unités de calcul. Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'au moins un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels : FIG. 1 illustre schématiquement, en vue de côté, un aéronef équipé d’un système de contrôle de vol ; FIG. 2 illustre schématiquement le système de contrôle de vol, dans un mode de réalisation ; FIG. 3 illustre schématiquement un exemple d’architecture matérielle d’une plateforme de calcul comprise dans le système de contrôle de vol, dans un mode de réalisation ; FIG. 4 illustre schématiquement une unité de calcul comprise dans une plateforme de calcul, dans un premier mode de réalisation ; FIG. 5 illustre schématiquement un bloc, compris dans la couche intermédiaire de l’unité de calcul et réalisant un premier service de communication entre partitions, selon un mode de réalisation ; FIG. 6 illustre schématiquement un bloc, compris dans la couche intermédiaire de l’unité de calcul et réalisant un service de gestion d’entrées/sorties, selon un mode de réalisation ; FIG. 7 illustre schématiquement un bloc, compris dans la couche intermédiaire de l’unité de calcul et réalisant un deuxième service de communication entre partitions, selon un mode de réalisation ; FIG. 8 illustre schématiquement une unité de calcul comprise dans une plateforme de calcul, dans un deuxième mode de réalisation ; et FIG. 9 illustre schématiquement une unité de calcul comprise dans une plateforme de calcul, dans un troisième mode de réalisation. EXPOSE DETAILLE DE MODES DE REALISATION La FIG. 1 illustre schématiquement, en vue de côté, un aéronef 100 équipé d’un système de contrôle de vol (FCS) 101. Le système de contrôle de vol 101 est un équipement électronique embarqué. Par exemple, il fait partie d’une circuiterie électronique de l’avionique de l’aéronef 100. Le système de contrôle de vol 101 est schématiquement illustré sur la FIG. 2 , dans un mode de réalisation dans lequel il comprend N plateformes de calcul référencées 202-1 à 202-N. Chaque plateforme de calcul comprend une paire d’unités de calcul (« Dual Unit Mode ») : l’une, nommée COM (pour « Command ») et référencée 203-A, agit en mode commande et l’autre, nommée MON (pour « Monitoring ») et référencée 203-B, agit en mode surveillance de l’unité de calcul COM. Les unités de calcul d’une même plateforme peuvent communiquer d’une part entre elles, comme illustré par la flèche référencée 204, et d’autre part avec les unités de calcul des autres plateformes, comme illustré par les flèches référencées 205 et 206. On notera que la présente invention s’applique également dans le cas où le système de contrôle de vol 101 comprend une unique plateforme de calcul (« Single Unit Mode »). On notera également que la présente invention s’applique également dans le cas où chaque plateforme de calcul comprend une unique unité de calcul. Dans ce cas, les plateformes de calcul (et donc les unités de calcul) peuvent être réparties par paires COM/MON. La FIG. 3 illustre schématiquement un exemple d’architecture matérielle d’une plateforme de calcul (référencée 202 de manière générique et correspondant à l’une des plateformes 202-1 à 202-N de la FIG. 2 ) comprise dans le système de contrôle de vol 101, dans un mode de réalisation. Dans ce mode de réalisation, la plateforme de calcul 202 comprend, reliés par un bus de communication 310 : un processeur ou CPU (« Central Processing Unit » en anglais) 301 ; une mémoire vive RAM (« Random Access Memory » en anglais) 302 ; une mémoire morte ROM (« Read Only Memory » en anglais) 303, par exemple une mémoire Flash ; un dispositif de stockage de données, tel qu’un disque dur HDD (« Hard Disk Drive » en anglais), ou un lecteur de support de stockage, tel qu’un lecteur de cartes SD (« Secure Digital » en anglais) 304 ; au moins une interface de communication 305 permettant à la plateforme de calcul 202 d’interagir dans l’avionique de l’aéronef 100. Le processeur 301 est capable d’exécuter des instructions chargées dans la RAM 302 à partir de la ROM 303, d’une mémoire externe (non représentée), d’un support de stockage, tel qu’une carte SD, ou d’un réseau de communication (non représenté). Lorsque la plateforme de calcul 202 est mise sous tension, le processeur 301 est capable de lire de la RAM 302 des instructions et de les exécuter. Ces instructions forment un programme d’ordinateur causant la mise en œuvre, par le processeur 301, des comportements décrits ici. Dans une variante, les instructions sont exécutées directement depuis la ROM 303. Tout ou partie des comportements décrits ici peut ainsi être implémenté sous forme logicielle par exécution d’un ensemble d’instructions par une machine programmable, telle qu’un DSP (« Digital Signal Processor » en anglais) ou un microcontrôleur, ou être implémenté sous forme matérielle par une machine ou un composant (« chip » en anglais) dédié ou un ensemble de composants (« chipset » en anglais) dédié, tel qu’un FPGA (« Field-Programmable Gate Array » en anglais) ou un ASIC (« Application-Specific Integrated Circuit » en anglais). D’une manière générale, la plateforme de calcul 202 comprend de la circuiterie électronique agencée et configurée pour implémenter les comportements décrits ici. La FIG. 4 illustre schématiquement une unité de calcul (référencée 203 de manière générique et correspondant à l’une des unités de calcul 203-A (COM) et 203-B (MON) de la FIG. 2 ) comprise dans une plateforme de calcul 202, dans un premier mode de réalisation. L’unité de calcul 203 comprend une couche haute 401 et une couche intermédiaire 402. La couche haute 401 comprend des partitions réalisant des fonctions de contrôle de vol (fonctions logicielles avioniques) et comprenant des boucles de contrôle. Plus précisément, dans le mode de réalisation présenté, la couche haute comprend deux ensembles de partitions 4011 et 4012. Chaque partition du premier ensemble 4011 est associée à un premier niveau de priorité et réalise au moins une première fonction de contrôle de vol. Chaque partition du deuxième ensemble 4012 est associée à un deuxième niveau de priorité, supérieur au premier niveau de priorité, et réalise au moins une deuxième fonction de contrôle de vol. Dans le mode de réalisation présenté, le premier ensemble 4011 comprend deux sous-ensembles de partitions. Le premier sous-ensemble comprend des partitions 4011a d’un premier type, dites partitions utilisateur PU (aussi appelées « partitions applicatives » ou « partitions aéronef »). Le deuxième sous-ensemble comprend des partitions 4011b d’un deuxième type, dites partitions système PS. Les partitions système PS correspondent à des services offerts aux partitions utilisateur PU. Par exemple, le chargement de données est un service offert aux partitions utilisateur. Dans le mode de réalisation présenté, chaque partition 4012a du deuxième ensemble 4012 est une partition utilisateur PU. Dans le mode de réalisation illustré, la couche haute 401 est configurée pour réaliser un service de communication (illustré par la flèche référencée 413) entre partitions, permettant aux partition(s) du premier ensemble 4011 de communiquer, par exemple via au moins une interface mémoire, avec les partition(s) du deuxième ensemble 4012. Dans une variante non illustrée, la couche haute comprend un ou plusieurs ensembles de partitions supplémentaires (par exemple un troisième ensemble de partitions). Chaque ensemble supplémentaire comprend des partitions associées à un même niveau de priorité qui est différent des niveaux de priorité associés aux partitions des autres ensembles (par exemple les premier et deuxième ensembles). La couche haute 401 comprend également deux ordonnanceurs. L’un, nommé « ordonnanceur A » et référencé 4013, réalise un ordonnancement des partitions du premier ensemble. Celles-ci sont par exemple relatives au système de commandes de vol primaires (PFCS pour « Primary Flight Control System » en anglais), au système de commandes de vol secondaires (HLS pour « High Lift System » en anglais), au système de pilote automatique (AFS pour « Automatic Flight System » en anglais), etc. L’autre, nommé « ordonnanceur B » et référencé 4014, réalise un ordonnancement des partitions du deuxième ensemble. Celles-ci sont par exemple relatives aux fonctions d’asservissement des gouvernes, aux fonctions de surveillance des organes critiques, etc. Chaque partition du premier ensemble 4011 est répétée par l’ordonnanceur A 4013 avec une première fréquence F1. Chaque partition du deuxième ensemble 4012 est répétée par l’ordonnanceur B 4014 avec une deuxième fréquence F2 qui est supérieure à la première fréquence. Dans des implémentations particulières, la première fréquence F1 est inférieure ou égale à 200 Hz et la deuxième fréquence F2 est comprise entre 500 Hz et 2 kHz. Par exemple, F1 = 200 Hz et F2 = 1 kHz. Ainsi, les partitions 4012a du deuxième ensemble 4012 sont favorisées, en termes d’exécution, par rapport à celles 4011a et 4011b du premier ensemble 4011 puisque la deuxième fréquence F2 est supérieure à la première fréquence F1. En favorisant les partitions du deuxième ensemble, on favorise les fonctions de contrôle de vol et les boucles de contrôle comprises dans ces partitions du deuxième ensemble. Une partition du deuxième ensemble peut être nommée « partition rapide » (« Fast partition »), par comparaison avec une partition du premier ensemble pouvant être nommée « partition lente » (« Slow partition »). De même, une boucle de contrôle comprise dans une partition rapide peut être nommée « boucle de contrôle rapide » (« Fast Control Loop ») et une boucle de contrôle comprise dans une partition lente peut être nommée « boucle de contrôle lente » (« Slow Control Loop »). En d’autres termes, on améliore les performances (notamment les latences de bout en bout) des partitions rapides 4012a et des boucles de contrôle rapides, par rapport à celles des partitions lentes 4011a et 4011b et des boucles de contrôle lentes. La couche intermédiaire 402 comprend plusieurs entités : un autre ordonnanceur (référencé 4020 et nommé « ordonnanceur C »), un bloc de gestion d’entrées/sorties (illustré par le bloc référencé 4022 et nommé « Gestionnaire E/S »), un premier bloc de communication entre partitions (illustré par le bloc référencé 4021 et nommé « SC1 ») et un deuxième bloc de communication entre partitions (illustré par le bloc référencé 4021 et nommé « SC2 »). La couche intermédiaire 402 est également configurée pour réaliser un ou plusieurs types de synchronisation. Une synchronisation intra-unité de calcul correspond à l’horloge temps-réel (RTC pour « Real Time Clock ») de la plateforme qui héberge l’unité de calcul. La synchronisation intra-unités de calcul est utile pour garantir une acquisition à latence éprouvée pour une interface critique de l’aéronef (par exemple les capteurs de contrôle de vol). Une synchronisation inter-unités de calcul correspond à une synchronisation entre des partitions d’une paire d’unités de calcul (COM/MON) hébergées par une même plateforme de calcul (« Dual Unit Mode »). La synchronisation inter-unités de calcul n’est pas gérée dans le cas où chaque plateforme de calcul comprend une seule unité de calcul (« Single Unit Mode »). Le bloc de gestion d’entrées/sorties 4022 offre aux partitions des premier et deuxième ensembles 4011 et 4012 un accès à au moins une interface 404 de l’aéronef. Ceci est illustré par les flèches référencées 407 et 411, pour les partitions du premier ensemble 4011, et par les flèches référencées 408 et 411, pour les partitions du deuxième ensemble 4012. Les interfaces 404 de l’aéronef correspondent par exemple aux interfaces physiques globales de l’aéronef, incluant notamment les capteurs analogiques (qui fournissent des données) et les actionneurs de gouverne (qui reçoivent des commandes) accessibles via au moins un bus ou réseau (par exemple bus ARINC 429, bus CAN, signaux discrets, signaux analogiques, etc.). Préférentiellement, pour les capteurs analogiques, le service de gestion d’entrées/sorties 4022 est configuré pour gérer des capteurs à latence éprouvée, en garantissant une politique d’accès et de partitionnement (l’accès à un capteur pouvant être privé (dédié à une partition) ou partagé entre partitions). Et préférentiellement, pour les actionneurs et les commandes (commandes d’actionneurs, excitations de capteurs, commandes de commutateurs, ...), le service de gestion d’entrées/sorties 4022 est configuré pour gérer un partitionnement fort et des commandes à latence éprouvée (une commande ne peut pas être partagée entre plusieurs partitions). Le premier bloc de communication entre partitions 4021 permet à chaque partition du premier ensemble 4011 de communiquer, via une première voie de communication dédiée ou via au moins un premier réseau de communication 403 de l’aéronef (comme illustré par les flèches référencées 406 et 410), avec au moins une autre partition associée au premier niveau de priorité et comprise dans une autre unité de calcul de l’aéronef. Cette autre unité de calcul est comprise sur la même plateforme de calcul que l’unité de calcul 203 discutée (cas illustré par la flèche référencée 204 sur la FIG. 2 ) ou bien sur une autre plateforme de calcul (cas illustré par les flèches référencées 205 et 206 sur la FIG. 2 ). Dans le cas d’un accès partagé à un premier réseau de communication 403, le premier service de communication 4021 gère une politique d’accès (allocation de bande passante, partitionnement, intégrité des données, ...). Grâce au premier bloc de communication 4021 implémenté dans chacune des unités de calcul de la ou les plateformes de calcul, toutes les partitions lentes (c'est-à-dire associées au premier niveau de priorité) des différentes unités de calcul peuvent communiquer entre elles, soit via des communications intra-plateformes de calcul (cas d’une communication entre deux partitions lentes comprises dans deux unités de calculs (203-A et 203-B par exemple) hébergées par une même plateforme de calcul (202-1 par exemple)), soit via des communications inter-plateformes de calcul (cas d’une communication entre deux partitions lentes comprises dans deux unités de calculs hébergées par deux plateformes de calcul distinctes (202-1 et 202-2 par exemple)). Le deuxième bloc de communication entre partitions 4023 permet à chaque partition du deuxième ensemble 4012 de communiquer, via une deuxième voie de communication dédiée ou via au moins un deuxième réseau de communication 405 de l’aéronef (comme illustré par les flèches référencées 409 et 412), avec au moins une autre partition associée au deuxième niveau de priorité et comprise dans une autre unité de calcul de l’aéronef. Cette autre unité de calcul est comprise sur la même plateforme de calcul que l’unité de calcul 203 discutée (cas illustré par la flèche référencée 204 sur la FIG. 2 ) ou bien sur une autre plateforme de calcul (cas illustré par les flèches référencées 205 et 206 sur la FIG. 2 ). Dans le cas d’un accès partagé à un deuxième réseau de communication 405, le deuxième bloc de communication 4023 gère une politique d’accès (allocation de bande passante, partitionnement, intégrité des données, etc.). Grâce au deuxième bloc de communication 4023 implémenté dans chacune des unités de calcul de la ou les plateformes de calcul, toutes les partitions associées au deuxième niveau de priorité (partitions rapides) peuvent communiquer entre elles, via des communications intra-plateformes de calcul ou via des communications inter-plateformes de calcul. L’ordonnanceur C (4020) gère la latence pour différents flux de données depuis ou vers les partitions (c'est-à-dire garantit la latence des informations reçues et envoyées par les partitions des premier et deuxième ensembles 4011 et 4012), par exemple : flux de données échangés entre les partitions du premier ensemble 4011 et le bloc de gestion d’entrées/sorties 4022 ; flux de données échangés entre les partitions du premier ensemble 4011 et le premier bloc de communication entre partitions 4021 ; flux de données échangés entre les partitions du deuxième ensemble 4012 et le bloc de gestion d’entrées/sorties 4022 ; et flux de données échangés entre les partitions du deuxième ensemble 4012 et le deuxième bloc de communication entre partitions 4023. Dans certaines implémentations, l’ordonnanceur C comprend plusieurs sous-ordonnanceurs gérant chacun un ou plusieurs types de flux. Par exemple, dans l’implémentation illustrée sur la FIG. 4 , le sous-ordonnanceur C1 gère la latence des flux de données échangés entre les partitions du premier ensemble 4011 et le premier bloc de communication 4021, le sous-ordonnanceur C2 gère la latence des flux de données échangés entre les partitions des premier et deuxième ensembles 4011 et 4012 et le bloc de gestion d’entrées/sorties 4022, et le sous-ordonnanceur C3 gère la latence des flux de données échangés entre les partitions du deuxième ensemble 4012 et le deuxième bloc de communication 4023. Dans une implémentation particulière, en fonction de l’aéronef 100 et de la quantité d’interfaces à gérer 404, le sous-ordonnanceur C2 comprend lui-même plusieurs sous-ordonnanceurs C2a, C2b, … (voir par exemple ci-après la description de la FIG. 8 ). Dans ce cas, les sous-ordonnanceurs C2a, C2b, … sont synchronisés entre eux. Les trois ordonnanceurs A, B et C (4013, 4014 et 4020) étant indépendants, il existe des modes de réalisation dans lesquels un ou plusieurs mécanismes supplémentaires sont mis en place pour garantir les échanges entre les entités principales (premier ensemble de partitions 4011, deuxième ensemble de partitions 4012, premier bloc de communication 4021, bloc de gestion d’entrées/sorties 4022 et deuxième bloc de communication 4023). Il s’agit par exemple d’un ou plusieurs des mécanismes suivants : les horloges de base des ordonnanceurs A, B et C sont stables dans le temps ; les environnements des entités principales garantissent un partitionnement temporel robuste sur les interfaces ; les partitions des premier et deuxième ensembles 4011 et 4012 et le bloc de gestion d’entrées/sorties 4022 disposent de filtres numériques pour prévenir des phénomènes de repliement de spectre ; dans une implémentation COM/MON (voir FIG. 2 ), l’ordonnanceur A (respectivement B) de la couche haute 401 de l’unité de calcul 203-A est synchronisé avec l’ordonnanceur A (respectivement B) de la couche haute 401 de l’unité de calcul 203-B ; les ordonnanceurs A et B de la couche haute 401 sont synchronisés entre eux (en restant ou non indépendants de l’ordonnanceur C de la couche intermédiaire 402) ; chacun des ordonnanceurs A et B de la couche haute 401 est synchronisé avec l’ordonnanceur C de la couche intermédiaire 402 ; etc. La FIG. 5 illustre schématiquement un exemple de réalisation du bloc de communication 4021, compris dans la couche intermédiaire 402 de l’unité de calcul 202 et réalisant un service de communication entre partitions lentes. Le bloc 4021 comprend lui-même un bloc « Serveur-Réseau » 501 (aussi nommé « NTW_SERVER ») et un bloc « Commutateur » 502 (« aussi nommé « Switch »). Le bloc « Serveur-Réseau » 501 permet à une partition lente du premier ensemble 4011 d’accéder : - via un premier type de connexion (symbolisé par la flèche référencée 503 ; par exemple un bus ARINC 429 ou un bus RS 485 pour une communication avec une latence élevée, une faible bande passante et pas de configuration (point à point)), à une partition lente de l’autre unité de calcul hébergée par la même plateforme de calcul que celle hébergeant l’unité de calcul décrite 203 ; ou - via un deuxième type de connexion (symbolisé par la flèche référencée 504 ; par exemple un réseau AFDX ou un réseau Ethernet générique avec la capacité d'offrir une configuration, une faible latence et une large bande passante), à une partition lente hébergée par une autre plateforme. Le bloc « Commutateur » 502 est configuré pour étendre les capacités de connexion du bloc « Serveur-Réseau » (commutateur avec des caractéristiques améliorées pour gérer une qualité de service élevée (« High QoS ») avec une latence moyenne et une bande passante moyenne) et permettre à une partition lente du premier ensemble 4011 d’accéder : - via un troisième type de connexion (symbolisé par la flèche référencée 505 et plus performant que le premier type de connexion symbolisé par la flèche référencée 503), à une partition lente de l’autre unité de calcul hébergée par la même plateforme de calcul que celle hébergeant l’unité de calcul décrite ; ou - via un quatrième type de connexion (symbolisé par la flèche référencée 506 et plus performant que le deuxième type de connexion symbolisé par la flèche référencée 504) à une partition lente hébergée par une autre plateforme. La FIG. 6 illustre schématiquement un exemple de réalisation du bloc de gestion d’entrées/sorties 4022, compris dans la couche intermédiaire 402 de l’unité de calcul. Le bloc 4022 comprend lui-même : - un bloc « Serveur-E/S » 601 (aussi nommé « IO-SERVER ») qui offre aux partitions des premier et deuxième ensembles 4011 et 4012 un accès à la ou les interfaces 404 de l’aéronef (ceci est illustré par les flèches référencées 407, 605 et 606, pour les partitions du premier ensemble 4011, et par les flèches référencées 408, 605 et 606, pour les partitions du deuxième ensemble 4012). Le bloc « Serveur-E/S » 601 est capable de gérer différentes interfaces 404 en assurant la latence (latence éprouvée) et la cohérence temporelle entre les interfaces. Il est également capable de personnaliser le traitement de prétraitement afin d’offrir une configuration qui s’adapte au programme d’aéronefs en question. Il assure le partitionnement des entrées-sorties en fonction des partitions utilisateur (lentes et rapides) ; - un bloc « Boucle Très Rapide » 602 (aussi nommé « VFL » pour « Very Fast Loop »), qui est (au moins) une boucle de contrôle ayant un accès aux interfaces 404 de l’aéronef, qui est répétée par le service d’ordonnancement 4020 avec une troisième fréquence F3 supérieure à la deuxième fréquence F2 (par exemple F2 = 1 kHz et F3 = 16 kHz), et qui peut communiquer avec les partitions du deuxième ensemble 4012. Le bloc « Boucle Très Rapide » 602 convient aux aéronefs à grande vitesse. Proposer une telle augmentation de la fréquence d'exécution permet de réduire les temps de latence et d'augmenter la bande passante de la commande. Ces caractéristiques définissent les performances de l’aéronef. Les boucles très rapides sont conçues en fonction des actionneurs de l’aéronef (interfaces électriques) et sont fixes. Dans une variante de réalisation, le bloc 602 est compris dans la couche haute 401, par exemple dans le bloc 4012 comprenant le deuxième ensemble de partitions ; - un bloc « Boucle de contrôle » 603 (aussi nommé « CTRL LOOP »), qui est une boucle de contrôle répétée par le service d’ordonnancement 4020 avec une quatrième fréquence F4 supérieure à la troisième fréquence F3 (par exemple F3 = 16 kHz et F4 = 64 kHz). Le bloc « Boucle Très Rapide » 602 accède aux interfaces 404 de l’aéronef via bloc le « Boucle de contrôle » 603 (voir flèche référencée 607). Le « Boucle de contrôle » 603 est une boucle de contrôle analogique gérant par exemple la position, la vitesse et l’accélération des actionneurs ; et - un bloc « Contrôleur de bus terrain » 604 (« aussi nommé « FB CTRL » pour « Field Bus contrôler ») permettant de gérer une interface 404 distante en gérant un bus terrain (par exemple un bus de type MIL-STD-1553) (voir flèche référencée 608). La FIG. 7 illustre schématiquement un exemple de réalisation du bloc de communication 4023, compris dans la couche intermédiaire 402 de l’unité de calcul 202 et réalisant un service de communication entre partitions rapides. Le bloc de communication 4023 comprend lui-même un bloc « Contrôleur FCOM » 701 (aussi nommé « FCOM controller ») et un bloc « Commutateur » 702 (« aussi nommé « Switch »). Le bloc « Contrôleur FCOM » 701 est adapté, par rapport au bloc « Serveur-Réseau » 501, pour avoir de meilleures performances et ainsi être capable de répondre aux besoins des partitions rapides du deuxième ensemble 4012, et donc des boucles de contrôle rapides comprises sans ces partitions rapides. Le bloc « Contrôleur FCOM » 701 permet à une partition rapide du deuxième ensemble 4012 d’accéder : - via un cinquième type de connexion (symbolisé par la flèche référencée 703), à une partition rapide de l’autre unité de calcul hébergée par la même plateforme de calcul que celle hébergeant l’unité de calcul décrite 203 ; ou - via un sixième type de connexion (symbolisé par la flèche référencée 704), à une partition rapide hébergée par une autre plateforme. Le bloc « Commutateur » 702 est configuré pour étendre les capacités de connexion du bloc « Contrôleur FCOM » 701 et permettre à une partition rapide du deuxième ensemble 4012 d’accéder : - via un septième type de connexion (symbolisé par la flèche référencée 705 et plus performant que le cinquième de connexion symbolisé par la flèche référencée 703), à une partition rapide de l’autre unité de calcul hébergée par la même plateforme de calcul que celle hébergeant l’unité de calcul décrite ; ou - via un huitième type de connexion (symbolisé par la flèche référencée 706 et plus performant que le sixième type de connexion symbolisé par la flèche référencée 704) à une partition rapide hébergée par une autre plateforme. La FIG. 8 illustre schématiquement une unité de calcul (référencée 203 de manière générique et correspondant à l’une des unités de calcul 203-A (COM) et 203-B (MON) de la FIG. 2 ) comprise dans une plateforme de calcul 202, dans un deuxième mode de réalisation. Ce deuxième mode de réalisation se distingue du premier mode de réalisation de la FIG. 4 par les différences suivantes : le bloc de gestion d’entrées/sorties 4022 comprend : un premier sous-bloc de gestion d’entrées/sorties 4022a offrant aux partitions du premier ensemble 4011 un premier accès 411a à la au moins une interface 404 de l’aéronef ; et un deuxième sous-bloc de gestion d’entrées/sorties 4022b offrant aux partitions du deuxième ensemble 4012 un deuxième accès 411b à la au moins une interface 404 de l’aéronef. le sous-ordonnanceur C2 comprend deux sous-ordonnanceurs C2a et C2b : le sous-ordonnanceur C2a gère la latence des flux de données échangés entre les partitions du premier ensemble 4011 et le premier sous-bloc de gestion d’entrées/sorties 4022a ; et le sous-ordonnanceur C2b gère la latence des flux de données échangés entre les partitions du deuxième ensemble 4012 et le deuxième sous-bloc de gestion d’entrées/sorties 4022b. Le premier mode de réalisation décrit ci-dessus en relation avec les Figs. 1 à 7, et le deuxième mode de réalisation décrit ci-dessus en relation avec la FIG. 8 , correspondent chacun à une architecture générique complète. Afin de s’adapter à différents programmes d’aéronefs, diverses variantes de réalisation peuvent être envisagées en modifiant par bloc l’architecture générique complète. Ainsi, la conception, le développement, la mise à jour, la vérification et la certification sont grandement simplifiés. Dans une première variante (formant un troisième mode de réalisation) : la couche haute 401 ne comprend pas le deuxième ensemble de partitions 4012 ni l’ordonnanceur B ; la couche intermédiaire 402 ne comprend pas le deuxième bloc de communication 4023 entre partitions rapides ; et dans la couche intermédiaire 402, l’ordonnanceur C comprend uniquement les sous-ordonnanceurs C1 et C2a et le bloc de gestion d’entrées/sorties 4022 comprend uniquement le premier sous-bloc de gestion d’entrées/sorties 4022a (le bloc de gestion d’entrées/sorties 4022 ne comprend pas les blocs 602 (« Boucle Très Rapide »), 603 (« Boucle de contrôle ») et 604 (« Contrôleur de bus terrain »)). Dans une deuxième variante, le bloc de gestion d’entrées/sorties 4022 ne comprend pas les blocs 602 (« Boucle Très Rapide »), 603 (« Boucle de contrôle ») et 604 (« Contrôleur de bus terrain »), et la couche intermédiaire 402 ne comprend pas le deuxième bloc de communication 4023 entre partitions rapides. Dans une troisième variante, le bloc de gestion d’entrées/sorties 4022 ne comprend pas les blocs 602 (« Boucle Très Rapide »), 603 (« Boucle de contrôle ») et 604 (« Contrôleur de bus terrain »), et le deuxième bloc de communication 4023 entre partitions rapides ne comprend pas le bloc « Commutateur » 702. Dans une quatrième variante, le bloc 602 (« Boucle Très Rapide ») est compris dans la couche haute 401. Dans une cinquième variante, le bloc de gestion d’entrées/sorties 4022 ne comprend pas les blocs 602 (« Boucle Très Rapide ») et 603 (« Boucle de contrôle »), et la couche intermédiaire 402 ne comprend pas le deuxième bloc de communication 4023 entre partitions rapides. Unité de calcul (203) d’un système de contrôle de vol (101) d’un aéronef (100), comprenant : - une couche haute (401) comprenant : * un premier ensemble de partitions (4011), comprenant des partitions qui sont associées chacune à un premier niveau de priorité et qui réalisent chacune au moins une première fonction de contrôle de vol ; et * un premier ordonnanceur (4013), réalisant un ordonnancement des partitions du premier ensemble, chaque partition du premier ensemble étant répétée par le premier ordonnanceur avec une première fréquence ; et - une couche intermédiaire (402) comprenant : * un bloc de gestion d’entrées/sorties (4022) offrant aux partitions du premier ensemble un accès à au moins une interface (404) de l’aéronef ; * un premier bloc de communication entre partitions (4021), permettant à chaque partition du premier ensemble de communiquer, via une première voie de communication dédiée ou via au moins un premier réseau de communication (403) de l’aéronef, avec au moins une autre partition associée au premier niveau de priorité et comprise dans une autre unité de calcul de l’aéronef ; et * un deuxième ordonnanceur (4020), gérant la latence de flux de données échangés entre d’une part les partitions du premier ensemble et d’autre part le bloc de gestion d’entrées/sorties (4022) et le premier bloc de communication entre partitions (4021). Unité de calcul selon la revendication 1, dans laquelle la couche haute (401) comprend en outre : * un deuxième ensemble de partitions (4012), comprenant des partitions qui sont associées chacune à un deuxième niveau de priorité, supérieur au premier niveau de priorité, et qui réalisent chacune au moins une deuxième fonction de contrôle de vol ; et * un troisième ordonnanceur (4014), réalisant un ordonnancement des partitions du deuxième ensemble, chaque partition du deuxième ensemble étant répétée par le deuxième ordonnanceur avec une deuxième fréquence qui est supérieure à la première fréquence de répétition de chaque partition du premier ensemble ; dans laquelle la couche intermédiaire (402) comprend en outre : * un deuxième bloc de communication entre partitions (4023), permettant à chaque partition du deuxième ensemble de communiquer, via une deuxième voie de communication dédiée ou via au moins un deuxième réseau de communication (405) de l’aéronef, avec au moins une autre partition associée au deuxième niveau de priorité et comprise dans une autre unité de calcul de l’aéronef ; dans laquelle le bloc de gestion d’entrées/sorties (4022) offre en outre aux partitions du deuxième ensemble un accès à ladite au moins une interface (404) de l’aéronef, et dans laquelle le deuxième ordonnanceur (4020) gère également la latence de flux de données échangés entre d’une part les partitions du deuxième ensemble et d’autre part le bloc de gestion d’entrées/sorties (4022) et le deuxième bloc de communication entre partitions (4023). Unité de calcul selon la revendication 1 ou 2, dans laquelle le premier ordonnanceur (4013) et le deuxième ordonnanceur (4020) sont synchronisés entre eux. Unité de calcul selon la revendication 2, dans laquelle le premier ordonnanceur (4013) et le troisième ordonnanceur (4014) sont synchronisés entre eux. Unité de calcul selon la revendication 2, dans laquelle le bloc de gestion d’entrées/sorties (4022) comprend : * un premier sous-bloc de gestion d’entrées/sorties (4022a) offrant aux partitions du premier ensemble un premier accès (411a) à ladite au moins une interface (404) de l’aéronef ; et * un deuxième sous-bloc de gestion d’entrées/sorties (4022b) offrant aux partitions du deuxième ensemble un deuxième accès (411b) à ladite au moins une interface (404) de l’aéronef. Unité de calcul selon l’une quelconque des revendications 1 à 5, dans laquelle au moins certaines des partitions des premier et deuxième ensembles comprennent au moins une boucle de contrôle, chaque boucle de contrôle bénéficiant de la première ou deuxième fréquence de répétition de la partition dans laquelle est comprise ladite boucle de contrôle. Unité de calcul selon la revendication 6, dans laquelle le bloc de gestion d’entrées/sorties (4022) ou la couche haute (401) comprend au moins une première autre boucle de contrôle (602) qui a un accès à ladite au moins une interface (404) de l’aéronef, qui est répétée avec une troisième fréquence supérieure à la deuxième fréquence, et qui peut communiquer avec les partitions du deuxième ensemble (4012). Unité de calcul selon la revendication 7, dans laquelle le bloc de gestion d’entrées/sorties comprend au moins une deuxième autre boucle de contrôle (603), qui est répétée avec une quatrième fréquence supérieure à la troisième fréquence, et dans laquelle ladite au moins une première autre boucle de contrôle (602) accède à ladite au moins une interface (404) de l’aéronef via ladite au moins une deuxième autre boucle de contrôle (603). Unité de calcul selon l’une quelconque des revendications 1 à 8, dans laquelle chaque partition associée au premier niveau de priorité est une partition d’un premier type, dite partition utilisateur (4011a), ou une partition d’un deuxième type, dite partition système (4011b), qui correspond à au moins un service offert aux partitions du premier type, et dans laquelle chaque partition (4012a) associée au deuxième niveau de priorité est une partition du premier type. Unité de calcul selon l’une quelconque des revendications 1 à 9, dans laquelle la couche haute (401) est configurée pour réaliser un service de communication (413) entre partitions, permettant aux partitions du premier ensemble de communiquer, via au moins une interface mémoire, avec les partitions du deuxième ensemble. Plateforme de calcul (202-1 à 202-N) d’un aéronef (100), caractérisée en ce qu’elle comprend une paire d’unités de calcul (203-A, 203-B) selon l’une quelconque des revendications 1 à 10, une première (203-A, COM) des deux unités de calcul agissant en mode commande et une deuxième (203-B, MON) des deux unités de calcul agissant en mode surveillance de la première unité de calcul. Aéronef (100), caractérisé en ce qu’il comprend un système de contrôle de vol (101) comprenant au moins deux unités de calcul (203) selon l’une quelconque des revendications 1 à 10. Aéronef selon la revendication 12, dans lequel le système de contrôle de vol (101) comprend au moins deux plateformes de calcul (202-1 à 202-N) selon la revendication 11, et dans lequel les partitions des premiers ensembles (4011) des unités de calcul (203) des au moins deux plateformes (202-1 à 202-N) communiquent entre elles via les premiers blocs de communication (4021) desdites unités de calcul.