FR 2982048 A1 20130503 FR 1103289 A 20111028 Système de gestion d'échanges asynchrone de données en temps réel entre un équipement électronique et un bus informatique de transmission de données Le domaine de l'invention est, de façon générale, celui de la communication de données entre éléments électroniques dont le fonctionnement cyclique nécessite une précision importante dans le respect des fréquences de délivrance des messages. De façon plus particulière, le domaine de l'invention est celui des équipements aéronautiques faisant partie du système de management du cockpit, ce système comprenant essentiellement des calculateurs électroniques et des dispositifs de visualisation. Un équipement aéronautique, dans la majorité des cas, a un fonctionnement cyclique. Un ensemble de calculs identiques se reproduit sur une période de temps donnée. La fréquence de fonctionnement qui caractérise ce fonctionnement conditionne la capacité minimale de déclenchement de traitement. On note dans la suite de la description cette fréquence, fréquence de gestion. Cette caractéristique des équipements embarqués conduit à adopter des protocoles avioniques d'échange de données qui fonctionnent aussi de manière majoritairement cyclique. On parle de fréquence de rafraichissement. Par exemple, un message est émis tous les 120 ms. Mais, tous les bus de données qui relient deux équipements ne fonctionnent pas tous à la même fréquence. Dans la suite de la description, on désigne par le terme de fréquence bus, la vitesse d'émission des données nécessaire sur le bus. Pour être exhaustif, sur certains protocoles, la notion de trame est un peu plus complexe. Par exemple, le protocole selon la norme MIL-1553 25 comporte des trames dites mineures et majeures. Les bus de données ont deux autres caractéristiques importantes qui sont la forme des messages selon qu'ils sont de taille fixe ou variable et le mode d'émission du message, selon qu'il est cyclique ou acyclique. Lorsque l'on communique des informations entre deux 30 équipements aéronautiques, la fréquence interne de chacun d'entre eux est le plus souvent différente. Chaque équipement se base sur la fréquence de rafraichissement attendue de chaque message pour sanctionner sa validité. Toute irrégularité dans l'émission d'un message a donc des répercutions potentielles sur le comportement des récepteurs. Il est donc essentiel pour un équipement de garantir la précision de ses émissions. Les composants matériels vont, dans la majorité des cas, s'occuper de l'émission d'un message unitaire. On peut donc considérer que fournir un top d'émission d'un message précis est équivalent à fournir une émission précise. Sur un bus de communication, deux données sont à prendre en compte dans la gestion de la communication. Ce sont la durée d'émission et la période de rafraîchissement de chaque message. A titre d'exemple, dans le cas d'un bus de données ARINC 429, la durée d'émission d'un message va être soit de 2.88 ms, soit de 360 ps selon la vitesse souhaitée, LS pour « Low Speed » ou HS pour « High Speed ». Bien que la fréquence à obtenir ne soit pas très contraignante pour un matériel « hardware », elle est souvent trop importante par rapport à la fréquence de calcul de l'équipement qui est souvent de dix à cent fois supérieure. Il n'est pas possible de déclencher les émissions des messages en synchrone depuis le calcul des messages. Même si l'émission pouvait fonctionner à ces vitesses, des problèmes de temps de latence entre le calcul et le traitement des interfaces d'entrée/sortie apparaitraient aussi sur les matériels. Le temps de communication de la donnée du logiciel vers le matériel est différent du temps entre deux tops d'émission. Pour obtenir une désynchronisation entre le calcul du message et son émission, l'approche classique consiste à préparer les données à émettre entre deux cycles de calcul et à déclencher l'émission à la fin du cycle de calcul. En fonctionnant de cette manière, les fréquences des émissions sont approximées à la fréquence de calcul. Cette approximation peut conduire à des défauts d'émission par rapport à la fréquence théorique qui ne sont pas toujours acceptables. Pour résoudre les problèmes d'approximation, on peut déléguer le déclenchement de l'envoi des messages au matériel. Cette solution est 35 possible mais implique que le matériel soit capable de fournir un 2 98204 8 3 déclenchement d'envoi à une période correspondant au PGCD, acronyme de « Plus Grand Commun Diviseur » de toutes les fréquences souhaitées. Or, la période de rafraichissement de chaque message est souvent liée à la capacité d'envoi du matériel responsable de la donnée. Sur le périmètre d'un 5 aéronef, les fréquences vont souvent être différentes avec un PGCD très faible. Par exemple, un dispositif de visualisation va émettre à une première période de 33 ms, un calculateur à une seconde période de 120 ms et enfin une centrale inertielle ou ADIRU pour « Air Data Inertial Reference Unit » à une période de 50 ms soit un PGCD de 1 ms pour les trois équipements. 10 La délégation au hardware résout la gestion du top d'émission mais amène aux deux déformations des émissions : - Le lissage d'émission ne porte plus que sur le lissage de calcul et les émissions de même fréquence sont envoyées par paquet. Par exemple, si 15 labels d'une durée individuelle de 360 ps sont à envoyer 15 toutes les 33 ms, le bus est chargé sur un bus ARINC 429 pendant 6 ms puis silencieux pendant 27 ms. - Le respect des émissions est plus mauvais. A titre d'exemple, la figure 1 illustre ce problème. Elle représente trois graphiques superposés représentant en fonction du temps t la génération et l'émission de messages 20 par un équipement. Les messages sont représentés par des flèches pointées vers le haut sur cette figure. Les messages émis tous les 100 ms sont représentés en traits gras et les messages émis tous les 150 ms en traits maigres. Comme représenté sur les graphes du haut et du centre de la figure 1, l'équipement génère 10 messages tous les 100 ms et 5 messages tous les 25 150 ms sur un bus ARINC 429 Low Speed. Pour permettre le respect des périodes, les messages de la plus basse période vont être envoyés en premier. L'émission va donc envoyer d'abord les messages à 100 ms puis ceux à 150 ms comme représenté sur le graphe du bas de la figure 1 Dans cette configuration, tous les 300 ms, lorsque les messages à 150 ms sont 30 seuls à être émis, ils sont émis 10*2.88 ms plus tard qu'au cycle précédent, soit 28.8 ms plus tard ce qui représente 19% d'erreur par rapport à la période théorique. Si le choix inverse était fait, c'est-à-dire émission des labels à 150 ms avant ceux à 100 ms, les labels à 100 ms seraient émis avec 14 % d'erreur mais une gestion au cas par cas serait alors nécessaire.35 Ces différents problèmes sont gênants sur un équipement aéronautique mais deviennent critiques lorsque l'on aborde le problème de la simulation ou du moyen de test qui doit gérer les fréquences de tous les équipements non présents physiquement. Sur les moyens d'essais, le moyen a en charge de simuler plusieurs équipements aéronautiques de fréquences de calcul différentes. Le respect des fréquences d'émission bus par une fréquence interne du moyen égale au PGCD des fréquences des bus à gérer échoue car le PGCD des fréquences à gérer est souvent trop faible pour être géré par des tâches logicielles sur du matériel standard. La latence de réaction du matériel entre l'envoi de l'ordre logiciel et le déclenchement matériel est aussi rédhibitoire à la tenue de performances et limite la charge admissible sur le bus, souvent moins de 80% de la charge totale admissible. L'intégration de hardware spécifique pour obtenir des précisions temps réel est alors à la fois couteux et présente l'inconvénient de se baser sur des allocations statiques à l'initialisation, ce qui provoque des pics de charges sur les bus et des défauts des fréquences d'émission observées du fait que la résolution de conflits entre deux informations à émettre au même moment est basique. En résumé, l'émission de messages émis par un calculateur doit répondre à deux contraintes temporelles opposées qui sont dues, d'une part, au calcul des messages réalisé à fréquence unique avec un respect limité du temps réel et d'autre part, à l'émission/réception des données effectuées à fréquences multiples avec un respect total de la fréquence du bus de communication. Le système selon l'invention comporte une architecture à deux composants principaux et une interface reliant ces deux composants. Ce système permet un respect strict des fréquences d'émissions nécessaires sur les bus de communication entre les éléments même si les fréquences internes des équipements sont moins rapides que celles des bus et si le respect du temps réel par les équipements n'est pas total. Le système selon l'invention permet aussi d'obtenir un débit sur les bus fluide dans le temps sans pics de charges tout en permettant d'atteindre la charge maximale admissible sur les bus. Plus précisément, l'invention a pour objet un équipement électronique comprenant des moyens de calcul ou de traitement de données calculées à des fréquences différentes et des moyens d'émission ou de réception desdites données sur un bus de transmission de données fonctionnant de façon cyclique, l'équipement électronique comportant un composant de gestion des données issues des moyens de calcul ou de traitement, une interface de transmission et un composant de communication agencé pour émettre les données issues du composant de gestion sur le bus de transmission de données ou recevoir des données dudit bus, caractérisé en ce que : le composant de gestion comporte au moins une mémoire-tampon ou « buffer » et des moyens de répartition et de gestion des conflits des données issues des moyens de calcul ou de traitement dans ladite mémoire-tampon, un conflit correspondant à une émission prévisionnelle simultanée de deux données, l'instant d'émission de la donnée par le composant de communication correspondant à sa place dans la mémoire-tampon, lesdits moyens de répartition et de gestion des conflits étant agencés de façon que l'ensemble des données soit agencé de façon à être transmise avec un retard minimal par le composant de communication par rapport au temps d'émission de chaque donnée prise isolément ; le composant de communication fonctionne en « streaming », c'est-à-dire qu'il comporte au moins deux mémoires-tampon, une première mémoire-tampon recevant les données du composant de gestion, une seconde mémoire-tampon émettant les données vers le bus de transmission de données, les données étant émise avec un retard au moins égal à un cycle du bus de transmission de données. Avantageusement, les moyens de répartition et de gestion des conflits des données associent à une catégorie de données calculées à une même fréquence une place prévisionnelle initiale appelée « masque » dans la mémoire-tampon, la position du masque dépendant de : la fréquence de calcul des données de ladite catégorie, les masques de haute fréquence étant prioritaire sur les masques de plus basse fréquence, et l'écart entre la position du masque pris isolément avant gestion 5 des conflits avec les autres masques et sa position réelle après gestion des conflits, cet écart étant choisi le plus faible possible. Avantageusement, les moyens de répartition et de gestion des conflits des données associent à différentes catégories de données calculées à une même fréquence une série de places prévisionnelles initiales appelée 10 « masque de groupe» dans la mémoire-tampon, lesdites places étant réparties régulièrement avant gestion des conflits, la position réelle du masque de groupe après gestion des conflits dépendant de : la fréquence de calcul des données des dites catégories, les masques de haute fréquence étant prioritaire sur les masques de plus basse 15 fréquence, et l'écart entre la position du masque de groupe pris isolément avant gestion des conflits avec les autres masques et la position réelle des places occupées après gestion des conflits, cet écart étant choisi le plus faible possible. 20 Avantageusement, la mémoire-tampon du composant de gestion étant remplie pendant une succession de périodes prédéterminées, à chaque période prédéterminée étant associée un nombre de places prédéterminé dans ladite mémoire-tampon, la dernière donnée calculée à une fréquence prédéterminée et issue des moyens de calcul ou de traitement et non encore 25 placée dans la mémoire-tampon est disposée dans ladite mémoire-tampon si sa place prévisionnelle initiale correspond à une place dans ladite mémoire-tampon. Avantageusement, dans le cas où la place prévisionnelle initiale est occupée par une autre donnée, la donnée calculée est disposée dans la 30 place libre la plus proche. Avantageusement, si la place prévisionnelle initiale de ladite donnée ne permet pas d'aboutir à une place réelle dans ladite mémoire-tampon, ladite donnée est supprimée et un message d'alerte est émis par l'équipement électronique. 35 L'invention sera mieux comprise et d'autres avantages apparaîtront à la lecture de la description qui va suivre donnée à titre non limitatif et grâce aux figures annexées parmi lesquelles : La figure 1 représente l'émission de messages à deux fréquences 5 différentes selon l'art antérieur ; La figure 2 représente le synoptique d'une unité électronique comprenant plusieurs ensembles selon l'invention, chaque ensemble comprenant un composant de gestion des données issues de moyens de calcul ou de traitement, une interface de transmission et un composant de 10 communication ; Les figures 3 à 6 représentent les techniques de répartition des masques correspondant aux places prévisionnelles des données à transmettre ; La figure 7 représente le procédé de remplissage de la mémoire-15 tampon du composant de gestion ; Les figures 8 et 9 représentent la gestion des conflits entre données et la mise en place effective des données dans la mémoire-tampon du composant de gestion ; La figure 10 enfin représente l'emplacement des données 20 transmises dans les moyens de stockage et de mémorisation des données transmises. Dans ce qui suit, on appelle indifféremment donnée, message ou label les informations destinées au bus de transmission de données. 25 La figure 2 représente le synoptique d'une unité électronique comprenant trois ensembles E1, E2 et E3 selon l'invention, chaque ensemble comprenant un composant Gl, G2 ou G3 de gestion des données issues de moyens de calcul ou de traitement, une interface de transmission 11, 12 ou 13 et un composant de communication C1, C2 ou C3. Chaque 30 ensemble gère la communication ente un équipement électronique non représenté sur la figure 2 et un bus de transmission de données B1, B2 ou B3. Les bus B1 et B2 fonctionnent en émission et le bus B3 fonctionne en réception. Les modules de gestion gèrent le lissage de charges, les conflits 35 et le calcul des émissions nécessaires. Les modules de communication garantissent le respect des émissions/réceptions en temps réel sur chacun des bus. Chaque interface entre deux modules permet de gérer les différences de fréquences/précision de fonctionnement des deux composants. Selon les performances souhaitées, les composants peuvent être réalisés sous forme logicielle ou sous forme logiciel/matériel mais la structure fonctionnelle de chaque ensemble selon l'invention reste inchangée. Le principe de l'architecture électronique des ensembles selon l'invention peut assurer la gestion de données cycliques mais peut aussi 10 gérer les données acycliques ainsi que les bus hybrides, c'est-à-dire transmettant des données cycliques et acycliques sur un même bus. Les ensembles selon l'invention fonctionnent à la fois pour les émissions et les réceptions de données et peuvent s'adapter à des messages de taille fixe ou variable sans changement de principe. 15 Dans ce qui suit, les exemples chiffrés sont issus de la norme ARINC 429 pour faciliter la compréhension de l'invention. En effet, les messages émis selon cette norme sont à taille fixe et leur vitesse d'émission est fixe dans le temps. Elle peut être HS pour « High Speed ».ou LS pour « Low Speed » comme déjà mentionné. Bien entendu, les dispositifs selon 20 l'invention s'adaptent à d'autres types de normes. Le fonctionnement de chaque ensemble électronique est le suivant : - Un calcul préliminaire permet de calculer une répartition à priori 25 sur chaque bus des éléments à émettre ; - A chaque cycle de transmission de données, le composant de gestion : o Réceptionne les données provenant de l'équipement électronique ; 30 o Calcule les données à émettre jusqu'au prochain cycle de calcul ; o Ecrit les buffers correspondants et les transmet au composant de communication par l'interface de transmission de données - Le composant de communication fonctionne en continu avec des double-buffers cycliques qui lui permettent d'émettre et/ou de recevoir pendant que le calcul prépare et réceptionne d'autres données dans l'interface de transmission de données. Le fonctionnement de l'architecture électronique est classique dans sa structure aux deux différences fondamentales qui sont que le composant de gestion calcule les buffers d'émissions et que le composant de communication fonctionne en mode de « streaming ». Pour que le système fonctionne correctement, il est essentiel de déterminer le nombre de mémoires-tampon ou « buffer » nécessaires au fonctionnement de l'ensemble électronique ainsi que leur taille, c'est-à-dire le nombre de messages ou de données que chaque « buffer » peut contenir. Le composant de gestion doit être capable de préparer les émissions de données sans en interrompre l'émission physique. Pour cela, un système de buffers doit être mis en place sur l'interface entre les deux composants. Pour que le composant de gestion puisse mettre à jour les buffers sans interruption, les buffers doivent être au moins deux. Cette architecture n'est cependant pas suffisante, car souvent la granularité d'échange de données n'est pas un multiple exact de la fréquence de calcul. Il n'est donc pas possible de garantir que la communication peut libérer un des deux buffers au moment exact ou la gestion souhaite le remplir. Les buffers doivent donc être au moins au nombre de trois. Pour permettre une émission régulière des données, le tampon entre le composant de gestion et le composant de communication doit être non nul et stable de façon à ne pas provoquer d'excédent ou d' « overflow ». Dans ce but, l'émission des données est démarrée avec un retard initial par rapport au calcul et le fonctionnement cyclique garantit une fluctuation maitrisée du remplissage du buffer. Si le calcul alimente à chaque itération le tampon d'un nombre d'éléments inférieurs à la consommation de l'émission, il se produit à un moment donné un défaut de pile pour l'émission. Pour gérer le défaut de pile, il n'est pas possible de se baser sur les émissions du cycle de calcul précédent car le contenu du buffer n'est jamais identique d'une itération à l'autre, compte-tenu de l'asynchronisme des évolutions et des messages ayant une fréquence de rafraichissement supérieure à l'appel cyclique au calcul. Le calcul doit donc toujours alimenter la pile d'un nombre de valeurs au moins égale à la consommation de l'émission entre deux 5 évaluations cycliques. Si le calcul alimente à chaque itération le tampon d'un nombre d'éléments supérieur à la consommation de l'émission, il se produit au bout d'un moment une saturation de la pile. Pour gérer cette saturation, il faudrait éliminer des messages à émettre mais, là encore, il n'est pas possible de supprimer des messages sans provoquer des défauts de 10 régularité temporelle dans l'émission. Le calcul ne doit donc pas alimenter de manière régulière la pile d'un nombre de valeurs supérieur à la consommation de l'émission. En fonction de ces deux constatations, il est nécessaire que le calcul soit garant d'un remplissage régulier de la pile en adaptant le nombre 15 d'éléments à insérer. Ce calcul doit se faire non pas statiquement par une répartition des messages à émettre sur les différents appels qui introduit obligatoirement des erreurs, mais au moyen d'un calcul qui prend en compte la période exacte à calculer et l'emplacement idéal des messages. Le composant de gestion fonctionne en streaming avec le 20 composant de communication. Il calcule le nombre exact de messages à envoyer pour garantir de fournir des buffers pleins à chaque fois. Le fonctionnement de l'émission en streaming nécessite une capacité particulière du matériel qui est de permettre une non-émission sur un créneau temporel. Le matériel doit être capable de ne pas émettre sur une 25 durée équivalente à une émission de message de manière à pouvoir temporellement séparer les messages. Pour que le système fonctionne correctement, il est également essentiel de gérer les conflits entre messages. Un conflit se produit ente 30 deux messages à envoyer lorsque ces deux messages devraient, pour respecter leur fréquence, être émis au même moment. La gestion des conflits doit prendre en compte plusieurs paramètres qui sont : - Période de l'émission du message. Plus un message a une période faible, plus il doit être prioritaire dans la gestion du 35 conflit ; - Date de dernière émission. Plus le créneau d'émission est éloigné du créneau théorique, plus le message est prioritaire. Une fois cet ordre déterminé, la gestion du conflit est simple. Il faut 5 rechercher le créneau d'émission libre le plus proche. On recherche le créneau gauche libre le plus proche puis le créneau droit libre le plus proche en s'éloignant de la position de conflit. Le lissage d'émission répond à un besoin de stabilité de charge du bus mais permet aussi de favoriser la gestion de conflit en préservant des 10 créneaux libres pour émettre les éléments en conflit. A l'inverse la présence d'un très gros block continu de messages à émettre amènera un message en conflit à être émis loin de sa date d'émission théorique. Favoriser la gestion des conflits est équivalent à dire que l'on réduit les divergences de période constaté par rapport aux périodes 15 théoriques. Lorsque plusieurs messages sont à envoyer successivement, les uns à la suite des autres, messages dits en « queueing », la gestion des conflits pour la série de messages est simple. Il suffit de considérer que les messages sont de priorités minimales et vont être insérés dans les créneaux 20 libres, ce qui correspond au traitement des conflits. Si la préservation de l'ordre des messages est nécessaire, le mécanisme de gestion des conflits doit limiter l'oscillation dans une seule direction. Le retard entre l'émission des données et leur calcul est 25 nécessaire pour permettre une émission indépendante. Cependant, il doit être minimal pour éviter d'introduire des latences opérationnelles. La taille minimale du retard va correspondre à la durée cumulée : - d'un buffer, pour garantir que le buffer en cours d'écriture n'est jamais celui en cours d'utilisation ; 30 - de la durée de transfert des informations liée à la performance de communication entre la mémoire et le buffer de l'équipement électronique. Dans la plupart des cas, la durée de transfert entre le logiciel et le « hardware » de l'équipement électronique est négligeable par rapport à la durée d'écriture ou de lecture 35 liée à la taille du buffer. L'ensemble électronique fonctionne en réception sur des principes rigoureusement identiques à ceux de l'émission. Cependant, le fonctionnement de l'équipement est plus simple dans la mesure où il n'y a aucune gestion de conflit ni de calcul d'offset à réaliser. Le « buffering » multiple et la gestion des silences dans le dialogue est cependant essentiel pour avoir une datation précise des réceptions. Le fonctionnement opérationnel d'un ensemble électronique selon 10 l'invention est détaillé ci-dessous. Dans un premier temps, il est nécessaire, pour toutes les données qui seront calculées à une fréquence déterminée, de calculer leur répartition initiale ou prévisionnelle dans la mémoire-tampon. Le calcul de répartition doit fournir une valeur de première émission pour chaque message quel que 15 soit sa fréquence. La période d'évaluation correspond donc à la période maximale de tous les messages du bus. Pour tous les messages de période inférieure, on constitue un « masque » correspondant en réservant ou en « taggant » tous les emplacements d'émission sur la période d'évaluation nécessaire à partir 20 d'une émission sur le premier créneau d'émission. Ce masque correspond aux réservations de créneaux d'émission nécessaire pour un message à une fréquence donnée. On peut calculer un masque de groupe correspondant à l'émission de plusieurs messages de même fréquence en répartissant régulièrement les émissions sur la période d'émission. 25 Les figures 3 à 6 représentent les techniques de répartition des masques correspondant aux places prévisionnelles des données à transmettre. La figure 3 comporte trois graphes. Celui du haut représente, sous forme de cases vides, les places disponibles Pd dans la mémoire du buffer. 30 Le graphe central représente des données à envoyer en fonction du temps t sous forme de flèches droites horizontales. Ces données sont issues de l'équipement électronique à une fréquence constante. La répartition prévisionnelle desdites données dans la mémoire du buffer est simple à calculer. L'espacement entre deux données successives est obtenu en 35 divisant le nombre de créneaux d'émission dans la période souhaitée par le nombre de messages à envoyer, c'est ce qui est représenté sur le graphe du bas de la figure 3 où les places prévisionnelles Pp sont représentées en gris. Pour gérer l'émission de données venant de sources différentes mais émis à la même fréquence, on construit, comme indiqué sur la figure 4, 5 un masque de groupe. La figure 4 comporte comme la figure 3 trois graphes représentant successivement les places disponibles Pd dans la mémoire du buffer, les données à envoyer en fonction du temps t et leur répartition prévisionnelle Pp dans le buffer. Les données de sources différentes sont représentées par des flèches blanches et noires sur cette figure 4. 10 Une fois les masques constitués, le calcul de la répartition original se fait en évaluant la pertinence de la position du masque sur tous les offsets possibles comme indiqué sur la figure 5 où quatre positions d'offset différents sont représentées sur quatre graphes successifs, chaque position d'offset est décalée d'un emplacement par rapport à la précédente sur cette figure 5. 15 La détermination de l'offset original se fait masque par masque par ordre de priorité en évaluant le masque courant par rapport aux allocations d'émissions déjà alloués par les masques précédents. Pour caractériser cette notion, deux calculs sont possibles : - Compter le nombre de conflits du masque pour l'offset évalué ; 20 - Calculer la position exacte d'émission des messages pour l'offset évalué après résolution des conflits puis déterminer la somme des carrés des écarts entre les positions théoriques et observées. La figure 6 représente un exemple de détermination de l'offset 25 pour un masque de groupe comportant cinq messages à disposer. Cette figure 6 comporte trois graphes. Le graphe du haut représente des messages à disposer selon l'ordre prévisionnel idéal. Ils sont représentés en gris sur ce graphe. Il y en a cinq. Le second graphe de la figure 6 représente les places déjà prises Po par les masques précédents. On voit que, compte- 30 tenu des places déjà occupées, le troisième et le quatrième message ne peuvent être disposés à leur place prévisionnelle idéale. Il y a donc deux conflits à gérer représentés par des étoiles sur la figure 6. Le premier conflit amène l'émission à deux emplacements de l'émission théorique, le deuxième conflit est à un emplacement de la théorie, ce qui fait une note de 2 selon le 35 premier calcul et de 5 selon le second calcul. Le but de la répartition originale est d'obtenir une répartition la plus « aérée » possible. Quelque soit le mode de calcul, l'offset retenu est celui qui obtient la note la plus basse. La note 0 indique un emplacement idéal et amène à arrêter l'évaluation des autres offsets. Une fois l'offset choisi pour un masque : - Si c'est un masque individuel, l'offset du message est identique à celui du masque ; - Si c'est un masque de groupe, l'offset du message est égal à celui du masque de groupe plus celui de son offset de première émission dans le masque de groupe. La période des labels calculés doit couvrir au moins la période entre deux appels à la fonction de gestion. Cette période doit être ajustée : - En déplaçant la borne inférieure en fonction du dernier label calculé au cycle précédent ; - En déplaçant la borne supérieure pour remplir le buffer carte jusqu'au bout. C'est ce qui est illustré sur la figure 7 qui comprend quatre graphes en fonction du temps t, le premier en haut de la figure 7 représente le fonctionnement de l'équipement, le second le calcul périodique des messages à envoyer représentés par des flèches, le troisième la détermination de la période d'émission et le quatrième graphe en bas de la figure 7 représente l'émission effective. Les messages sont alternativement représentés en blanc et noir et leur émission effective est représentée de la même couleur. Une fois la référence de période à calculer déterminée, la détermination des messages à envoyer est simple : un message est à envoyer si l'emplacement de son dernier envoi décalé du nombre d'emplacements nécessaires à sa période entre deux envois se situe avant le dernier emplacement d'émission. Par exemple, un label doit être envoyé tous les 28.8ms soit tous les 10 emplacements. Il a été envoyé à T0-1 emplacement. La période de calcul s'étend jusqu'à TO + 15. Le prochain envoi sera T0-1 + 10 soit TO + 9 qui est avant T0+15 donc il doit être envoyé. Il est à noter que, si le nombre de labels à envoyer déterminé par le calcul précédent est supérieur au nombre d'emplacements d'émission du buffer, cela signifie que la spécification amène à une surcharge du bus non conforme. La gestion de ce cas particulier va donc consister à remonter une alarme ou un « warning » à l'utilisateur et les labels en dépassement sont marqués comme émis, pour calculer leur prochaine émission. On pourrait envisager de reporter l'envoi de ces labels dans la prochaine évaluation. Mais ce fonctionnement risque de propager la surcharge sur le ou les cycles suivants et amener à des investigations difficiles. La dernière phase de l'algorithme consiste à trouver la position idéale d'émission de chacun des messages dans la période de calcul concerné. La présence de conflit à cette phase de l'algorithme est quasiment certaine. L'attribution des places d'émission doit donc se faire dans l'ordre croissant des périodes théoriques de mener à privilégier l'exactitude des émissions les plus sensibles. Le procédé de détermination de l'emplacement d'envoi est le suivant : - si l'emplacement d'émission idéale est libre, le message est envoyé à cette position ; - Sinon on évalue la distance du premier bloc disponible avant et après la position idéale ; - On place le message sur la position la plus proche de l'idéal. Ce procédé est illustré sur les figures 8 et 9 qui comportent chacun trois graphes, celui du haut représente la position prévisionnelle Pp 25 des messages à envoyer à une certaine fréquence, ces messages sont représentés en gris sur ce graphe. Le second graphe central représente les places déjà prises dans le buffer, elles sont représentées en blanc sur ce graphe. Enfin, le graphe du bas, représente les places effectivement occupées Po dans le buffer par les messages après placement. 30 La figure 9 est une variante de la figure 8, elle représente le placement de cinq messages consécutifs ou en « queueing » à envoyer. Il est à noter, que sur cette figure, l'ordre initial des messages est respecté, ce n'est pas nécessairement le cas. Il est certain que cet algorithme n'évalue pas l'ensemble des solutions possibles et ne trouve donc pas obligatoirement la solution optimale pour tous les messages de la période calculée puisqu'il n'évalue pas toutes les combinatoires possibles, cependant il permet d'avoir une répartition de bonne qualité au prix d'un calcul simple. Lorsqu'un message est inséré dans la pile pour émission, sa description est mise à jour en modifiant l'emplacement de dernière émission. La valeur écrite de ce message correspond non pas à l'emplacement réellement utilisé mais à l'emplacement idéal calculé conformément à sa période. Le but de ne pas enregistrer l'emplacement réel est de ne pas cumuler au fur et à mesure de l'exécution des retards ou des avances que peuvent générer et la gestion des conflits dans cette phase de placement. On se retrouve ainsi à chaque évaluation à un emplacement d'émission idéal correspondant à un nombre exact de périodes de rafraichissement depuis le démarrage des émissions. La figure 10 illustre l'enregistrement des messages émis. Elle comprend 4 graphes. Celui-du haut représente la succession de messages émis à une fréquence fixe dans leur place prévisionnelle idéale Pp dans la mémoire du buffer. Ils sont représentés en gris sur ce graphe. Le graphe juste en dessous représente les places déjà prises par d'autres messages dans la mémoire du buffer. Ils sont représentés en blanc sur ce second graphe. Le troisième graphe représente l'emplacement réel Po des messages dans la mémoire du buffer avant transmission. Certains messages ont dû être décalés. Le quatrième graphe représente les emplacements Pm de la description des messages dans la mémoire de l'équipement. Ils sont remis à leurs places idéales, celles du graphe du haut de la figure 10. Les ensembles électroniques selon l'invention peuvent être utilisés 30 sur différents protocoles. On citera notamment la norme RS 422 et la norme ARINC 429 dans une variante permettant de regrouper les labels par paquet La solution technique selon l'invention a l'avantage de pouvoir être utilisée à la fois sur du matériel embarqué et opérationnel et sur des moyens de test et de simulation. Elle répond au besoin d'avoir des cycles de calcul 35 plus lents que les envois sans introduire de perturbations sur les bus. 2 9 8204 8 17 Elle peut aussi être adaptée à des cas hybrides de test, c'est-à- dire : - Passerelle : Calculer les trames en simulation et les envoyer par carte hardware après un transit réseau intermédiaire, au 5 prix d'une latence supplémentaire ; - Surcharge dynamique : Utiliser comme trame de base des enregistrements de vol et ajouter des labels spécifiques ; - Pollution : Intercaler entre calcul et émission de la pollution de contenu sans surcoût. 10 Les avantages de l'invention sont multiples car elle permet : Sur la gestion des émissions - D'avoir un lissage de la charge bus de manière statique par la pré-allocation et dynamique par le traitement en temps réel ; 15 - De gérer les conflits en temps réel et donc d'obtenir le respect des fréquences, c'est-à-dire l'espacement entre deux émissions d'une même information optimale. En particulier, les conflits sont détectés avant leur apparition ; - De calculer les échanges sur des bus de fréquences différentes 20 avec une seule fréquence de rafraichissement ; - D'insérer des informations acycliques ponctuelles dans les espaces de communication libre de la communication cyclique sans perturbation. Sur les contraintes d'utilisation : 25 - d'insérer des mécanismes de pollution ou de rejeu sans perturbation sur la communication dans son ensemble ; - de séparer totalement la contrainte de fréquence de calcul des données à émettre et la contrainte de communication, la seule contrainte de choix entre les deux fréquences vient du délai de réaction souhaité. Sur la mise en oeuvre et les performances : - de garantir une émission/réception régulière et précise dans le temps ; - de permettre une mise en oeuvre avec des COTS du marché ou de manière totalement logicielle. REVENDICATIONS1. Equipement électronique comprenant des moyens de calcul ou de traitement de données calculées à des fréquences différentes et des moyens d'émission ou de réception desdites données sur un bus de transmission de données fonctionnant de façon cyclique, l'équipement électronique comportant un composant de gestion (G1, G2, G3) des données issues des moyens de calcul ou de traitement, une interface de transmission (11, 12, 13) et un composant de communication (C1, C2, C3) agencé pour émettre les données issues du composant de gestion sur le bus (B1, B2, B3) de transmission de données ou recevoir des données dudit bus, caractérisé en ce que : le composant de gestion comporte au moins une mémoire-tampon ou « buffer » et des moyens de répartition et de gestion des conflits des données issues des moyens de calcul ou de traitement dans ladite mémoire-tampon, un conflit correspondant à une émission prévisionnelle simultanée de deux données, l'instant d'émission de la donnée par le composant de communication correspondant à sa place dans la mémoire-tampon, lesdits moyens de répartition et de gestion des conflits étant agencés de façon que l'ensemble des données soit agencé de façon à être transmise avec un retard minimal par le composant de communication par rapport au temps d'émission de chaque donnée prise isolément ; le composant de communication fonctionne en « streaming », c'est-à-dire qu'il comporte au moins deux mémoires-tampon, une première mémoire-tampon recevant les données du composant de gestion, une seconde mémoire-tampon émettant les données vers le bus de transmission de données, les données étant émise avec un retard au moins égal à un cycle du bus de transmission de données. 2. Equipement électronique selon la revendication 1, caractérisé en ce que les moyens de répartition et de gestion des conflits des données associent à une catégorie de données calculées à une même fréquence une place prévisionnelle initiale appelée « masque » dans la mémoire-tampon, la position du masque dépendant de :la fréquence de calcul des données de ladite catégorie, les masques de haute fréquence étant prioritaire sur les masques de plus basse fréquence, et l'écart entre la position du masque pris isolément avant gestion 5 des conflits avec les autres masques et sa position réelle après gestion des conflits, cet écart étant choisi le plus faible possible. 3. Equipement électronique selon la revendication 1, caractérisé en ce que les moyens de répartition et de gestion des conflits des données 10 associent à différentes catégories de données calculées à une même fréquence une série de places prévisionnelles initiales appelée « masque de groupe» dans la mémoire-tampon, lesdites places étant réparties régulièrement avant gestion des conflits, la position réelle du masque de groupe après gestion des conflits dépendant de : 15 la fréquence de calcul des données des dites catégories, les masques de haute fréquence étant prioritaire sur les masques de plus basse fréquence, et l'écart entre la position du masque de groupe pris isolément avant gestion des conflits avec les autres masques et la position réelle des places 20 occupées après gestion des conflits, cet écart étant choisi le plus faible possible. 4. Equipement électronique selon l'une des revendications précédentes, caractérisé en ce que, la mémoire-tampon du composant de 25 gestion étant remplie pendant une succession de périodes prédéterminées, à chaque période prédéterminée étant associée un nombre de places prédéterminé dans ladite mémoire-tampon, la dernière donnée calculée à une fréquence prédéterminée et issue des moyens de calcul ou de traitement et non encore placée dans la mémoire-tampon est disposée dans ladite 30 mémoire-tampon si sa place prévisionnelle initiale correspond à une place dans ladite mémoire-tampon. 5. Equipement électronique selon la revendication 4, caractérisé en ce que, dans le cas où la place prévisionnelle initiale est occupée par uneautre donnée, la donnée calculée est disposée dans la place libre la plus proche. 6. Equipement électronique selon la revendication 4, caractérisé 5 en ce que si la place prévisionnelle initiale de ladite donnée ne permet pas d'aboutir à une place réelle dans ladite mémoire-tampon, ladite donnée est supprimée et un message d'alerte est émis par l'équipement électronique.