FR3045852A1 - Procede de transmission de messages avec calage temporel entre modules electroniques, systeme avionique et procede de configuration - Google Patents

Procede de transmission de messages avec calage temporel entre modules electroniques, systeme avionique et procede de configuration Download PDF

Info

Publication number
FR3045852A1
FR3045852A1 FR1502615A FR1502615A FR3045852A1 FR 3045852 A1 FR3045852 A1 FR 3045852A1 FR 1502615 A FR1502615 A FR 1502615A FR 1502615 A FR1502615 A FR 1502615A FR 3045852 A1 FR3045852 A1 FR 3045852A1
Authority
FR
France
Prior art keywords
module
modules
time
input
software application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1502615A
Other languages
English (en)
Other versions
FR3045852B1 (fr
Inventor
Martin Rayrole
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR1502615A priority Critical patent/FR3045852B1/fr
Publication of FR3045852A1 publication Critical patent/FR3045852A1/fr
Application granted granted Critical
Publication of FR3045852B1 publication Critical patent/FR3045852B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

Le procédé de transmission de message est mis en œuvre au sein d'un système avionique comprenant un ensemble de modules électroniques (8, 10) comprenant au moins un module d'entrée/sortie (8) et au moins un module de traitement (10), chaque module (8, 10) exécutant plusieurs applications logicielles suivant une séquence prédéfinie de fenêtres temporelles. Dans au moins un couple de modules (8, 10) formé par un module d'entrée/sortie (8) et un module de traitement (10), les séquences du module d'entrée/sortie (8) et du module de traitement (10) sont calées temporellement pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence (FR0, FR1) des séquences respectives du module d'entrée/sortie (8) et du module de traitement (10).

Description

PROCEDE DE TRANSMISSION DE MESSAGES AVEC CALAGE TEMPOREL ENTRE MODULES ELECTRONIQUES, SYSTEME AVIONIQUE ET PROCEDE DE CONFIGURATION
La présente invention concerne le domaine des systèmes avioniques embarqués dans les aéronefs.
Un système avionique met en oeuvre des fonctions avioniques. Une fonction avionique est par exemple le calcul de paramètres de vols en fonction de signaux de mesure fournis par des capteurs, l’élaboration de signaux de commande d’actionneurs de l’aéronef en fonction de paramètres de vols et/ou de commandes de vol, l’affichage de paramètres de vols sur un afficheur, l’enregistrement de paramètres de vol pour la maintenance...
La mise en œuvre de certaines fonctions avioniques nécessite de traiter très rapidement des signaux d’entrée, provenant par exemple de capteurs tels que des capteurs anémobarométriques ou des capteurs relatifs au fonctionnement d’appareils embarqués (état, position, température...) et/ou de prendre en compte très rapidement le résultat d’un traitement de données pour émettre un signal de sortie, par exemple destiné à un appareil embarqué.
Il est possible de prévoir un système avionique modulaire intégré (ou « IMA » pour « Intregrated Modulars Avionics» en anglais) comprenant des modules électroniques de calculs, chaque module de calcul intégrant sa propre interface d’entrée/sortie pour la réception/émission de signaux d'entrée/sortie. Cependant, ces modules de calculs doivent être spécialisés selon le type et le nombre de signaux d'entrée/sortie.
Il est possible de prévoir un système avionique modulaire intégré de deuxième génération (ou « IMA-2G » pour « Intregrated Modulars Avionics - 2nd Génération » en anglais) comprenant des modules de traitement (ou « CPM » pour « Core Processing Module » en anglais) en communication avec des modules d’entrée/sortie (ou « IOM » pour In-Out Module » en anglais) distants par l’intermédiaire d’un réseau de communication de données pour l’échange de messages entres les modules. Les modules d’entrée/sortie sont dédiés à la conversion signal d’entrée/sortie - message et les modules de traitement sont dédiés au traitement numérique des messages, plus particulièrement au traitement numérique des données contenues dans les messages.
Cependant, un tel système avionique modulaire tend à augmenter la durée de prise en compte des signaux d’entrée et d’émission de signaux de sortie correspondants, ce qui peut s’avérer préjudiciable pour certaines fonctions avioniques nécessitant une prise en compte rapide des signaux.
Un des buts de la présente invention est de proposer un procédé de transmission de messages au sein d’un système avionique modulaire permettant d’améliorer les durées de prise en compte des signaux. A cet effet, l’invention propose un procédé de transmission de message au sein d’un système avionique comprenant un ensemble de modules électroniques interconnectés via un réseau de communication, l’ensemble de modules comprenant au moins un module d’entrée/sortie pour la conversion de signaux d’entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement pour le traitement de messages, chaque module exécutant plusieurs applications logicielles séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application. Le procédé comprend, dans au moins un couple de modules formé par un module d’entrée/sortie et un module de traitement, dont l’un héberge une application logicielle prévue pour émettre des messages vers une application logicielle hébergée par l’autre, le calage temporel des séquences du module d'entrée/sortie et du module de traitement pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence des séquences respectives du module d’entrée/sortie et du module de traitement.
Le procédé de transmission de message comprend en option une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les caractéristiques techniquement possibles : - la séquence de chaque module est périodique ; - la périodicité de la fenêtre allouée à l'une de l’application logicielle émettrice et de l’application logicielle réceptrice est un multiple entier de la périodicité de la fenêtre temporelle allouée à l'autre ; - le calage temporel de la séquence de chaque module couplé à un autre module en établissant un décalage prédéterminé entre la fenêtre temporelle de référence de ce module et une référence horaire commune aux modules ; - la référence horaire commune est fournie par le réseau de communication à l’ensemble des modules ; - il comprend le calage temporel de la séquence de chaque module couplé à un autre module sur la base d’une horloge locale du module synchronisée avec la référence horaire commune ; - il comprend l’alimentation de l’horloge locale ce chaque module à partir d’une réserve d’énergie de ce module en l’absence d’alimentation en énergie de ce module ; - il comprend l’enregistrement, dans une mémoire non volatile de chaque module couplé à un autre module, d’un indicateur de synchronisation indiquant l’état synchronisé ou non synchronisé de l’horloge locale de ce module avec la référence horaire commune, et la mise à jour de cet indicateur de synchronisation. - il comprend le passage de l’indicateur de synchronisation à la valeur « faux » lors du chargement d’une configuration du module et/ou lorsque le niveau d’une réserve d’énergie du module alimentant l’horloge locale passe au-dessous d’un seuil de réserve d’énergie ; - il comprend, lors du démarrage de chaque module couplé à un autre module : - si l’indicateur de synchronisation du module est à la valeur « non synchronisé», synchroniser l’horloge locale avec la référence horaire commune puis mettre l’indicateur de synchronisation du module à la valeur « synchronisé» ; - le lancement de la séquence du module en fonction du décalage prédéterminé avec la référence horaire commune. - il comprend pour chaque module couplé à un autre module, au cours du fonctionnement de ce module couplé : - la comparaison périodique de l’horloge locale du module avec la référence horaire commune ; et - si la différence entre l’horloge locale et la référence horaire commune dépasse une valeur de précision de synchronisation prédéterminée, la mise à la valeur « non synchronisé» de l’indicateur de synchronisation du module et le déclenchement d’un redémarrage du module ; L’invention concerne également un système avionique comprenant un ensemble de modules électroniques interconnectés via un réseau de communication pour la transmission de messages entre les modules, l’ensemble de modules comprenant au moins un module d’entrée/sortie pour la conversion de signaux d’entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement pour le traitement de messages, chaque module hébergeant une ou plusieurs applications logicielles et étant configuré pour exécuter ces applications séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application, les modules étant configurés pour la mise en oeuvre d’un procédé de transmission de message tel que défini ci-dessus. L’invention concerne encore un procédé de configuration d’un système avionique comprenant un ensemble de modules électroniques interconnectés via un réseau de communication pour la transmission de messages entre les modules, l’ensemble de modules comprenant au moins un module d’entrée/sortie pour la conversion de signaux d’entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement pour le traitement de messages, chaque module hébergeant plusieurs applications logicielles et étant configuré pour exécuter ces applications séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application, le réseau de communication réalisant au moins une connexion de communication entre une application émettrice et une ou plusieurs applications réceptrices, le procédé comprenant : - l’établissement d’une configuration incluant la définition des séquences de chaque module et de décalages temporels entre des fenêtres de références respectives de séquences de modules, - pour chaque connexion de communication associée à une latence maximale prédéfinie, le calcul d’une latence de transmission brute en fonction de la configuration, la latence de transmission brute étant indépendante de la définition des décalages temporels ; et - pour chaque application réceptrice d’une connexion de communication ayant une latence brute supérieure à une latence maximale prédéfinie associée à cette connexion de communication, le calcul d’une latence de transmission affinée calculée en fonction du décalage temporel entre les fenêtres de référence des séquences du module hébergeant l’application émettrice et du module hébergeant cette application réceptrice, et la comparaison de la latence de transmission affinée à la latence maximale.
En option, la séquence de chaque module est périodique et le procédé de configuration comprend, pour chaque application réceptrice d’une connexion de communication ayant une latence de transmission brute supérieure à une latence maximale prédéfinie associée à cette connexion de communication, la vérification que la périodicité de la fenêtre temporelle de l’application émettrice est un multiple entier ou un diviseur entier de celle de la fenêtre temporelle de l’application réceptrice. L’invention concerne encore un système avionique comprenant un ensemble de modules électroniques interconnectés via un réseau de communication pour la transmission de messages entre les modules, l’ensemble de modules comprenant au moins un module d’entrée/sortie pour la conversion de signaux d’entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement pour le traitement de messages, chaque module hébergeant une ou plusieurs applications logicielles et étant configuré pour exécuter ces applications séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application. Dans ce système avionique, dans au moins un couple de modules formé par un module d’entrée/sortie et un module de traitement, dont l’un héberge une application logicielle émettrice prévue pour émettre des messages vers une application logicielle réceptrice hébergée par l’autre module, le module d’entrée/sortie et le module de traitement du couple sont configurés pour caler temporellement leurs séquences respectives pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence respectives du module d’entrée/sortie et du module de traitement.
Le système avionique comprend en option une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles : - la séquence de chaque module est périodique et, dans chaque couple de modules, les fenêtres temporelles allouées à l’application émettrice et à l’application destinataire ont des périodicités dont l’une est un multiple entier de l’autre ; - chaque module couplé à un autre module est configuré pour caler sa séquence avec un décalage temporel prédéterminé entre la fenêtre temporelle de référence de ce module et une référence horaire commune aux modules ; - la référence horaire commune est un service fourni par le réseau de communication ; - chaque module d'un couple de modules comprend une mémoire dans laquelle est mémorisé un paramètre de calage indiquant la valeur du décalage temporel du début de la fenêtre de référence de ce module par rapport à la référence horaire commune ; - au moins chaque module couplé à un autre module comprend une horloge locale, le module étant configuré pour mettre en œuvre sa séquence en fonction de son horloge locale ; - au moins chaque module couplé comprend une réserve d’énergie pour alimenter son horloge locale en l’absence d’alimentation en énergie du module, et un indicateur de synchronisation stocké dans une mémoire non volatile du module et indiquant l’état synchronisé ou non synchronisé de l’horloge locale du module avec la référence horaire commune ; - chaque module couplé est configuré pour passer l’indicateur de synchronisation à l’état non synchronisé lors du chargement d’une configuration du module dans une mémoire vive du module et/ou lorsque le niveau de la réserve d’énergie passe au-dessous d’un seuil de réserve d’énergie ; - chaque module couplé est configuré pour effectuer séquentiellement les opérations suivantes lors de son démarrage : - si l’indicateur de synchronisation est à la valeur « non synchronisé », synchroniser l’horloge locale du module avec la référence horaire commune puis mettre l’indicateur de synchronisation du module à la valeur « synchronisé» ; - lancer la séquence de fenêtres temporelles en tenant compte d’un paramètre de calage de ce module. - chaque module d’un couple de modules est configuré pour effectuer périodiquement les opérations suivantes lors de son fonctionnement : - comparer périodiquement l'horloge locale du module avec la référence horaire commune ; et - si la différence entre l’horloge locale et la référence horaire commune dépasse une valeur de précision de synchronisation prédéterminée, déclencher un redémarrage. L’invention et ses avantages seront mieux compris à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple, et faite en référence aux dessins annexés, sur lesquels : - la Figure 1 est une vue d’un système avionique modulaire embarqué dans un aéronef ; et - la Figure 2 est une frise temporelle illustrant les partitions temporelles d’un module d’entrée/sortie et d’un module de traitement.
Le système avionique 2 illustré sur la Figure 1 est embarqué dans un aéronef 4. Le système avionique 2 est adapté pour recevoir des signaux d’entrée, traiter des données, et émettre des signaux de sortie.
Les signaux d’entrée proviennent par exemple de sondes, de capteurs ou d’appareils de télécommunication équipant l’aéronef. Les sondes comprennent par exemple des sondes anémobarométriques susceptibles de fournir des mesures relatives aux paramètres de vol de l'aéronef. Les capteurs comprennent par exemple des capteurs équipant des appareils embarqués (train d’atterrissage, moteurs, actionneurs de gouverne...) pour mesurer des paramètres de ces appareils (position, pression, température...)
Les signaux de sortie sont par exemple des signaux de commande destinés aux appareils embarqués, à des afficheurs du poste de pilotage ou à des appareils de télécommunication.
Le système avionique 2 est modulaire. Il comprend des modules électroniques 8, 10 interconnectés via un réseau de communication de données 12 pour la transmission de messages entre les modules 8, 10.
Les modules électroniques 8, 10 comprennent des modules d’entrée/sortie 8 et des modules de traitement 10. Dans la suite de la description, le terme « module » ou « module 8, 10» sans autre précision désigne un module d’entrée/sortie 8 ou un module de traitement 10.
Les modules d’entrée/sortie 8 sont dédiés à la conversion de signaux d’entrée en messages et à la conversion de messages en signaux de sortie. Chaque module d’entrée/sortie 8 est adapté pour convertir des signaux d’entrée en messages d’entrée propres à transiter par le réseau de communication 12, pour envoyer les messages d’entrée à chaque module de traitement 10 destinataire via le réseau de communication 12, et pour recevoir des messages de sortie provenant des modules de traitement 10 via le réseau de communication 12 et convertir chaque message de sortie en un signal de sortie correspondant et envoyer ce signal de sortie.
Chaque module de traitement 10 est dédié au traitement des données codées dans les messages. Chaque module de traitement 10 reçoit des signaux d’entrée uniquement par l’intermédiaire des modules d'entrée/sortie 8 et envoie des signaux de sortie uniquement par l’intermédiaire des modules d’entrée/sortie 8.
Dans la suite de la description, le terme « signal » désigne les signaux reçus et émis par le système avionique 2 par l’intermédiaire des modules d’entrée/sortie 8, et le terme « message » désigne les messages échangés par les modules 8, 10 du système avionique 2 par l’intermédiaire du réseau de communication 12.
Chaque module 8, 10 héberge plusieurs applications logicielles 14. Chaque application logicielle 14 hébergée par un module 8, 10 est un programme d’ordinateur comprenant des instructions de code propre à être enregistrées dans une mémoire informatique et exécutées par un processeur.
Chaque module 8, 10 comprend des ressources communes pour l’exécution des applications logicielles 14 qu'il héberge, en mettant en oeuvre un partitionnement temporel des ressources communes.
Les ressources communes de chaque module comprennent des ressources matérielles communes et/ou des ressources logicielles communes. Les ressources matérielles communes comprennent notamment un ou plusieurs processeur(s) et une ou plusieurs mémoire(s). Les ressources logicielles communes comprennent par exemple un système d’exploitation, et éventuellement une interface de programmation (ou « API » pour Applicative Programming Interface » en anglais) formant une couche logicielle intermédiaire entre les applications logicielles et le système d’exploitation.
Chaque module 8, 10 comprend en particulier une mémoire 16 dans laquelle sont enregistrées les applications logicielles 14 hébergées par le module 8, 10 et un processeur 18 propre à exécuter les applications logicielles 14 stockées dans la mémoire 16.
Chaque module 8, 10 exécute les applications logicielles 14 qu’il héberge en mettant en œuvre un partitionnement temporel : il exécute les applications logicielles 14 suivant une séquence de fenêtres temporelles, chaque fenêtre temporelle étant allouée à l’exécution d’une application logicielle 14 respective parmi celles hébergées par le module 8, 10.
Chaque module 8, 10 possède son partitionnement temporel propre, qui est configuré lors de la conception du système avionique 2. Les partitionnements temporels des modules peuvent être différents les uns des autres. Les partitionnements temporels peuvent notamment comprendre des séquences ayant des nombres de fenêtres temporelles différents et/ou des fenêtres temporelles de durées différentes.
Chaque signal ou message reçu par un module 8, 10 destinataire est plus spécifiquement destiné à une des applications logicielles 14 exécutées par ce module 8, 10 et, à sa réception par le module 8, 10, est mis en attente jusqu’à l’activation de la fenêtre temporelle allouée à l’application logicielle 14 destinataire de ce message.
Chaque message est émis par une application logicielle 14 exécutée par un module 8, 10 est destinée à une ou plusieurs application(s) logicielle(s) 14 d’un ou plusieurs autre(s) module(s).
Dans le système avionique 2, dans au moins un couple de modules 8, 10 formé par un module d’entrée/sortie 8 et un module de traitement 10, dont l’un héberge une application logicielle 14 émettrice prévue pour émettre des messages vers une application logicielle 14 destinataire hébergée par l’autre, le module d’entrée/sortie 8 et le module de traitement 10 du couple sont configurés pour caler temporellement leurs séquences respectives l’une par rapport à l’autre pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence respectives du module d’entrée/sortie et du module de traitement.
Les termes « caler temporellement » ou « calage temporel » désignent ici la synchronisation de deux séquences l’une par rapport à l’autre avec un décalage temporel prédéterminé.
Le calage temporel des séquences de deux modules 8, 10 à partitionnement temporel hébergeant des applications logicielles 14 prévues pour échanger des messages, avec un décalage temporel prédéterminé des séquences des modules 8, 10, permet d’assurer qu'un message émis par l’application logicielle émettrice pendant sa fenêtre temporelle allouée, sera reçu par le module hébergeant l’application logicielle destinataire à un instant précédant le début de la fenêtre temporelle de cette application logicielle destinataire d’une durée suffisamment courte permettant le traitement du message par l’application logicielle réceptrice suffisamment rapide.
De préférence, les séquences des modules 8, 10 sont périodiques : la séquence de chaque module 8, 10 est répétée périodiquement.
Dans ce cas, dans chaque couple de modules 8, 10, la périodicité de la fenêtre temporelle allouée à l’une parmi l’application logicielle émettrice et l’application logicielle réceptrice, est un multiple entier de la fenêtre temporelle allouée à l’autre parmi l’application logicielle émettrice et l’application logicielle réceptrice. Autrement dit, la périodicité de la fenêtre temporelle allouée à l’application logicielle émettrice est un multiple entier ou un diviseur entier de la fenêtre temporelle allouée à l’application logicielle réceptrice.
Ceci assure que les fenêtres temporelles allouées à l’application logicielle émettrice et à l’application logicielle réceptrice conservent un décalage souhaité lors de la répétition des séquences des deux modules 8, 10 couplés.
Le calage temporel des séquences des deux modules 8, 10 couplés est effectué pour une application logicielle émettrice donnée et une application logicielle réceptrice donnée exécutées par ces deux modules 8, 10, assurant le traitement de signaux et de messages particuliers nécessitant un traitement dans un délai déterminé.
La Figure 2 illustre des frises temporelles représentant les séquences S0, S1 de fenêtres temporelles des modules 8, 10 couplés, comprenant un module hébergeant une application logicielle émettrice d’un message M et d’un module hébergeant l’application logicielle réceptrice correspondante.
Les fenêtres temporelles de référence FR0, FR1 des séquences S0, S1 sont ici les premières fenêtres temporelles de ces séquences S0, S1. Les fenêtres temporelles FAO, FA1 allouées respectivement à l’application logicielle émettrice et à l’application logicielle réceptrice sont grisées. La fenêtre temporelle allouée à chaque application logicielle est en principe de durée suffisante pour le traitement complet d’un signal ou d’un message.
Comme illustré sur le Figure 2, du fait du calage temporel des fenêtres temporelles de références FR0, FR1, la fin de la fenêtre temporelle FAO allouée à l’application logicielle émettrice pour l’envoi d’un message M et le début de la fenêtre temporelle FA1 allouée à l’application logicielle réceptrice pour le traitement du même message M sont espacées d’une durée non nulle, suffisamment longue pour que le message soit transmis par le réseau, mais suffisamment courte pour la rapidité de traitement souhaitée du message par l’application logicielle destinataire.
En revenant à la Figure 1, dans un mode de réalisation, le système avionique 2 comprend une référence horaire commune 20, au moins chaque module 8, 10 couplé avec un autre module utilisant la référence horaire commune 20 pour l’initiation de sa séquence. Chaque module 8, 10 couplé est configuré pour initier sa séquence avec un décalage temporel prédéterminé avec la référence horaire commune 20.
Comme illustrée, la référence horaire commune 20 est de préférence fournie par le réseau de communication 12 qui comprend un service de référence horaire accessible à l’ensemble des modules 8, 10 interconnectés via le réseau de communication 12.
Dans un mode de réalisation, chaque module 8, 10 couplé contient un paramètre de calage Δ0, Δ1 stocké dans une mémoire non volatile du module 8, 10 et indiquant la valeur du décalage temporel entre l’instant zéro de la référence horaire commune 20 et le début de la séquence de ce module 8, 10, modulo la durée de cette séquence.
Ainsi, deux modules 8, 10 couplés démarrent leurs séquences respectives avec un décalage temporel prédéterminé par rapport à la référence horaire commune 20, de telle sorte que leurs séquences présentent entre elles le décalage temporel prédéterminé souhaité.
Le décalage temporel entre les séquences S0, S1 est ici égal à la différence entre le paramètre de calage Δ1 d’une séquence S1 et le paramètre de calage Δ0 de l’autre séquence S0, soit la valeur Δ1 - Δ0.
Dans un mode de mise en œuvre, chaque module 8,10 possède une horloge locale 22 et est configuré pour lancer sa séquence en tenant compte de son paramètre de calage et en se basant sur son horloge locale 22.
Le module 8, 10 est configuré pour synchroniser son horloge locale 22 avec la référence horaire commune 20.
Dans un mode de réalisation, chaque module 8, 10 comprend une réserve d’énergie 24 permettant de maintenir l'horloge locale 22 en fonctionnement lorsque le module 8, 10 n’est plus alimenté en énergie, et une mémoire non volatile 26 stockant un indicateur de synchronisation 28. L’indicateur de synchronisation 28 prend la valeur « vrai » ou « synchronisé » pour indiquer que l'horloge locale 22 est synchronisée avec la référence horaire commune 20, et la valeur « faux » ou « non synchronisé » dans le cas contraire.
Chaque module 8, 10 est configuré pour mettre l’indicateur de synchronisation 28 à la valeur « faux » lors du chargement d’une configuration de ce module 8, 10 et/ou lorsque la réserve d’énergie 24 passe au-dessous d'un seuil d’énergie prédéterminé. Le seuil d'énergie correspond à une quantité d’énergie minimale.
Chaque module 8, 10 est configuré pour, lors de son démarrage, initialiser le module 8, 10, si l'indicateur de synchronisation 28 est à la valeur «faux», synchroniser l’horloge locale 22 avec la référence horaire commune 20 puis mettre l’indicateur de synchronisation 28 à la valeur « vrai ». Chaque module 8, 10 lance ensuite la séquence de fenêtres temporelles du module 8, 10 en tenant compte du paramètre de calage de ce module 8,10 et en se basant sur l’horloge locale 22 de ce module 8,10.
Ainsi, les séquences des modules 8, 10 du système avionique 2 se calent au démarrage des modules 8, 10 pour assurer le traitement des signaux et des messages dans les durées requises pour chaque signal et chaque message.
Dans le cas de séquences périodiques, avantageusement, chaque module 8, 10 est configuré pour, en cours de fonctionnement, comparer périodiquement l’horloge locale 22 avec la référence horaire commune 20, et, si la différence entre l’horloge locale 22 et la référence horaire commune 20 dépasse une valeur de précision de synchronisation prédéterminée, mettre l’indicateur de synchronisation à la valeur « faux », puis déclencher un redémarrage.
Ceci a pour effet de resynchroniser l’horloge locale 22 de ce module avec la référence horaire commune 20 et de recaler la séquence de ce module avec les séquences des autres modules 8,10 compte tenu du procédé de démarrage de chaque module 8,10.
Ainsi, les séquences des modules 8, 10 du système avionique 2 restent synchronisées entre elles au cours du fonctionnement du système avionique 2 pour assurer le traitement des signaux et des messages dans les durées requises pour chaque signal et chaque message.
Le réseau de communication 12 met en oeuvre des connexions de communication entre les applications logicielles hébergées par les modules 8, 10. Chaque connexion de communication est associée à une application logicielle émettrice d’un message et une ou plusieurs application(s) logicielle(s) destinataire(s) (ou réceptrice(s)) du message.
Le réseau de communication 12 est par exemple conforme au standard ARINC 664. Dans ce standard, chaque connexion de communication entre une application logicielle émettrice d’un message et une ou plusieurs application(s) logicielle(s) réceptrice de ce message est identifiée par un lien virtuel (ou « VL » pour « Virtual Link » en anglais) respectif.
Lors de la configuration du système avionique 2, certaines connexions de communication sont associées à des latences maximales pour la transmission des messages.
Un signal d’entrée associé à une latence maximale doit être converti en un message et transmis à chaque application logicielle réceptrice dans une durée maximale. La latence maximale associée à un signal d’entrée est la durée maximale entre l'instant d’arrivée du signal d’entrée critique à l’entrée du module d’entrée/sortie 8 et l’instant de début du traitement du message correspondant par l’application logicielle destinataire d’un module de traitement 10.
Un message de sortie émis par un module de traitement 10 pour l’émission d’un signal de sortie critique, doit être transmis à chaque application logicielle réceptrice hébergée par un module d’entrée/sortie 8 destinataire, converti et envoyé par cette application logicielle réceptrice dans une durée maximale. La latence maximale d’un signal de sortie est la durée maximale entre l’instant d’envoi du message par le module de traitement 10 pour l’émission d’un signal de sortie, et l’instant d’envoi du signal de sortie par chaque module d’entrée/sortie 8 hébergeant une application logicielle réceptrice.
Un système de configuration 30 est illustré sur la Figure 1. Le système de configuration comprend un configurateur 32 et un vérificateur 34.
Le configurateur 32 et le vérificateur 34 sont chacun un produit programme d’ordinateur (ou application logicielle) comprenant des instructions de code informatique enregistrables dans une mémoire informatique et exécutables par un processeur.
Le système de configuration 30 comprend une mémoire dans laquelle sont stockés le configurateur 32 et le vérificateur 34 et un processeur pour les exécuter à partir de la mémoire.
Le configurateur 32 est configuré pour le développement de système avionique 2, et permet à un utilisateur de définir une configuration du système avionique 2. Le configurateur 32 permet par exemple de définir la séquence de chaque module 8, 10, et le paramètre de calage de chaque module 8,10.
Le vérificateur 34 est configuré pour vérifier que la configuration du système avionique 2 permet de respecter des latences maximales définies pour des connexions de communication particulières.
Le vérificateur 34 est adapté pour déterminer des connexions de communication critiques, et pour vérifier que la latence de transmission de chaque connexion de communication critique est inférieure à la latence maximale définie pour cette connexion critique.
Pour chaque connexion de communication associée à une latence maximale, le vérificateur 34 calcule une latence de transmission brute et compare la latence de transmission brute à la latence maximale. Si la latence de transmission brute est supérieure à la latence maximale, le vérificateur détermine la connexion de communication comme étant une connexion de communication « critique ».
La latence de transmission brute est avantageusement calculée selon la formule (1) suivante :
Lvl — Pq + BAGVl + deJ^ffèSTv{PiOM + + P dest) + m Où : P0 est la périodicité de la fenêtre temporelle allouée à l’application émettrice du message,
Diom est la durée de la fenêtre temporelle allouée à l’application logicielle du module d’entrée/sortie 8 qui construit le message à envoyer à partir du signal d’entrée reçu ou, qui construit le signal de sortie à envoyer à partir du message reçu, selon la direction de la transmission, BAGvl est la valeur de l’intervalle d’allocation de bande passante du réseau de communication (ou « Bandwidth Allocation Gap » en anglais) associé à la connexion de communication, i.e. la durée minimale entre l’émission de deux messages successifs sur cette connexion de communication dans le cas où la gigue est nulle (la gigue du réseau de communication et la variation de délai de transmission entre l’émetteur d’un message et le récepteur de ce message), DESTvl est l'ensemble des applications logicielles réceptrices d’une connexion de communication VL, TMM(dest) est la durée maximale de traversée du réseau de communication depuis le module hébergeant l’application logicielle émettrice jusqu’au module hébergeant l’application logicielle réceptrice « dest »,
Pdest est la périodicité de la fenêtre temporelle allouée à l’application logicielle réceptrice « dest », et m est une constante de marge de sécurité. TMM(dest) est calculé selon l’état de l’art. Les autres valeurs intervenant dans le calcul de LVl sont des paramètres de configuration.
La valeur LVl correspond donc à la somme de la durée maximale pour l’activation de la fenêtre temporelle allouée à l’application logicielle émettrice, de la durée minimale pour l’émission du message une fois que celui-ci est élaboré, de la pire durée de transmission et de début de traitement du message par la ou les application(s) logicielle(s) réceptrice(s) du message.
Une connexion de communication est « critique » si la valeur de latence de transmission brute LV|_ est supérieure à la latence maximale prédéfinie pour cette connexion de communication.
Pour chaque application destinataire d’une connexion de communication critique, le vérificateur 34 : - vérifie que l’une de la périodicité de la fenêtre temporelle allouée à l’application logicielle émettrice et de la périodicité de la fenêtre temporelle allouée à l’application logicielle réceptrice est un multiple entier ou un diviseur entier de l’autre ; et - calcule une latence de transmission affinée pour cette application logicielle réceptrice en tenant compte de la synchronisation des séquences du module hébergeant l’application émettrice et du module hébergeant l’application logicielle réceptrice, et - vérifie que la latence de transmission affinée est inférieure ou égale à la latence maximale associée à la connexion critique.
Avantageusement, la vérification est effectuée selon la formule (2) suivante :
Où : les crochets bas [ J représentent la fonction d'arrondi à l’entier inférieur, LMVl est le paramètre « latence maximale » de la connexion, Δο est le paramètre de décalage temporel du partitionnement du module hébergeant l’application émettrice, Δί est le paramètre de décalage temporel du partitionnement du module hébergeant l’application réceptrice, δ0 est l’instant d’activation de l’application émettrice par rapport au début du partitionnement temporel du module hébergeant l’application émettrice, 5t est l’instant d’activation de l’application réceptrice par rapport au début du partitionnement temporel du module hébergeant l’application réceptrice,
Diom est la durée de la fenêtre temporelle allouée à l’application pour le traitement du message dans le module d’entrée/sortie 8, P0 est la périodicité de la fenêtre temporelle allouée à l’application émettrice, Ρί est la périodicité de la fenêtre temporelle allouée à l’application réceptrice, BAGvl est la valeur de l’intervalle d’allocation de bande passante du réseau de communication associé au lien virtuel, PS est le paramètre de précision de synchronisation déterminant une tolérance dans la synchronisation de l’horloge de chaque module avec la référence horaire commune, et m est une constante de marge de sécurité.
Le membre de droite de la formule (2) correspond au calcule de latence de transmission affinée.
Les paramètres du calcul de la latence de transmission affinée sont illustrés sur la Figure 2 représentant les séquences SO, S1 périodiques des deux modules hébergeant une application émettrice et une application destinataire liée par une connexion. S’il existe une connexion critique possédant une latence de transmission affinée supérieure à la latence maximale de cette connexion critique, le vérificateur émet une alerte correspondante.
De préférence, le procédé de configuration est réalisé de manière itérative. Si une alerte est émise, la configuration du système avionique 2 est modifiée, en particulier les séquences des modules 8, 10 et le décalage temporel de chaque module par rapport à la référence horaire commune, puis la vérification du respect des latences maximales est à nouveau mise en œuvre.
Le procédé de configuration du système avionique 2 permet d’aboutir rapidement à une configuration respectant les latences maximales prédéfinies, et en particulier à une détermination de décalages temporels entre les modules permettant de respecter les latences maximales.
Le système avionique 2 comprenant des modules 8, 10 interconnectés par un réseau de communication 12 et adaptés pour mettre en œuvre des partitionnements temporels respectifs qui sont calés ou synchronisés les uns par rapport aux autres pour assurer le respect d’une latence maximale de transmission de messages entre ces modules, permet de mettre en œuvre un système avionique avec des modules d’entrée/sortie 8 séparés des modules de traitement 10, tout en assurant le traitement des signaux dans les durées maximales déterminées. En particulier, il permet de prévoir un système avionique avec d’une part des modules de traitement 10 d’architecture électronique générique, et, d’autre part, des modules d’entrée/sortie 8 séparés des modules de traitement 10, tout en assurant le traitement des signaux dans les durées maximales déterminées.

Claims (14)

  1. REVENDICATIONS
    1. - Procédé de transmission de message au sein d’un système avionique comprenant un ensemble de modules électroniques (8, 10) interconnectés via un réseau de communication (12), l’ensemble de modules comprenant au moins un module d’entrée/sortie (8) pour la conversion de signaux d’entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement (10) pour le traitement de messages, chaque module (8, 10) exécutant plusieurs applications logicielles séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application, le procédé comprenant, dans au moins un couple de modules (8, 10) formé par un module d’entrée/sortie (8) et un module de traitement (10), dont l’un héberge une application logicielle prévue pour émettre des messages vers une application logicielle hébergée par l'autre, le calage temporel des séquences du module d'entrée/sortie (8) et du module de traitement (10) pour établir un décalage temporel prédéterminé entre les débuts de fenêtres temporelles de référence (FR0, FR1) des séquences respectives du module d'entrée/sortie (8) et du module de traitement (10).
  2. 2. - Procédé de transmission de message selon la revendication 1, dans lequel la séquence de chaque module (8,10) est périodique.
  3. 3. - Procédé de transmission de message selon la revendication 2, dans lequel la périodicité (PO) de la fenêtre allouée à l’une de l’application émettrice et de l’application réceptrice est un multiple entier de la périodicité (P1) de la fenêtre temporelle allouée à l’autre.
  4. 4. - Procédé de transmission de message selon l’une quelconque des revendications précédentes, comprenant le calage temporel de la séquence de chaque module (8, 10) couplé à un autre module en établissant un décalage prédéterminé entre la fenêtre temporelle de référence (FR0, FR1) de ce module et une référence horaire commune (20) aux modules (8,10).
  5. 5. - Procédé de transmission de message selon la revendication 4, dans lequel la référence horaire commune (20) est fournie par le réseau de communication (12) à l’ensemble des modules (8,10).
  6. 6. - Procédé de transmission de message selon la revendication 4 ou 5, comprenant le calage temporel de la séquence de chaque module (8, 10) couplé à un autre module sur la base d’une horloge locale (22) du module (8, 10) synchronisée avec la référence horaire commune (20).
  7. 7. - Procédé de transmission de message selon la revendication 6, comprenant l’alimentation de l’horloge locale (22) ce chaque module à partir d’une réserve d’énergie (24) de ce module (8, 10) en l'absence d'alimentation en énergie de ce module (8, 10).
  8. 8. - Procédé de transmission de message selon la revendication 6 ou 7, comprenant l’enregistrement, dans une mémoire non volatile de chaque module (8, 10) couplé à un autre module, d’un indicateur de synchronisation indiquant l'état synchronisé ou non synchronisé de l’horloge locale (22) de ce module avec la référence horaire commune (20), et la mise à jour de cet indicateur de synchronisation.
  9. 9. - Procédé de transmission de message selon la revendication 8, comprenant le passage de l’indicateur de synchronisation à la valeur « non synchronisé » lors du chargement d’une configuration du module et/ou lorsque le niveau d’une réserve d’énergie du module alimentant l’horloge locale (22) passe au-dessous d'un seuil de réserve d'énergie.
  10. 10. - Procédé de transmission de message selon la revendication 8 ou 9, comprenant, lors du démarrage de chaque module (8, 10) couplé à un autre module : - si l’indicateur de synchronisation du module est à la valeur « non synchronisé », synchroniser l’horloge locale avec la référence horaire commune puis mettre l’indicateur de synchronisation du module à la valeur « synchronisé » ; - le lancement de la séquence du module en fonction du décalage prédéterminé avec la référence horaire commune.
  11. 11. - Procédé de transmission de message selon l’une quelconque des revendications 6 à 10, comprenant pour chaque module (8, 10) couplé à un autre module, au cours du fonctionnement de ce module couplé : - la comparaison périodique de l’horloge locale (22) du module avec la référence horaire commune (20) ; et - si la différence entre l’horloge locale (22) et la référence horaire commune (20) dépasse une valeur de précision de synchronisation prédéterminée, la mise à la valeur « non synchronisé » de l’indicateur de synchronisation du module et le déclenchement d’un redémarrage du module (8, 10).
  12. 12. - Système avionique comprenant un ensemble de modules électroniques (8, 10) interconnectés via un réseau de communication pour la transmission de messages entre les modules (8, 10), l’ensemble de modules comprenant au moins un module d’entrée/sortie (8) pour la conversion de signaux d’entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement (10) pour le traitement de messages, chaque module (8, 10) hébergeant une ou plusieurs applications logicielles et étant configuré pour exécuter ces applications logicielle séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application logicielle, les modules étant configurés pour la mise en œuvre d'un procédé de transmission de message selon l’une quelconque des revendications précédentes.
  13. 13. - Procédé de configuration d’un système avionique comprenant un ensemble de modules électroniques (8, 10) interconnectés via un réseau de communication (12) pour la transmission de messages entre les modules, l’ensemble de modules comprenant au moins un module d’entrée/sortie (8) pour la conversion de signaux d’entrée en messages et la conversion de messages en signaux de sortie et au moins un module de traitement (10) pour le traitement de messages, chaque module (8, 10) hébergeant plusieurs applications logicielles et étant configuré pour exécuter ces applications logicielle séquentiellement suivant une séquence prédéfinie comprenant des fenêtres temporelles, chaque fenêtre temporelle étant allouée à une application logicielle, le réseau de communication (12) réalisant au moins une connexion de communication entre une application logicielle émettrice et une ou plusieurs applications logicielle réceptrices, le procédé comprenant : - l’établissement d’une configuration incluant la définition des séquences de chaque module (8, 10) et de décalages temporels entre des fenêtres de références (FRO, FR1) respectives de séquences de modules, - pour chaque connexion de communication associée à une latence maximale prédéfinie, le calcul d’une latence de transmission brute en fonction de la configuration, la latence de transmission brute étant indépendante de la définition des décalages temporels ; et - pour chaque application logicielle réceptrice d’une connexion de communication ayant une latence brute supérieure à une latence maximale prédéfinie associée à cette connexion de communication, le calcul d’une latence de transmission affinée calculée en fonction du décalage temporel entre les fenêtres de référence des séquences du module hébergeant l’application émettrice et du module hébergeant cette application logicielle réceptrice, et la comparaison de la latence de transmission affinée à la latence maximale.
  14. 14, - Procédé de configuration selon la revendication 13, dans lequel la séquence de chaque module est périodique, le procédé comprenant, pour chaque application logicielle réceptrice d’une connexion de communication ayant une latence de transmission brute supérieure à une latence maximale prédéfinie associée à cette connexion de communication, la vérification que la périodicité de la fenêtre temporelle de l’application logicielle émettrice est un multiple entier ou un diviseur entier de celle de la fenêtre temporelle de l’application logicielle réceptrice.
FR1502615A 2015-12-16 2015-12-16 Procede de transmission de messages avec calage temporel entre modules electroniques, systeme avionique et procede de configuration Active FR3045852B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1502615A FR3045852B1 (fr) 2015-12-16 2015-12-16 Procede de transmission de messages avec calage temporel entre modules electroniques, systeme avionique et procede de configuration

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1502615 2015-12-16
FR1502615A FR3045852B1 (fr) 2015-12-16 2015-12-16 Procede de transmission de messages avec calage temporel entre modules electroniques, systeme avionique et procede de configuration

Publications (2)

Publication Number Publication Date
FR3045852A1 true FR3045852A1 (fr) 2017-06-23
FR3045852B1 FR3045852B1 (fr) 2018-02-02

Family

ID=56068932

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1502615A Active FR3045852B1 (fr) 2015-12-16 2015-12-16 Procede de transmission de messages avec calage temporel entre modules electroniques, systeme avionique et procede de configuration

Country Status (1)

Country Link
FR (1) FR3045852B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040105457A1 (en) * 2002-10-07 2004-06-03 Alstom Secure method of exchanging information messages
US20080215927A1 (en) * 2005-09-16 2008-09-04 Thales Method of Monitoring the Correct Operation of a Computer
US20100153684A1 (en) * 2005-11-18 2010-06-17 Airbus Deutschland Gmbh Modular Avionics System of an Aircraft

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040105457A1 (en) * 2002-10-07 2004-06-03 Alstom Secure method of exchanging information messages
US20080215927A1 (en) * 2005-09-16 2008-09-04 Thales Method of Monitoring the Correct Operation of a Computer
US20100153684A1 (en) * 2005-11-18 2010-06-17 Airbus Deutschland Gmbh Modular Avionics System of an Aircraft

Also Published As

Publication number Publication date
FR3045852B1 (fr) 2018-02-02

Similar Documents

Publication Publication Date Title
US11218238B2 (en) Method, computer-readable medium, system, and vehicle comprising the system for validating a time function of a master and the clients in a network of a vehicle
CN107710753B (zh) 分散式同步的多传感器系统
US9705990B2 (en) Transfer of digital data to mobile software systems
US9621647B2 (en) Peer-to-peer networking through universal port connections
US10776393B2 (en) Synchronizing multiple devices
FR3071688B1 (fr) Procede de syncronisation d'un ensemble de dispositifs, programme d'ordinateur et systeme de syncronisation associes
CN112911700A (zh) 一种车辆时间同步方法、装置及系统
CN113992469B (zh) 数据融合方法、装置、电子设备和计算机可读介质
CA3053707A1 (fr) Procede et systeme de synchronisation
FR3045852A1 (fr) Procede de transmission de messages avec calage temporel entre modules electroniques, systeme avionique et procede de configuration
EP2979378B1 (fr) Architecture d'interface entre sous ensembles numerique et radio
JP6295850B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
CN116828281A (zh) 车载摄像头系统数据处理方法、装置、设备及介质
EP4033680A1 (fr) Procédé de synchronisation de domaines temporels d'un système sur puce
FR2997206A1 (fr) Unite de calcul d'un appareil de commande et son procede de gestion
JP6572136B2 (ja) 通信システム、通信装置、第二装置、通信方法及びコンピュータプログラム
FR3041845A1 (fr) Dispositif electronique propre a etre relie a un reseau de vehicule, et procede de transmission de messages mis en oeuvre par un tel dispositif electronique
KR102201814B1 (ko) 슬레이브 클럭의 동기화 검출 방법
KR20230109939A (ko) 자율 주행 차량에서 동기화 장치 및 방법
EP2203997B1 (fr) Equipement d'automatisme pour synchroniser un reseau fonctionnant par liaison sans-fil
FR3013925A1 (fr) Procede et dispositif de synchronisation d'une horloge d'un systeme informatique, a partir d'une source de temps reseau, via une interface de gestion
EP3866359A1 (fr) Procédé de commande d'un calculateur d'un véhicule automobile comprenant une horloge esclave
WO2022069818A1 (fr) Procede de synchronisation d'une pluralite de serveurs de communications, dispositifs et programmes d'ordinateurs correspondants
EP2740039A1 (fr) Dispositif pour echanger des donnees entre au moins deux applications
TW202403336A (zh) 時脈同步

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20170623

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9