FR3011999A1 - Reseau de transmission de donnees pour aeronef - Google Patents
Reseau de transmission de donnees pour aeronef Download PDFInfo
- Publication number
- FR3011999A1 FR3011999A1 FR1459478A FR1459478A FR3011999A1 FR 3011999 A1 FR3011999 A1 FR 3011999A1 FR 1459478 A FR1459478 A FR 1459478A FR 1459478 A FR1459478 A FR 1459478A FR 3011999 A1 FR3011999 A1 FR 3011999A1
- Authority
- FR
- France
- Prior art keywords
- data
- port
- frame
- address
- memory
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 26
- 239000000872 buffer Substances 0.000 claims description 101
- 230000015654 memory Effects 0.000 claims description 61
- 238000003860 storage Methods 0.000 claims description 24
- 230000003068 static effect Effects 0.000 claims description 5
- 238000000354 decomposition reaction Methods 0.000 claims description 2
- 210000000056 organ Anatomy 0.000 claims description 2
- 239000012634 fragment Substances 0.000 claims 1
- 230000006870 function Effects 0.000 description 44
- 238000012545 processing Methods 0.000 description 24
- 229940127236 atypical antipsychotics Drugs 0.000 description 14
- 230000008901 benefit Effects 0.000 description 11
- 238000010276 construction Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 208000035139 partial with pericentral spikes epilepsy Diseases 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000001650 pulsed electrochemical detection Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000005971 DNA damage repair Effects 0.000 description 1
- 102000002706 Discoidin Domain Receptors Human genes 0.000 description 1
- 108010043648 Discoidin Domain Receptors Proteins 0.000 description 1
- 241001135549 Porcine epidemic diarrhea virus Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000027455 binding Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000007853 buffer solution Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/351—Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/4028—Bus for use in transportation systems the transportation system being an aircraft
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Systems (AREA)
Abstract
Procédé pour fournir des données sur le fonctionnement immédiat pour une pluralité d'organes générant des données, connectés à un réseau de transmission de données. Le réseau peut comporter des périphériques d'entrée qui génèrent des données et des postes d'abonnés dont le fonctionnement nécessite les données générées. Les données générées peuvent être formatées ou traitées de manière à pouvoir être utilisées par les postes d'abonnés. Les données formatées et traitées peuvent ensuite être fournies aux postes d'abonnés.
Description
Réseau de transmission de données pour aéronef Dans l' aéronautique d' auj ourd' hui, une "plateforme avionique" consiste en divers éléments tels que des capteurs, des concentrateurs de données de capteurs, un réseau de transmission de données, des capteurs HF et des équipements de transmission, des éléments informatiques, des effecteurs et des afficheurs graphiques. Ces organes doivent partager des informations les uns avec les autres sur le réseau de transmission de données. A l'origine ces éléments de plateformes se présentent sous la forme d'éléments individuels de sous-systèmes souvent appelés "systèmes fédérés". Un système fédéré est un sous-système spécifique d'une application dans un progiciel autonome ayant ses propres logiques, processeurs et interfaces d'entrée/sortie spécifiques. Les multiples systèmes fédérés séparés reposent sur des sous-ensembles communs de sources de données, mais sont dépourvus du partage des ressources et interfaces de traitement entre systèmes fédérés.
Des tentatives antérieures pour réduire le recours aux systèmes fédérés ont abouti à l'instauration des normes ARINC 653 et ARINC 664. ARINC 653 (A653) est un système d'exploitation dans lequel chaque application, p.ex., associée à une fonction d'un système fédéré, est dotée de sa propre partition de tranche de temps et de sa propre partition d'espace de mémoire pour l'y exécuter. Cela a permis à ce qui fut de multiples fonctions d'un système fédéré d'être hébergées dans un processeur commun et de partager une interface et des câblages communs pour un réseau avionique de données reposant sur la partie 7 d'ARINC 664 (A664p7).
Dans ces systèmes, les données sont échantillonnées, publiées et transmises à une plus grande fréquence et une application exécutée dans une partition suivant ARINC 653 est amenée à fonctionner plus fréquemment afin d'assurer que les résultats produits par une application aient un délai suffisamment court entre l'instant de l'échantillonnage des données d'entrée et la sortie des données traitées. La fréquence du rythme de publication de données ainsi que la fréquence d'exécution d'une application ont tendance à être plus grandes qu'il ne serait nécessaire si les données et leur traitement étaient synchronisés. Dans une forme de réalisation, l'invention concerne un procédé pour fournir des données sur le fonctionnement immédiat pour une pluralité d'organes générant des données, connectés à un réseau de transmission de données d'un aéronef et pour envoyer au moins une trame de données ayant un identifiant et des données brutes correspondantes, le procédé comportant : la création d'une table de valeurs immédiates (TVI) comprenant un stockage en mémoire connectée au réseau de transmission, incluant au moins une mémoire tampon circulation, une attribution d'une adresse en mémoire pour chaque identifiant et donnée brute correspondante ; la réception, via le réseau, d'une trame de données émises par au moins un des organes générant des données ; l'analyse de la trame de données reçue et sa décomposition en identifiant et donnée brute correspondante ; la détermination, à l'aide d'une table de consultation logicielle, de l'adresse réservée en mémoire pour l'identifiant analysé ; l'actualisation de l'adresse déterminée réservée en mémoire à l'aide de la donnée brute analysée en inscrivant la donnée brute analysée à l'adresse réservée en mémoire ; et la répétition des étapes ci-dessus pour les trames de données suivantes pour les organes générant des données, grâce à quoi la TVI contient constamment les données les plus actualisées. L'invention sera mieux comprise à l'étude détaillée de quelques modes de réalisation pris à titre d'exemples non limitatifs et illustrés par les dessins annexés sur lesquels : - la Figure 1 est une vue schématique d'un réseau de transmission de données pour aéronef selon une forme de réalisation de l'invention ; et - la Figure 2 est une vue schématique du serveur de données avioniques selon une forme de réalisation de l'invention. Les formes de réalisation de l'invention décrites concernent des formes de réalisation d'un réseau de transmission de données avioniques, ayant un serveur de données avioniques (SDA) et des organes pour aéronef, qui répond à la nécessité de distribuer des valeurs de données, issues de toute source, à n'importe quelle destination à bord de l'aéronef. Bien que ce soit possible, les formes de réalisation de la présente invention n'imposent pas forcément l'exigence que tous les trajets de données de l'aéronef doivent emprunter le réseau de transmission de données car il y aura certains flux d'un point à un autre, par exemple, pour lesquels il n'y aura aucun avantage à les faire passer par le SDA. Cependant, au moins la plupart des flux de données qui nécessitent une conversion, une interopérabilité, un traitement, une synchronisation, une régulation, une limitation, une multidiffusion du trafic, etc., peuvent bénéficier des fonctions offertes par le SDA. Comme représenté schématiquement sur la Figure 1, un aéronef 10 a une pluralité de périphériques d'entrée distants (PED) 12, par exemple divers capteurs ou instruments et au moins un terminal 14 d'abonné connectés électriquement à un réseau de transmission 16 de données pour le fonctionnement de l'aéronef 10.
Chaque PED 12 peut fournir des données, ou des trames de données, au réseau de transmission 16 de données, et chaque terminal 14 d'abonné peut consommer un message d'après au moins certaines des données brutes. Les terminaux 14 d'abonné peuvent, par exemple, comprendre des systèmes avioniques, processeurs, afficheurs ou systèmes de vérification de redondance supplémentaires. Les PED 12 et les terminaux 14 d'abonné peuvent produire et consommer des données à différents débits de transmission de données, lesquels sont efficacement gérés par le réseau de transmission de données. Des PED 12 et/ou terminaux 14 d'abonné supplémentaires, ou une mise en place du périphérique 12 et du terminal 14 est/sont envisagé(s). Bien qu'une forme de réalisation soit représentée dans un contexte aéronautique, l'invention ne se limite pas à celui-ci et s'applique globalement à des réseaux de transmission de données dans des applications non aéronautiques telles que d'autres applications mobiles et des applications fixes dans l'industrie, le commerce et le résidentiel. La Figure 2 représente un schéma simplifié de haut niveau du réseau de transmission de données, comportant le serveur de données avioniques (SDA) 18. Le SDA 18 comprend une pluralité de PED physiques 20 connectés à une interface commune 22 pour trafic entrant ; un planificateur 24 de ports pour trafic entrant ; un gestionnaire de description de trames (GDT) 25 ayant une table de consultation de descripteurs (TCD) 26, un limiteur 27 et un distributeur multidiffusion de descripteurs (DMD) 29 ; un serveur central de données (SCD) 28 ; un planificateur de messages paramétriques (PMP) 30 pour trafic sortant ayant un constructeur de messages paramétriques (CMP) 31 ; une pluralité de terminaux physiques 32 d'abonnés connectés à une interface commune 34 pour trafic sortant ; et une pluralité de liaisons virtuelles 36.
Chaque PED 20 est connecté à l'interface commune 22 de trafic entrant par un couplage 38 de données et au moins une file d'attente 40 de données, définissant un port physique 42 pour trafic entrant. Le couplage 38 de données peut être apte à recevoir une trame de données d'un connecteur physique et peut, par exemple, comprendre des connecteurs physiques tels qu'un port Ethernet, et/ou des compatibilités avec des couches de logiciel ou de protocole, telles que le routage par Media Access Control (MAC) ou protocole internet (IP), ou une interface série. Collectivement, les ports physiques 42 pour trafic entrant définissent une interface physique 44 pour trafic entrant. Bien qu'un nombre limité de ports physiques 42 pour trafic entrant soient représentés, il est envisagé qu'il puisse y en avoir n'importe quel nombre, un exemple concret comprenant quarante-huit ports 42 pour trafic entrant, parmi lesquels les seize premiers ports 42 peuvent être, par exemple, des ports Ethernet 42 et les trente-deux autres ports sont pour des interfaces ARINC 429. D'autres nombres de ports sont envisagés, ainsi que d'autres divisions de deux ou plus de deux interfaces. Le SDA 18 peut être en interface avec une pluralité de PED physiques 20 et de protocoles de données de liaisons virtuelles 36, par exemple Ethernet, IEEE 802.3, ARINC 664 partie 7 (A664p7), bus CAN, ARINC 429 (A429), ARINC 661 et autres protocoles anciens, etc. Il est envisagé que des protocoles d'interfaçage puisse avoir ou non une interface physique et puisse comprendre, par exemple, une technologie radioélectrique telle que Bluetooth ou Wifi. L'interface commune 22 pour trafic entrant peut en outre être connectée à au moins un port virtuel 46 pour trafic entrant, le port 46 fournissant au moins quelques données brutes à l'interface 22 par l'intermédiaire d'une file d'attente 40 de données.
Collectivement, les ports virtuels 46 pour trafic entrant définissent une interface virtuelle 48 pour trafic entrant. Chaque port physique et/ou virtuel 42, 46 pour trafic entrant est apte à fournir au moins quelques données brutes à l'interface commune 22 pour trafic entrant.
Le planificateur 24 de ports pour trafic entrant reçoit un flux d'entrée de l'interface commune 22 pour trafic entrant, fournit un flux de sortie au GDT 25 et au SCD 28 et peut en outre comprendre un enregistreur 50 d'instant d'arrivée (IdA) et un concentrateur 52 à ports pour trafic entrant. Le limiteur 27 peut contrôler et/ou agir sur le fonctionnement du GDT 25. Le DMD 29 peut présenter une connexion de sortie à un ensemble de files d'attente 43 de descripteurs par port pour trafic sortant, lesquelles fonctionnent dans une configuration de type premier entré, premier sorti (PEPS). Le DMD 29 peut inscrire le même descripteur dans plus d'une des files d'attente 43 de descripteurs par port pour trafic sortant si le même message est à transmettre à plus d'un terminal physique 32 d'abonné. Chaque file d'attente 43 de descripteurs par port pour trafic sortant est en outre connectée à une interface 70 pour degré de remplissage de file d'attente.
Le SCD 28 comprend une mémoire pour stocker au moins une mémoire tampon circulaire 54, une table de valeurs immédiates (TVI) 56 et une table 58 de messages paramétriques. La mémoire du SCD 28 peut comprendre, par exemple, un lecteur de disque dur, un disque SSD, une mémoire à quadruple débit de données (QDR) ou une pluralité d'éléments de mémoire conçu pour assurer une redondance. Dans la forme de réalisation illustrée, le SCD 28 comprend trois mémoires tampons circulaires 54, chacune étant définie par le débit de données auquel elle fonctionne, par exemple une mémoire tampon circulaire 60 fonctionnant à 10 mégabits/seconde (Mbps), une mémoire tampon circulaire 62 fonctionnant à 100 Mbps et une mémoire tampon circulaire 64 fonctionnant à 1 gigabit/seconde (Gbps). Dans chaque mémoire tampon circulaire 54, les plus anciennes données stockées sont effacées et remplacées par les données les plus récentes arrivant d'une sortie par le planificateur 24 de ports pour trafic entrant. Chaque terminal physique 32 d'abonné est connecté l'interface commune 34 pour trafic sortant via un couplage 38 de données et au moins une file d'attente de données, telle qu'un ensemble de files d'attente 41 de messages de données par port pour trafic sortant, définissant un port physique 66 pour trafic sortant. Collectivement, les ports physiques 66 de trafic sortant définissent une interface physique 68 pour trafic sortant. Chaque file d'attente 41 de messages de données par port pour trafic sortant de chaque port physique 66 pour trafic sortant est en outre connectée à l'interface 70 pour degré de remplissage de file d'attente. L'interface commune 34 pour trafic sortant peut en outre être connectée à au moins un port virtuel 72 pour trafic sortant, le port 72 recevant un message de l'interface 34 via une file d'attente 40 de données. Collectivement, les ports virtuels 72 pour trafic sortant définissent une interface virtuelle 74 pour trafic sortant. Il est envisagé que chaque port physique 66 pour trafic sortant puisse être associé à une seule file d'attente 41 de messages de données, mais à n'importe quel nombre de files d'attente 43 de descripteurs de données par port pour trafic sortant, la forme de réalisation illustrée ayant, par exemple, une seule file d'attente 41 de données et quatre files d'attente 43 de descripteurs par port physique 66, 72 pour trafic sortant. Le planificateur de messages paramétriques (PMP) 30 pour trafic sortant peut en outre comporter un arbitre de trafic sortant, par exemple un planificateur 76 à base de règles, qui peut utiliser l'interface 70 pour degré de remplissage de file d'attente afin de déterminer de laquelle des files d'attente 43 de descripteurs par port pour trafic sortant doit être reçu un descripteur fourni par le DMD 29. Ce descripteur sert à lire et vérifier une trame de données spécifiée provenant du SCD 28. Si la trame est ainsi vérifiée, le PMP 30 peut en outre fournir un flux de sortie du SCD 28, par l'intermédiaire de l'interface commune 34 pour trafic sortant, au port physique 66 pour trafic sortant qui est associé à la file d'attente 43 de descripteurs par port pour trafic sortant de laquelle a été reçu le descripteur. Le planificateur de messages paramétriques (PMP) 30 pour trafic sortant peut en outre comprendre un constructeur de messages paramétriques (CMP) 31, lequel peut utiliser le contenu d'un table paramétrique 58 de messages et des valeurs de données contenues dans la TVI 56 et/ou la mémoire tampon circulaire 54 (p.ex. si elle contient un message multimot conforme à A429) afin de lancer la construction de messages destinés à être consommés par des terminaux 32 d'abonnés et/ou des ports 66, 72 pour trafic sortant. Le PMP 30, le planificateur 76 à base de règles et/ou le CMP 31 peuvent, par exemple, comprendre un programme exécutable fonctionnant dans un ordinateur polyvalent sur le réseau ou un programme exécutable fonctionnant dans un ordinateur spécifique. Selon une autre possibilité, le PMP 30, le planificateur 76 à base de règles et/ou le CMP 31 peuvent, par exemple, comprendre un dispositif logique codé en dur. Le planificateur 76 à base de règles peut recevoir des données d'entrée des files d'attente 43 de descripteurs par port pour trafic sortant et de l'interface 70 pour degré de remplissage de file d'attente afin de permettre au PMP 30 de sélectionner et de vérifier un message transmis du SCD 28 à l'interface commune 34 pour trafic sortant. Selon une autre possibilité, le PMP 30 et/ou le CMP 31 peuvent/peut utiliser la table 58 de messages paramétriques afin de sélectionner, parmi les valeurs de données de la TVI 56 et/ou de la mémoire tampon circulaire 54, celles qui peuvent servir à construire un message délivré à l'interface commune 34 pour trafic sortant. Bien que les files d'attente 43 de descripteurs par port pour trafic sortant soient représentées séparées du PMP 30, il est envisagé une forme de réalisation dans laquelle les files d'attente 43 peuvent être contenues dans le PMP 30 et/ou le planificateur 76 à base de règles.
Les liaisons virtuelles 36 peuvent comporter en outre des composants supplémentaires locaux ou distants du SDA 18, grâce auxquels un message peut être émis par l'interface virtuelle 74 pour trafic sortant, via au moins une file d'attente 40 de données et une liaison virtuelle 36, et être reçu par l'interface virtuelle 48 pour trafic entrant. Les exemples de liaisons virtuelles 36 représentés comprennent au moins un processeur distribué 78 apte à exécuter une fonction de traitement ou de calcul sur le message, un moteur de rendu graphique 80 apte à fournir un contenu (p.ex. à l'aide de widgets conformes à ARINC 661) pour afficheurs avioniques, un système final virtuel 82 pour un interfaçage avec des systèmes aéronautiques anciens, une mémoire de stockage de masse 84 du réseau pour stockage redondant, ou un port de renvoi 86 de message pour transmettre un message du PMP 30 à un ou plusieurs port(s) 68 pour trafic sortant. Il est envisagé que les liaisons virtuelles 36 puissent en outre être identifiées à l'aide d'un identifiant (VLid) de liaisons virtuelles. Le SDA 18 sert à faciliter des fonctions de commutation pour répondre à la nécessité de distribuer toute source de valeurs de données brutes à tout terminal 32 de destination ou d'abonné à bord de l'aéronef 10. Il est envisagé que des formes de réalisation de l'invention puissent ne pas avoir à rendre obligatoire le passage de tous les flux de données brutes par le SDA 18, car il y aura certains flux de point à point, par exemple, pour lesquels leur passage par le SDA 18 n'apportera aucun avantage. Cependant, tous les flux de données brutes susceptibles de nécessiter des fonctions de commutation, par exemple une conversion, une interopérabilité, un traitement, une synchronisation, une régulation, une limitation, une multidiffusion du trafic, etc., peuvent bénéficier des fonctions offertes par le SDA 18. De plus, plusieurs SDA 18 peuvent être présents à bord du même aéronef 10 ou sur le même réseau de transmission, 16 de données afin de permettre des capacités de commutation supplémentaires, des mesures de sécurité redondantes, une duplication de données à l'aide d'un dispositif de stockage ou d'un autre SDA 18 pour vérification et validation ou pour un traitement distribué. Il est envisagé que chaque port physique 66 pour trafic sortant puisse être configuré avec de multiples files d'attente 43 de descripteurs par port pour trafic sortant afin de créer de multiples trajets pour des descripteurs à consommer par le planificateur 30 de messages paramétriques, d'après la priorité du message interprétée par le planificateur 76 à base de règles. Il est envisagé que chaque port physique 66 pour trafic sortant puisse correspondre à n'importe quel nombre de files d'attente 43 de descripteurs par port pour trafic sortant, la forme de réalisation illustrée ayant, par exemple, quatre files d'attente 43. Il est en outre envisagé qu'une file d'attente de descripteurs par port pour trafic sortant ne desserve qu'un seul port physique 66 pour trafic sortant ou un seul port physique 72 pour trafic sortant. Chaque file d'attente 43 de descripteurs et chaque file d'attente 41 de données de trafic sortant sont conçues pour émettre un signal indiquant le degré de remplissage de la file d'attente 41, 43 à l'interface 70 pour degré de remplissage de file d'attente, lequel signal est utilisé par le planificateur 76 à base de règles et le planificateur 30 de messages paramétriques pour sélectionner, parmi les files d'attente 43 de descripteurs par port pour trafic sortant, celle de laquelle doit être reçu le prochain descripteur. Avant la description du fonctionnement du SDA 18, une brève présentation des données utilisées dans tout le SDA 18 aidera à comprendre le fonctionnement du réseau de transmission 16 de données. Pour commencer, un PED 20 peut fournir une trame de données au SDA 18, la trame de données ayant au moins un identifiant et des données brutes correspondantes. Au moins une des interfaces physiques 22 pour trafic entrant et/ou le planificateur 24 de ports pour trafic entrant analyse la trame de données reçue afin de la diviser en un identifiant ou un descripteur analysé et des données brutes correspondantes analysées. Le descripteur analysé, qui peut être encore actualisé par le SDA 18, sert à identifier et décrire l'objet des données brutes, par exemple vers où les données doivent être émises ou d'où les données sont émises, tandis que les données brutes analysées contiennent les données utiles. Ensuite, le SDA 18 utilise le descripteur pour identifier l'emplacement des données brutes et peut construire ou calculer le descripteur et/ou les données brutes sous la forme de données de fonctionnement, ou un message, à consommer par un port 66, 72 pour trafic sortant.
Dans un exemple, les opérations du SDA 18 permettent de recevoir une trame de données d'un PED 20 à connexion asynchrone, de stocker les données brutes dans la mémoire du SCD 28, telle que la TVI 56 ou la mémoire tampon circulaire 54, de former un message à partir de la trame de données en mémoire et d'envoyer le message formé à au moins un terminal 32 d'abonné. De plus, il peut y avoir une fonction de bouclage direct qui sert de moyen pour que des trames construites par le constructeur paramétrique 31 apparaissent à un port pour trafic entrant en vue d'une commutation de trames. On, va décrire en détail différentes parties du SDA 18 et du fonctionnement du SDA 18. Fonctions de l'interface physique pour trafic entrant Tout d'abord, des données sont fournies à l'interface commune 22 pour trafic entrant à partir des PED 20 d'un ou de plusieurs port physiques 42 pour trafic entrant. L'interface physique 44 pour trafic entrant peut comprendre des composants, par exemple faisant partie des couplages 38 de données, aptes à convertir des données ou des signaux analogiques, fournis par un port physique particulier 42 pour trafic entrant, en un train de données ou une trame de donnée qui est stockée dans une file d'attente PEPS 40 de données de trafic entrant. Dans cet exemple, les couplages 38 de données peuvent exécuter les fonctions de trafic entrant suivantes : élimination des mots/trames/données endommagés ; validation d'élimination de trames de données non IP (par exemple, champ de type/longueur de données utiles non égal à 0x0800) ; horodatage de l'instant d'arrivée du premier octet de données ; et mise en file d'attente de trames de données en attendant leur transfert et leur traitement ultérieurs. Voici quelques données de sorties qui peuvent être produites lorsque la trame de données entre dans les files d'attente 40 des ports 42, 46 pour trafic entrant : un port d'arrivée (PdA), pour faire respecter le fait qu'une trame de données n'entre qu'à son port désigné 42, 46 pour trafic entrant ; un instant d'arrivée (IdA) du premier mot ; une impulsion d'un seul bit pour l'IdA d'une trame complète (pour l'enregistreur d'IdA 50 du planificateur 24 de port pour trafic entrant ; description plus loin) ; indicateurs de début de trame et de fin de trame pour délimitation de trame lors de la lecture de la trame ; et une longueur de trame en nombre d'octets.
A l'aide du paradigme de l'Ethernet pour une interface externe avec un PED 20, par exemple, le couplage 38 de données pour chaque port physique 42 pour trafic entrant ressemble à la section de réception d'un Contrôleur d'Accès au Support (MAC), logique auxiliaire pour générer, stocker et restaurer les paramètres mentionnés plus haut, connecté à une ou plusieurs files d'attente 40, par exemple une file d'attente PEPS 40 de données et une file d'attente PEPS 40 de descripteurs de trames. Il est envisagé que les ports pour trafic entrant ne soient pas constitués uniquement de ceux associés à des interfaces physiques externes 44 pour trafic entrant mais aussi à des interfaces virtuelles internes 48 ou pour trafic entrant, ainsi que ceux associés à la sortie des liaisons virtuelles 36, comme l'interopérabilité (p.ex. le système final virtuel 82, le constructeur paramétrique 31 de messages), les processeurs distribués 78 et le moteur de rendu graphique 80. A des fins de contrôle du bon état, des statistiques par port peuvent être actualisées par l'interface physique 44 pour trafic entrant ou par les couplages 38 de données. Ces statistiques peuvent comprendre le nombre de trames reçues, le nombre de trames éliminées à la suite, par exemple, d'erreurs lors d'un contrôle de redondance cyclique (CRC), le nombre de trames trop courtes (< 64 octets) éliminées et/ou un nombre de trames éliminées dont la taille dépasse la taille maximale autorisée au port. De même, des statistiques peuvent être actualisées par le limiteur 27, indiquant le nombre de trames acceptées et éliminées qui sont associées à un indice de flux particulier fourni au GDT 25 par le planificateur 24 de ports pour trafic entrant. Planificateur pour trafic entrant Le planificateur 24 de ports pour trafic entrant organise, dans un ordre PEPS, les données brutes reçues des interfaces physique et/ou virtuelle 44, 48 pour trafic entrant, en attendant l'arrivée d'une trame de données terminée. En ce sens, le moyen de commutation du SDA 18 peut être d'un type à stockage et émission, de façon que de grandes trames de données de diverses tailles puissent être stockées les unes à côté des autres en mémoire centrale, par exemple dans le SCD 28, après leur arrivée à différents ports 42, 46 pour trafic entrant. Il est envisagé que le SDA 18 fournisse un instant général qui peut être synchronisé ou non sur divers organes de l'aéronef, dont le SCD 28, la TVI 56, le PMP 30 et/ou des terminaux 32 d'abonnés, ou sur des multiples SDA 18 du réseau de transmission 16 de données. Le planificateur 24 de ports pour trafic entrant peut aussi commander éventuellement des fonctions de gestion de descripteurs de descripteurs de trames (GDT) où, par exemple, la trame de données peut être divisée en parties séparées comprenant un identifiant, ou un descripteur, et les données brutes correspondantes.
Enregistreur d'instant d'arrivée Le fonctionnement du planificateur pour trafic entrant peut également faire intervenir l'enregistreur d'IdA 50 et un ou plusieurs concentrateurs 52 à ports de trafic entrant. L'enregistreur d'IdA 50 détermine, d'après le signal d'instant général du SDA 18, quelle est la prochaine trame de données de port 42, 46 pour trafic entrant à stocker. Le concentrateur 52 à ports de trafic entrant canalise des trames de données ou des mots A429 arrivants vers au moins une de deux destinations de SCD 28 : l'une des mémoires tampons potentiellement nombreuses 54 (dans le cas de données du type en file d'attente) ou la TVI 56 dans le cas de données du type à échantillonnage (décrites plus loin). Par exemple, chaque fois qu'une trame de données ou un mot A429 finit d'arriver dans sa file d'attente 40 de ports physiques 42 pour trafic entrant, une impulsion d'un seul bit peut être envoyée à l'enregistreur d'IdA 50 du planificateur 24 pour trafic entrant afin d'enregistrer l'instant où la trame de donnée est complète. Il est possible que plusieurs courtes trames de données brutes arrivent à n'importe quel port donné 42, 46 pendant que des trames de données arrivées antérieurement sont en cours de transmission depuis les files d'attente 40 de données d'autres ports 42, 46. Pour cette raison, il est envisagé que l'enregistreur d'IdA 50 puisse utiliser, par exemple, un seul bit par trame de données par port 42, 46, mais qui représente exactement l'instant relatif de l'achèvement de la combinaison à tous les ports 42, 46. Les bits, qui représentent collectivement l'arrivée complète d'une trame à l'un quelconque des ports 42, 46 pendant un cycle d'horloge, peuvent être organisés sous la forme d'un mot d'instant d'arrivée (MIA). Chaque fois qu'une trame de données ou un mot A429 finit d'arriver à un port 42, 46 pour trafic entrant, elle peut faire basculer une ligne consacrée à ce port d'entrée 42, 46 et mettre à 1 un bit du MIA. De même, toute arrivée terminée pendant un cycle d'horloge peut provoquer l'inscription du MIA tout entier dans l'enregistreur d'IdA 50, en organisant les valeurs des MIA arrivants dans un ordre PEPS. Si, pendant un cycle d'horloge, il n'y a ni nouvelles trames de données ni achèvements de mots A429, aucun MIA n'est inscrit dans l'enregistreur d'IdA 50. Selon une autre possibilité, si des trames de données ou des mots A429 finissent simultanément d'arriver à de multiples ports pendant le même cycle d'horloge, plusieurs bits du MIA inscrit dans l'enregistreur d'IdA 50 peuvent être mis à 1. Le concentrateur 52 à ports pour trafic entrant reçoit le mot MIA le plus ancien disponible à la sortie de l'enregistreur d'IdA 50 afin de déterminer quelle trame de données ou quel mot A429 a fini d'arriver le premier. Ainsi, le concentrateur 52 à ports pour trafic entrant sert de sélecteur de port qui détermine de quel port 42, 46 pour trafic entrant relèvera la prochaine trame de données traitée et transmise au SCD 28. Il se peut que des trames ou des mots aient fini d'arriver au même instant à différents ports dans les limites définies par un cycle d'horloge et que le MIA reçu de l'enregistreur d'IdA 50 ait de multiples bits mis à 1. Dans le cas, le planificateur 24 pour trafic entrant desservira tous les ports dont les trames de données sont complètement arrivées au même instant, par exemple à tour de rôle, avant que le mot MIA suivant ne soit reçu de la sortie de l'enregistreur d'IdA 50. Ce fonctionnement peut garantir une équité dans le débit de données pour tous les ports 42, 46 pour trafic entrant, quel(s) que soi(en)t leur débit d'arrivée de données et/ou leur taille de trame de données.
Concentrateurs à ports pour trafic entrant Il peut y avoir trois concentrateurs 52 à ports de trafic entrant pour le planificateur 24 de ports pour trafic entrant. Par exemple, un premier concentrateur 52 à ports pour trafic entrant concentre les trames Ethernet, ou les données brutes, analysées pour les inscrire dans une ou plusieurs mémoires tampons circulaires 54, leurs informations de stockage et leur identifiant de flux étant fournis à la TCD 26 et au limiteur 27, ce qui peut aboutir à ce qu'un descripteur soit inscrit dans des files d'attente 43 de descripteurs par le DMD 29 et soit desservi par le planificateur 76 à base de règles au moment où ces actions pour prévues par le PMP 30. Un deuxième concentrateur 52 peut concentrer dans la TVI 56 des trames Ethernet, de données brutes et/ou des mots A429 en vue de leur utilisation ultérieure par le PMP 30 et/ou le CMP 31. Un troisième concentrateur 52 peut concentrer des données brutes et/ou des mots A429 (p.ex. ceux porteurs de messages multimots) dans une ou plusieurs mémoires tampons circulaires 54 organisée(s) dans l'ordre PEPS afin de préserver l'ordre chronologique d'échantillons de données brutes et/ou l'ordre des mots A429. C'est ce qu'on appellera ici des files d'attente de sortie d'A429. Une fois qu'un port particulier pour trafic entrant est sélectionné pour être desservi par l'enregistreur d'IdA 50, le concentrateur 52 à ports pour trafic entrant coordonne la transmission de données brutes analysées du port pour trafic entrant sélectionné 42, 46 à la TVI 56 et/ou aux mémoires tampons 54 du SCD 28 et/ou du GDT 25. Gestionnaire de descripteurs de trames L'en-tête de trame, la longueur de trame, l'IdA et le PdA générés par les fonctions de l'interface physique 44 pour trafic entrant sont utilisés par le GDT 25 afin de créer un descripteur pour une trame de données et diffusent ce descripteur à l'ensemble de files d'attente 43 de descripteurs par port pour trafic sortant. Le GDT 25 peut aussi recevoir un pointeur d'en-tête de trame (EdTpointeur, pour identifier l'adresse des données analysées) et l'instant de stockage de trame (IdST, pour savoir combien de temps les données analysées peuvent être stockées d'une façon acceptable) de chaque trame Ethernet ou mot A429 inscrit dans le SCD 28. Il y a deux trajets d'acheminement différents utilisés par le DMD 29 pour la distribution de descripteurs, un pour les trames Ethernet et un pour les mots de données A429. De plus, il y a un descripteur différent pour chacun de ces trajets. Le gestionnaire de descripteurs de trames GDT consiste en une table de consultation de descripteurs (TCD) 26, un limiteur 27 et le distributeur multidiffusion de descripteurs (DMD) 29 qui permet au même descripteur d'être inscrit dans de multiples files d'attente 43 de descripteurs par port pour trafic sortant. Le DMD 29 est commandé par un ensemble de bits, délivrés par la TCD 26, qui identifient dans quelles files d'attente 43 de descripteurs par port pour trafic sortant doit être inscrit un descripteur. Table de consultation de trafic entrant La table de consultation de trafic entrant peut être incluse dans le planificateur 24 de ports pour trafic entrant et servir à identifier des flux de données et à attribuer un indice exclusif à chaque flux apparaissant à l'un des ports 42, 46 pour trafic entrant. Cet indice sert d'identifiant de flux pour diverses fonctions de stockage et de commande de trajets de données. Par exemple, l'indice sert de clef pour que la TCD 26 extraie des paramètres de limitation et pour l'acheminement de bits qui indiquent dans quelles files d'attente 43 le DMD 29 peut stocker le descripteur de trame. L'indice sert aussi à extraire une adresse pour l'endroit où stocker des données de trame dans le SCD 28 ; par exemple, il peut servir à extraire et stocker la toute dernière adresse de décalage de la mémoire tampon circulaire 54. La table de consultation de trafic entrant peut comprendre une mémoire vive, une logique et une mémoire de hachage, ou une mémoire adressable par le contenu (CAM) dont la sortie, l'indice ou la clef du flux, est déterminé par le nombre de ports et les bits sélectionnés de la trame de données reçue. Par exemple, sur une base par port physique Ethernet, une option de configuration peut être prévue pour indiquer quels bits de l'en-tête UDP/IP/MAC identifient un type de flux de données. Selon une autre possibilité, un flux de données ARINC 429 peut être identifié par le nombre de ports physiques pour données ARINC 429 entrantes, concaténé avec le marqueur de 8 bits du mot ARINC 429. Cet indice de flux peut aussi assurer une protection à sécurité intrinsèque contre l'usurpation d'identité ou l'altération de données. Par exemple, le signal de sortie de la TCD 26 peut contenir un champ qui indique le port d'arrivée prévu (PdAP) pour une trame. Une vérification peut être faite par rapport au nombre réel de ports auxquels est arrivée cette trame, qui est indiqué par l'interface physique 44 pour trafic entrant. S'ils ne concordent pas, la trame peut être éliminée. Pour les interfaces ARINC 429, le marqueur A429 et le nombre de ports sont concaténés et servent à accéder à une table de consultation séparée dont le signal de sortie peut être l'indice de flux.
A l'aide de l'indice de flux, l'emplacement initial et la longueur de trame sont fournis pour les fonctions d'écriture du SCD 28 de façon que le contenu de la nouvelle trame de données puisse être écrit, en commençant à l'adresse de base correcte pour le nombre approprié d'emplacements dans le SCD 28.
L'identifiant de flux accède à une table de paramètres d'acheminement, de limitation et de stockage stockée dans la TCD 26. Les champs binaires de sortie de cette TCD 26 peuvent avoir différentes interprétations, en fonction de la source de données et de l'endroit où elle doit être stockée. Les trames Ethernet peuvent être stockées dans une mémoire tampon circulaire 54 ou dans la région de TVI 56 du SCD 28. Les mots de données A429 peuvent être stockés dans la TVI 56 et/ou être envoyés directement dans l'une de 48 files d'attente A429 de trafic sortant. Les messages multimots A429 ne peuvent pas être stockés dans la TVI 56, à moins que le terminal 32 d'abonné à destination ne dispose d'un procédé pour empêcher une création d'alias temporels de messages A429 dos à dos ou le filtrage de mots dupliqués appartenant au même message A429.
Dans un exemple, le signal de sortie de la TCD 26 sélectionné par l'indice de flux peut comprendre toute combinaison d'éléments suivants : adresse de base de mémoire tampon du SCD 28 plus un bit pour indiquer si cette adresse de base désigne un emplacement dans la TVI 56 ; identifiant de mémoire tampon circulaire 54 ; taille de la mémoire tampon circulaire 54 ; identifiant (IDcmptLV) de liaison virtuelle (LV ; p.ex. le port virtuel 72 pour trafic sortant) ; champ de 1 bit qui indique s'il s'agit d'un descripteur de mot ARINC 429 ; vecteur binaire de masque de port, qui indique quels ports 66, 72 pour trafic sortant reçoivent la trame ; champ binaire, qui indique la priorité de la file d'attente 41 de descripteurs par port pour trafic sortant dans laquelle doit être inscrit le descripteur ; écart dans l'attribution de bande passante (EAB) A664p7 pour une limitation reposant sur la trame ; bit de rejet de limitation et bit de contournement de limitation ; et tolérance de gigue (Tgigue) pour limiter en fonction des trames une longueur maximale de trames (Tmax) ou une longueur de trames dans la TVI 56 en fonction d'une valeur du bit précité d'emplacement dans la TVI. Les fonctions de commande d'écriture dans le SCD 28 contribuent à deux types d'opérations d'écriture : une opération d'écriture dans la TVI 56 et une opération d'écriture dans la mémoire tampon circulaire 54. Le signal de sortie de la TCD 26 a un bit d'emplacement dans la TVI pour indiquer si la valeur dans le champ d'adresse de base est un emplacement dans la TVI 56 (par exemple, si le bit d'emplacement dans la TVI est à 1). Pour tout indice de flux donné qui indique une opération d'écriture de la TVI 56, les trames inscrites dans la TVI 56 doivent toujours être de la même taille. Le bit d'emplacement dans la TVI 56 décide également si la valeur dans le champ Tmax est la longueur fixe de la trame dans la TVI 56 ou la taille maximale de trame (Tmax) d'une trame à longueur variable que le limiteur 27 doit faire respecter en cas de trame non présente dans la TVI 56. Pour une trame dans la TVI 56, si la taille de trame calculée par la fonction de l'interface physique ne concorde pas exactement avec la valeur dans le champ Tmax, la trame dans la TVI 56 peut être éliminée. De même, pour une trame non présente dans la TVI 56, si la taille de la trame est supérieure à Tmax, la trame peut être éliminée. Dans le cas d'une opération d'écriture dans la TVI 56, l'emplacement et la longueur de la trame sont prédéterminés ou statiques. Les valeurs dans la trame la plus récemment reçue écrasent simplement les valeurs existant dans la trame précédemment reçue. Les données de sortie de la TCD 26 constituent directement l'adresse et la longueur de base de la trame à inscrire dans la TVI 56. L'inscription, ou non, des données dans la mémoire de la TVI 56 est déterminée ou limitée par son PdA, c'est- à-dire par le fait que l'indice de flux déterminé par la table de consultation de trafic entrant du planificateur 24 de ports pour trafic entrant est autorisé, ou non, à arriver à un port physique donné pour trafic entrant. Un flux non admis à un port physique 42 pour trafic entrant ne peut pas être autorisé à altérer la mémoire de la TCI 56, son inscription dans la TCI 56 étant empêchée. En outre, comme indiqué plus haut, si la longueur de trame calculée par l'interface physique 44 pour trafic entrant ne concorde pas avec le champ Tmax, la trame peut être éliminée.
On notera qu'il est possible de dupliquer des trames Ethernet contenant des données de ports d'échantillonnage inscrites dans la TVI 56 de façon que d'autres SDA 18 puissent stocker ou dupliquer ces données. Cette duplication peut être accomplie, par exemple, en fournissant un message à un port physique 66 pour trafic sortant connecté à un autre SDA 18. Selon une autre possibilité, la duplication de données à l'aide d'un dispositif de stockage centralisé de données, lequel, par exemple, peut être accessible à tous les SDA 18 sous la forme d'un port virtuel 46, 72 de trafic entrant ou sortant. Un exemple en est représenté sous la forme de la liaison virtuelle 36 à la mémoire de stockage de masse 84 du réseau. Il est également possible de stocker des mots A429 à un emplacement dans la TVI 56 et de les inscrire dans une ou plusieurs des files d'attente 41 de sortie de mots A429. Cependant, un mot A429 arrivant à l'une des liaisons A429 pour trafic entrant ne peut pas sortir d'un port Ethernet, à moins qu'il ne soit d'abord inséré dans une trame Ethernet à l'aide du CMP 31 (décrit plus loin). Si les données de sortie de la TCD 26 indiquent que l'opération d'écriture est une opération d'écriture dans la mémoire tampon 54 (par exemple, si le bit de l'emplacement dans la TVI est à 0, ce qui indique une trame non présente dans la TVI 56), la trame peut alors être inscrite à l'emplacement disponible suivant dans la mémoire tampon circulaire 54, déterminé, par exemple, par une adresse de base en mémoire circulaire, obtenue dans un champ de la sortie de la TCD 26, et par une table de décalage en mémoire tampon circulaire, actualisée par le planificateur 24 de ports pour trafic entrant. L'adresse de base et l'adresse de décalage peuvent servir à localiser l'emplacement suivant destiné à faire l'objet d'une inscription dans la mémoire circulaire 54.
Chaque adresse de base dans la mémoire tampon circulaire 54 est déterminée par le champ d'adresse de base en mémoire de la sortie de la TCD 26. Un autre champ de la TCD 26 indique la taille de la mémoire tampon circulaire. L'adresse de tout mot de données inscrit dans la mémoire tampon circulaire 54 est la somme de l'adresse de base dans la mémoire tampon circulaire 54 et du décalage dans la mémoire tampon circulaire. Le décalage dans la mémoire tampon circulaire est incrémenté modulo la taille de la mémoire tampon circulaire 54 après chaque mot inscrit, tandis que l'adresse de base en mémoire tampon circulaire reste fixe. Après que le dernier mot d'une trame de données ou un mot A429 a été inscrit dans la mémoire tampon circulaire 54, l'adresse de décalage de l'emplacement suivant est enregistrée à l'emplacement dans la table de décalage en mémoire tampon circulaire indiqué par l'indice de flux et est rendue accessible comme décalage initial de la trame suivante inscrite dans cette mémoire tampon circulaire 54. Bien que les formes de réalisation de l'invention ne soient pas limitées, la forme de réalisation illustrée peut avoir jusqu'à 256 mémoires tampons circulaires d'une capacité de 8 K. A titre d'exemple, cela peut permettre la création d'une mémoire tampon circulaire 54 pour chaque port physique 42, 66 pour trafic entrant et/ou sortant. Selon un autre exemple, une mémoire tampon circulaire 54 peut être créée pour chaque indice de flux. Selon encore un autre exemple, chaque mémoire tampon circulaire 54 peut représenter une série de ports virtuels de sortie ou de lignes réseau virtuelles. Une "ligne réseau" est associée à un ensemble de ports virtuels pour trafic sortant. Une correspondance peut être établie entre ces ports virtuels et n'importe quel ensemble de ports physiques 66 pour trafic sortant ou avec le port virtuel de sortie 72. Par exemple, la même application avionique ARINC 653 (A653) peut, pour des raisons de disponibilité, être présente dans de multiples éléments remplaçables en escale (LRU), par exemple une application qui traite des données aérologiques. Ceux-ci peuvent être connectés à différents ports physiques 66 pour trafic sortant du SDA 18. Cependant, tous les exemples de l'application peuvent être conçus pour former un seul groupe de lignes réseau de façon qu'elles partagent la même mémoire tampon circulaire 54 afin d'isoler complètement ses besoins en données et bande passante par rapport à celles d'autres applications A653. Ainsi, ce niveau de granularité permet l'attribution d'une mémoire tampon circulaire 54 par application A653 (distribuée). Chaque fois que des données sont inscrites dans une mémoire tampon circulaire 54, la fonction de distribution multidiffusion de descripteur duplique un descripteur, lequel indique l'emplacement de stockage de la trame de données correspondante dans la mémoire tampon 54. De plus, le planificateur 76 à base de règles et/ou le PMP 30 peut/peuvent mettre en oeuvre une fonction de planification de trafic sortant qui assure que chaque port physique 66 pour trafic sortant reçoive une copie de la trame s'il a été prévu qui le fasse.
Dans la configuration illustrée, seulement trois mémoires tampons circulaires 54 sont utilisées. Celles-ci sont attribuées en associant, à une mémoire tampon circulaire commune 54, des ports physiques 55 pour trafic sortant ou des terminaux 32 d'abonné ayant les mêmes débits de données. Cela permet l'utilisation la plus efficace (mémoire partagée) de la mémoire tampon centrale pour des trames de données du type à mise en file d'attente selon A664p7. Dans cette configuration, tous les ports physiques 66 pour trafic sortant de 10 Mbps peuvent former un premier groupe de lignes réseau (mémoire tampon circulaire 60 à 10 Mbps), tous les ports physiques 66 pour trafic sortant de 100 Mbps peuvent former un autre groupe de lignes réseau (mémoire tampon circulaire 62 à 100 Mbps) et tous les ports physiques 66 pour trafic sortant de 1000 Mbps (1 Gbps) peuvent former un groupe de lignes réseau (mémoire tampon circulaire 64 à 1 Gbps). Bien qu'il y ait trois mémoires tampons circulaires 60, 62, 64 et bien qu'une trame de données puisse être destinée à des ports physiques 66 pour trafic sortant ayant des débits de données différents, le SCD 28 ne stockera qu'une seule copie d'une trame. La mémoire tampon circulaire 60, 62, 64 dans laquelle est inscrite une trame correspond au débit de données du port physique 66 le plus lent pour trafic sortant dans lequel cette trame doit être dupliquée. Pour simplifier, dans la suite du présent document, il sera supposé qu'il y a une mémoire tampon circulaire 54 par ensemble de ports physiques 66 pour trafic sortant ayant le même débit de données de trafic sortant : 10 Mbps 60, 100 Mbps 62 ou 1 Gbps 64. Fonction de limitation Les fonctions de limitation sont exécutées par un limiteur 27 qui peut être un pipeline logique matériel spécifique dans le GDT 25 commandé par une machine d'état. Les fonctions du limiteur 27 dépendent de ce que les données entrantes sont un mot de données A429 ou une trame Ethernet. Le limiteur 27 prend une décision qui détermine si un descripteur de trame Ethernet est autorisé à être communiqué au distributeur multidiffusion de descripteurs 29 et si les données entrantes sont autorisées à être stockées dans la TVI 56 ou dans une région de mémoire tampon circulaire 54 du SCD 28. Par définition, une trame ARINC 429 ne produit aucun descripteur de trame Ethernet pour le distributeur multidiffusion de descripteurs 29. Dans le cas présent, le planificateur 24 de ports pour trafic entrant peut fournir un descripteur séparé pour un trajet de données séparé qui évite le SCD 28. Dans un autre cas, le limiteur 27 peut déterminer si un mot de données A429 peut être stocké dans la TVI 56. Pour des trames de données dont le stockage dans la TVI 56 est prévu, si la longueur des trames n'est pas égale à la longueur de trames prévue, la trame est éliminée. Aucune limitation d'EAB ni de tolérance de gigue n'a à être appliquée. Pour les trames de données dont le stockage dans une mémoire tampon circulaire 54 et la limitation sont prévus, le limiteur 27 exécute une consultation secondaire à l'aide de l'IDcmptLV de la TCD 26 afin de déterminer l'instant d'arrivée d'une trame précédente ayant cet IDcmptLV pour appliquer des contraintes d'EAB et de tolérance de gigue. Si le PdAP de la trame ne concorde pas avec le PdA ou si la longueur de trame dépasse la longueur maximale Tmax de trame prévue pour la liaison virtuelle (LV), ou s'il y a une violation de l'EAB/de la tolérance de gigue, le limiteur 27 peut désactiver la distribution multidiffusion du descripteur de trame concerné et empêcher l'inscription de la trame dans le SCD 28. La limitation de l'EAB et de la tolérance de gigue trame par trame dans le limiteur 27 peut servir à assurer que le débit maximal global de données entrant dans une mémoire tampon circulaire 54 est inférieur à celui nécessaire pour assurer la durée de vie minimale requise pour le port (éventuellement virtuel) le plus lent recevant des données issues de cette mémoire tampon. La limitation de l'EAB et de la tolérance de gigue trame par trame peut aussi servir à assurer qu'aucun port 66, 72 pour trafic sortant dans le réseau de transmission de données 16 ne dépasse la bande passante et la latence qui lui sont allouées. Si le limiteur 27 détermine que le débit maximal de données configuré pour un IDcmptLV donné a été dépassé, c'est-à-dire que l'EAB ou la tolérance de gigue n'est pas respectée, il peut empêcher l'inscription d'un descripteur dans les files d'attente 43 de descripteurs par port pour trafic sortant et, de ce fait, empêcher la transmission d'une trame à des terminaux physiques 32 d'abonné. A titre d'exemple, le limiteur 27 peut utiliser six valeurs obtenues dans la TCD 26 : bits de commande (Ctrl), IDcmptLV, port d'arrivée prévu (PdAP), et la taille maximale (Tmax) de trame, l'écart dans l'attribution de bande passante (EAB) et la tolérance de gigue (Tgigue) pour déterminer si un descripteur de trame Ethernet est autorisé à être transmis à la fonction de distribution multidiffusion de descripteurs et si les données entrantes sont autorisées à être stockées dans le SCD 28. A664p7 autorise le fait que de multiples liaisons virtuelles (LV) appartiennent au même compte de LV, c'est-à-dire aient le même IDcmptLV et, de la sorte, soient conjointement limitées à l'aide de la Tmax de l'EAB et de la Tgigue configurés pour cet IDcmptLV. Le limiteur 27 obtient du planificateur 24 pour trafic entrant le port réel d'arrivée (PdA), l'instant d'arrivée (IdA), l'instant immédiat (T) et une indication d'arrivée de trame, le planificateur comprenant un gestionnaire d'horodatage qui enregistre l'instant immédiat T.
Distribution multidiffusion de descripteurs Le distributeur multidiffusion de descripteurs (DMD) 29 utilise une série de bits de masques de ports délivrée par la TCD 26 afin de déterminer dans quel ensemble de files d'attente 43 de descripteurs par port pour trafic sortant doit être inscrite une copie du descripteur de trame. Une seule copie du descripteur est écrite pour chaque port 66, 72 destiné à recevoir une copie d'une trame à extraire d'une mémoire tampon circulaire 54 par le PMP 30. Quand le PMP 30 planifie le fonctionnement du planificateur 76 à base de règles pour un port particulier 66 pour trafic sortant, il sélectionne une file d'attente 43 de descripteurs par port pour trafic sortant, dont le signal de sortie peut servir à extraire une trame du SCD 28 et à la transmettre au port physique 66 pour trafic sortant. On peut noter que les trames Ethernet et les mots de données A429 stockés dans la TVI 56 ne dépendent pas du DMD, car leur distribution est commandée par le PMP 30 et le CMP 31 (décrit plus loin). Le descripteur fourni par le DMD 29 pour une trame de données commutée peut comprendre l'emplacement du premier mot de la trame (EdTpointeur), l'instant de stockage de trame (IdST), la longueur de trame, la priorité (P) et le masque de port. A l'aide du masque de port et de la priorité que le DMD 29 a reçus de la TCD 26, le DMD 29 produit un bit par priorité de port pour trafic sortant afin d'indiquer quelles files d'attente 43 de descripteurs de ports pour trafic sortant sont destinées à accepter une copie de descripteur de trame de données commutée et la priorité de la file d'attente 43 dans laquelle ce descripteur est destiné à être placé. Ce mécanisme peut servir, par exemple, à assurer qu'une copie de chaque trame de données paramétriques non reçue d'un SDA 18 est dupliquée dans un autre SDA 18. Inversement, si une trame de données paramétriques est reçue d'un autre SDA 18, elle peut être stockée dans la TVI 56 locale mais non être redistribuée à d'autres SDA 18 grâce à la mise à zéro de chaque valeur binaire de masque de port correspondant à un port pour trafic sortant connecté à un SDA (c'est-à-dire par un échec d'identification d'un port 66, 72 pour trafic sortant). En mettant à zéro chaque valeur binaire de masque de port correspondant à un port pour trafic sortant connecté à un SDA, le message peut être empêché de se propager indéfiniment parmi de multiples SDA 18, ce qui risque de conduire à une surcharge de bande passante sur le réseau de transmission de données 16. Les trames porteuses de données paramétriques (p.ex. une trame Ethernet avec des valeurs A/N, des mots ARINC 429, la valeur d'un/de bit(s) discret(s), etc.) peuvent être stockées à des emplacements spécifiques prédéterminés dans la région de la TVI 56 du SCD 28. Dans un aéronef classique, il peut y avoir de 2 à 4 SDA 18, qui comprennent un mécanisme pour donner à chaque SDA 18 la possibilité de dupliquer le contenu de l'autre SDA 18 dans la cellule. Un descripteur pour chaque trame paramétrique inscrite dans la TVI 56 (mais non reçu d'un autre SDA 18) peut être dupliqué dans la file d'attente 43 la plus prioritaire de descripteurs par port pour trafic sortant de chaque port 66, 72 pour trafic sortant connecté à un autre SDA 18. La discipline de desserte du planificateur 76 à base de règles assurera que tous SDA compagnons 18 recevront une copie de la trame la plus récente, comme décrit plus loin. Fonctions de commande d'écriture du serveur central de données En même temps que le DMD 29, si le limiteur 27 laisse passer une trame destinée au SCD 28, elle est stockée dans la mémoire tampon circulaire 54 ou la TVI 56. Les données d'entrée de la fonction de commande d'écriture du SCD 28 peuvent comprendre l'instant de stockage de trame (IdST), la longueur de trame d'après la fonction de l'interface physique 44 pour trafic entrant, plus un emplacement de mémorisation dans une mémoire tampon circulaire 54 ou dans la TVI 56 à partir du planificateur 24 de ports pour trafic entrant et de la TCD 26. L'emplacement de mémorisation dans une mémoire tampon circulaire 54 ou dans la TVI 56 devient la valeur initiale de compteur d'adresses et devient le pointeur d'en-tête de trame (EdTpointeur) fourni au DMD 29 pour être inclus dans le descripteur de la trame. Les EdT, servant à vérifier les trames lors de leur extraction, peuvent être stockés comme premier mot appartenant à la trame dans la mémoire du SCD 28 et tous les mots de données des trames ultérieures continuent à être inscrits un seul à la fois, par exemple sous la forme de soixante-quatre bits de données plus un CCE, le compteur d'adresses étant incrémenté après chaque inscription. La commande d'écriture compare le nombre d'écritures d'octets effectuées avec la longueur de trame obtenue de l'interface physique 44 pour trafic entrant. Cela continue jusqu'à l'écriture du dernier mot. Le dernier mot écrit peut ne pas être un mot complet de 64 bits, auquel cas le dernier mot peut venir compléter 64 bits d'informations, avec un CCE valable. Comme illustré, la fonction de commande d'écriture dans le SCD 28 peut être configurée pour trois mémoires tampons circulaires différentes 60, 62, 64 respectivement consacrées au stockage de trames destinées à des ports 66, 72 pour trafic sortant de 10 Mbps, 100 Mbps ou 1 Gbps. Il ne peut jamais être stocké qu'une seule copie de trame tandis que de multiples copies du descripteur se rapportant à la trame peuvent être multidiffusées vers des files d'attente 43 de descripteurs par port pour trafic sortant. La mémoire tampon circulaire 60, 62, 64 dans laquelle peut être stockée une trame dépend du port le plus lent 66, 72 pour trafic sortant dans lequel cette trame doit être copiée/multidiffusée. Les trames successives stockées dans chacune de ces mémoires tampons circulaires 60, 62, 64 sont stockées d'une manière contiguë dans la mémoire tampon 60, 62, 64, les mots de la trame la plus ancienne étant écrasés par les trames les plus récentes. Quand des données sont inscrites dans une mémoire tampon circulaire 60, 62, 64, la longueur de la trame est déterminée par le nombre d'octets comptés pour cette trame par la fonction de l'interface physique 44 pour trafic entrant (p.ex. l'entrée LongueurTrame). Dans un système déterministe correctement conçu, il est envisagé que ne doive jamais se produire, dans la mémoire tampon circulaire 60, 62, 64, un écrasement prématuré d'une trame dont la multidiffusion vers tous ses ports 66, 72 pour trafic sortant n'a pas été terminée. Néanmoins, un écrasement peut facilement être détecté par un décalage de l'horodatage IdST de 64 bits, qui fut le premier mot écrit dans l'en-tête de la trame dans le SCD 28, la valeur d'IdST étant incluse dans le descripteur inscrit dans des files d'attente 43 par le DMD 29. En cas de décalage, la trame peut être éliminée. Des contrôles supplémentaires peuvent être effectués pour vérifier que le descripteur servant à extraire une trame du SCD 28 n'est pas en train de lire un emplacement écrasé par une autre trame. Par exemple, en incluant des bits d'en-tête de trame supplémentaires dans le descripteur inscrit dans des files d'attente 43 et stockés avec la trame de données dans le SCD 28, par exemple, l'adresse MAC de destination peut être vérifiée. Un bit de la TCD 26 indique si, oui ou non, les données analysées appartenant à la trame de données sont en train d'être inscrites à un emplacement dans la mémoire statique de la TVI 56, lequel est réservé à des données du type à échantillonnage, ou dans une mémoire tampon circulaire 60, 62, 64. Quand le bit d'emplacement dans la TVI 56 est mis, par exemple, à un, l'adresse de base dans le SCD 28 indique un emplacement dans la TVI 56, et la valeur de Tmax/TailleTrame est interprétée comme étant la taille de trame préconfigurée à stocker en commençant à cette adresse de base. Dans cet exemple, la longueur de trame est fixe et les fonctions de limitation du planificateur 24 de ports pour trafic entrant ne permettront pas l'écriture des données analysées, à moins que la longueur de trame indiquée par la fonction d'interface pour trafic entrant ne concorde exactement avec la longueur de trame indiquée par l'ILUT. Cela peut empêcher une création potentielle d'alias intertrame de données dans la TVI 56 en cas d'erreur dans la taille d'une trame reçue. L'adresse de base est chargée sous une forme préétablie dans un compteur d'adresses et une inscription dans le SCD 28 est effectuée jusqu'à ce que soit atteinte la taille de trame indiquée par la valeur de Tmax/TailleTrame extraite de la TCD 26. Pour une protection contre des valeurs périmées stockées dans la TVI 56, aux trames paramétriques Ethernet stockées dans la TVI 56 est adjointe une valeur de temps de 64 bits, laquelle est stockée dans la TVI 56 à la suite du dernier mot de la trame de données analysée. Ces trames de données paramétriques, en plus d'être stockées dans la TVI 56, sont dupliquées dans d'autres SDA 18. Par conséquent, il peut être nécessaire que des ports physiques 42 pour trafic entrant qui sont connectés à d'autres SDA 18 soient identifiés prioritairement afin que, si la trame de données paramétriques n'est pas arrivée d'un autre SDA 18, une copie du descripteur puisse être multidiffusée vers la file d'attente 43 la plus prioritaire de descripteurs par port pour trafic sortant d'un port physique 66 pour trafic sortant connecté à d'autres SDA 18. Autrement dit, si une trame de données plus actualisée arrive dans un SDA 18 en provenance d'une source différente d'un SDA (notamment un PED 20), une copie de ce descripteur peut être multidiffusée vers la file d'attente la plus prioritaire de chaque port physique 66 pour trafic sortant de façon que la trame de données soit susceptible d'être dupliquée le plus rapidement possible par des SDA supplémentaires 18. Inversement, si la trame de données arrivée d'un autre SDA 18, les bits de masques de ports de la multidiffusion de descripteurs peuvent être effacés pour assurer que le descripteur ne soit pas redistribué à un port physique 66 pour trafic sortant destiné à un SDA 18 afin d'empêcher une réplication sans fin de ces données sur une boucle infinie. Des trames de données ARINC 429 n'appartenant pas à un message multimot peuvent être inscrites dans la TVI 56 pour être groupées en messages paramétriques par le PMC 31. ARINC 429 prescrit un mot de données de 32 bits, quoique chaque emplacement dans la TVI 56 du SCD 28 soit un mot de 64 bits plus 8 bits de CCE. Pour une protection contre des valeurs périmées de mots A429 dans la TVI 56, chaque mot A429 est horodaté avec les 32 bits de poids fort de temps (le bit de poids faible étant de 216 microsecondes). Ainsi, chaque mot A429 stocké dans la TVI 56 a 32 bits de temps comme bits de poids fort et le mot A429 de 32 bits comme bits de poids faible.
Mémoire de serveur central de données Le SCD 28 peut, par exemple, utiliser des mémoires à quadruple débit de données (QDR) qui ont une faible capacité en comparaison d'une mémoire à double débit de données (DDR). Comme une mémoire à DDR, elles sont synchrones et peuvent être protégées contre les CCE, mais la plupart assurent un accès simultané à l'écriture et à la lecture, ayant un port de données de lecture/écriture à DDR et un port d'adresses de lecture à DDR indépendants. Ces mémoires ont été spécifiquement conçues pour des applications à commutation de données. Dans le SDA 18, pour respecter des objectifs de débit, les mémoires du SCD 28 peuvent être synchronisées, par exemple, à 250 MHz. Par exemple, une mémoire à QDR ayant des doubles ports de données à DDR de 38 bits de large a une bande passante suffisante pour permettre 16 Gbps de données en duplex intégral. D'autres vitesses de mémoire possibles sont envisagées en fonction des besoins de données ou du débit nécessaire. Bien que le SCD 28 puisse être conçu avec jusqu'à 256 mémoires tampons circulaires 54, le SCD 28 représenté est organisé avec trois mémoires tampons circulaires 60, 62, 64 plus une TVI 56. Chaque mémoire tampon circulaire 60, 62, 64 est réservée au stockage de données, tandis que la TVI 56 contient des données paramétriques analysées, des en-têtes et des listes d'adresses qui serviront à construire des messages individualisés par le SDA 18, comme décrit plus loin. Dans le cas où il y a 3 mémoires tampons circulaires, dans le présent exemple pour le stockage de données à 1 Gbps, 100 Mbps et 10 Mbps, la mémoire tampon circulaire dans laquelle est placée une trame dépend du port le plus lent vers lequel une trame est multidiffusée. Pour tout ensemble de ports groupés sur la base d'un même débit de trafic sortant, le SCD 28 doit avoir un stockage suffisant au débit global de données des ports (à savoir 10 Mbps, 100 Mbps, 1 Gbps) pour disposer du temps qu'il lui faut pour consommer 512 trames à ce débit. Par exemple, le SCD 28 peut présenter 2 Mo de stockage pour la TVI 56 tout en permettant une attribution souple pour la taille de la mémoire tampon circulaire 60, 62, 64 réservée à chacun des débits de données pour trafic sortant, laquelle peut en outre être ajustée en fonction du nombre de mémoires tampons circulaires 54, du nombre de ports 42, 46, 66, 72 pour trafic entrant ou sortant configurés à ce débit, du délai de conservation souhaité des trames de données analysées et de la durée de vie requise des trames contenues dans cette mémoire tampon. A titre d'exemple, l'attribution par défaut peut être de 24 Mo par mémoire tampon circulaire 60, 62, 64. Pour chaque mémoire tampon circulaire 60, 62, 64, le délai de conservation peut être de 8*24M (VitessePort*nombre de ports). Par exemple, une mémoire tampon circulaire de 24 Mo assure un délai de conservation supérieur à 20 secondes divisées par le nombre de ports 42, 46 pour trafic entrant à débit de 10 Mbps, 2 secondes divisées par le nombre de ports 42, 46 à débit de 100 Mbps ou 0,2 seconde divisée par le nombre de ports 42, 46 à débit de 1 Gbps. La capacité de chaque mémoire tampon circulaire peut, s'il y a lieu, être configurable.
Tout débit de ligne non utilisé à l'un quelconque des ports 42, 46, 66, 72 pour trafic entrant ou sortant assure un délai de conservation résiduel pour tous les ports partageant cette mémoire tampon. Pour la commutation de trames, une mémoire tampon circulaire 60, 62, 64 peut supprimer la nécessité d'établir des tailles de blocs fixes pour les trames de données analysées et la nécessité d'un suivi des attributions de mémoires tampons inoccupées, ce qui, sinon, ferait courir à tout le SDA 18 un risque de fuite de mémoire due à des événements singuliers d'inversion (SEU). On pense que les SEU sont provoqués par des particules subatomiques telles que des neutrons, dont la fréquence d'occurrence augmente avec l'altitude, et qui peuvent altérer des valeurs stockées en mémoire, voire la logique. En cas de débordement d'une mémoire tampon circulaire, les données les plus récentes écrasent les anciennes.
Toutes les files d'attentes PEPS 40 dans le SDA 18 peuvent aussi utiliser le paradigme de la mémoire tampon circulaire 54. De la sorte, une correction de tout SEU qui altère les pointeurs de lecture et d'écriture des mémoires tampons circulaires 60, 62, 64 est garantie dans les délais nécessaires à l'écrasement de tout le contenu de la mémoire tampon 60, 62, 64. Planification de trafic sortant La fonction de planification de trafic sortant du PMP 30 détermine quelles données sont extraites du SCD 28 et quel port 66, 72 pour trafic sortant les reçoit. La fonction de planification de trafic sortant est déterminée par quatre principaux composants fonctionnels : les files d'attente 43 de descripteurs par port pour trafic sortant, le PMP 30, le constructeur de messages paramétriques 31 et un arbitre de trafic sortant tel que le planificateur 76 à base de règles. Le planificateur 76 à base de règles fonctionne suivant les quatre files d'attente hiérarchisées 43 pour chaque port 66, 72 pour trafic sortant. Chaque file d'attente 43 peut avoir une capacité suffisante pour contenir 512 descripteurs. Les descripteurs présents dans les files d'attente 43 de descripteurs par port pour trafic sortant ont été écrits à l'aide d'un bus de diffusion par le distributeur multidiffusion de descripteurs 29. Selon une autre possibilité, le PMP 30 peut actualiser un plan qui indique quel sera le prochain port 66, 72 pour trafic sortant à être desservi par le planificateur 76 à base de règles ou quel descripteur de messages le CMP 31 doit utiliser pour accéder à la table paramétrique 58 de messages afin de créer un message construit à l'aide de données extraites de la TVI 56 et/ou des files d'attente de sortie A429.
Planification à base de règles Le planificateur 76 à base de règles fonctionne comme composant configurable par l'utilisateur dans le PMP 30. Le PMP 30 permet à chaque port 66, 72 pour trafic sortant d'accéder au planificateur 76 à base de règles qui sert à sélectionner un descripteur dans ses quatre files d'attente prioritaires 43, s'il y en a un de disponible. Ce descripteur peut servir à assurer un accès au SCD 28 à des fins de lecture. Le PMP 30 peut, par exemple, accorder à chaque port 66, 72 pour trafic sortant un accès au planificateur 76 à base de règles suivant un tour de rôle, un plan strictement minuté ou un algorithme prédéterminé. D'autres modes de desserte sont envisagés, par exemple un plan pondéré tenant compte de l'octroi d'un accès supplémentaire ou prioritaire en fonction de l'importance critique du port 66, 72 pour trafic sortant.
En ce qui concerne l'octroi de l'accès au SCD 28, le CMP 31 peut être considéré comme un autre port 66, 72 pour trafic sortant auquel un accès au SCD 28 est accordé par la bande passante garantie avec, par exemple, une bande passante maximale garantie de 1 Gbps et une latence maximale garantie inférieure à 66 microsecondes entre deux accès successifs. Le planificateur 76 à base de règles réalise un arbitrage pour déterminer quel descripteur de file d'attente prioritaire 43 est lu à chaque occasion d'accès offerte au port 66, 72. Le descripteur sert ensuite à lire une copie d'une trame obtenue et à la transmettre du SCD 28 à un port 66, 72 pour trafic sortant.
Le planificateur 76 à base de règles peut accepter comme entrée un ensemble de bits ou de valeurs de seuils de degré de remplissage issu de chaque file d'attente 43 de descripteurs par port pour trafic sortant, ainsi qu'une indication de degré de remplissage de file d'attente fournie par chaque file d'attente 41 de ports physiques pour trafic sortant via l'interface 70 pour degré de remplissage de file d'attente, un bit de seuil pouvant, par exemple, être mis à un quand le remplissage de la file d'attente 43 dépasse un seuil préétabli et un autre bit de seuil pouvant être mis à un chaque fois que la file d'attente 41 est trop pleine pour accepter une trame.
Collectivement, les bits contenus dans l'interface 70 pour degré de remplissage de file d'attente représentent le remplissage des multiples files d'attente 41, 43 par port 66, 72 pour trafic sortant. Si une file d'attente 43 de descripteurs par port pour trafic sortant est trop pleine, le planificateur 76 à base de règles peut modifier le mode de desserte d'après la priorité par file d'attente 43 ou, si la file d'attente 41 est trop pleine, l'envoi de trames supplémentaires dans la file d'attente 41 peut être temporairement suspendu. Par exemple, pendant la desserte d'un port 66, 72 pour trafic sortant, si le planificateur 76 à base de règles détermine, d'après les seuils de degré de remplissage reçus, qu'une ou plusieurs des files d'attente 43 de descripteurs par port pour trafic sortant de ce port 66, 72 est/sont trop pleine(s), le planificateur 76 peut décider de desservir tout d'abord les files d'attentes pleines 43. Dans un autre cas, pendant la desserte d'un port 66, 72 pour trafic sortant, si le planificateur 76 à base de règles détermine qu'une file d'attente 41 par port pour trafic sortant est trop pleine pour accepter une autre trame, le planificateur 76 peut décider d'empêcher la desserte de ce port 66, 72 jusqu'à ce que la file d'attente 41 puisse accepter une autre trame. Dans encore un autre cas, s'il n'y a pas de descripteurs à desservir dans l'une quelconque des files d'attente 43 de descripteurs par port pour trafic sortant pour un port 66, 72 pour trafic sortant desservi, le planificateur 76 à base de règles peut commuter la commande d'accès pour desservir à tour de rôle (ou en alternance) le port suivant 66, 72 pour trafic sortant.
Comme décrit plus haut, il y a quatre files d'attente 43 de descripteurs par port pour trafic sortant pour chaque port 66, 72 pour trafic sortant, lesquelles sont hiérarchisées. Le choix de la file d'attente 43 dont le descripteur va être desservi dépend du degré de remplissage de chacune des quatre files d'attente 43 de descripteurs.
Le degré de remplissage de chaque file d'attente 43 peut, par exemple, être mesuré par sept niveaux de seuil, plus un indicateur vide. Dans cet exemple, les sept niveaux de seuil peuvent indiquer un niveau variable de "degré de remplissage". A l'aide d'une logique de codeur de priorité, les sept seuils et l'indicateur vide peuvent être convertis en valeur à 3 bits, laquelle détermine quelle file d'attente 43 de descripteurs par port pour trafic sortant fera l'objet d'une desserte de descripteur (à savoir que des données seront extraites du SCD 28) par le PMP 30. Ces 12 bits, plus le signal de sortie d'un compteur 4 bits, peuvent servir à l'adressage, par exemple, d'une table de consultation de 16 K x 3 dans laquelle sont stockées les règles de desserte du planificateur 76 à base de règles. Selon une autre possibilité, les règles du planificateur 76 à base de règles peuvent, par exemple, être un algorithme pour déterminer les règles de desserte. Le fait d'avoir un compteur 4 bits pour chaque port comme entrée dans cette table de consultation vise à éviter la possibilité théorique d'avoir une combinaison de seuils statiques amenant la même file d'attente à être desservie pendant un laps de temps indéterminé. C'est là une manière de garantir une limite inférieure à la fréquence de desserte accordée à chaque priorité. Après que le descripteur sélectionné a été extrait de la file d'attente sélectionnée 43 de descripteurs de ports pour trafic sortant conformément à la priorité du planificateur 76 à base de règles, la trame entière est extraite du SCD 28 et est transmise au port 41 avant que le port suivant 66, 72 pour trafic sortant ne soit autorisé à avoir un descripteur desservi par le planificateur 76 et que ne lui soit offerte une occasion de recevoir une trame du SCD 28. Pour les trames de données commutées, pendant le processus d'extraction, l'IdST du descripteur peut être comparé avec celui de la trame stockée. S'ils ne concordent pas, la trame peut être éliminée. Chaque port Ethernet pour trafic sortant peut en outre avoir un âge maximal programmable (MaxAge) et si la différence entre l'IdST et la valeur instantanée de l'horodateur dans la fonction de commande d'écriture du planificateur 24 de ports pour trafic entrant est supérieure au paramètre MaxAge, la trame peut être éliminée. Sinon, la trame est extraite du SCD 28 par le PMP 30, transmise à son port 66, 72 pour trafic sortant et émise vers le périphérique 32 d'abonné ou la liaison virtuelle 36.30 Planificateur de messages paramétriques Le planificateur 30 de messages paramétriques (PMP) sert à planifier quel message est envoyé à quel port 66, 72 pour trafic sortant. Le PMP 30 détermine quel sera le prochain port pour trafic sortant à être desservi, par exemple à tour de rôle, par le planificateur 76 à base de règles et, à l'aide du descripteur reçu de la file d'attente 43 par port pour trafic sortant sélectionnée par le planificateur 76 à base de règles, une trame de données complète est extraite de la mémoire tampon circulaire 54 dans le SCD 28. Cette trame extraite est transmise au port 66, 72 pour trafic sortant desservi à l'aide de l'interface commune 34 pour trafic sortant. Le PMP 30 peut planifier le fonctionnement du CMP 31 comme s'il s'agissait un port pour trafic sortant et commande ceux des messages qui sont construits par le CMP 31 en lui communiquant un descripteur pour le message à construire. Le descripteur reçu par le CMP 31 se réfère à une liste d'entrées dans la Table 58 de messages paramétriques, qui précisent quelles données issues de la TVI 56 ou de files d'attente de sortie A429 doivent être placées dans la trame à construire. Par exemple, le PMP 30 peut fournir au CMP 31 l'adresse d'une liste d'adresses et la longueur de la liste. Les adresses sur la liste sont des emplacements pour des données contenues dans la TVI 56 ou dans des files d'attente de sortie A429, à placer dans la trame de données à construire. La construction de trames de données paramétriques peut être strictement planifiée. A titre d'exemple, la planification d'un nombre atteignant 4096 constructions de trames peut être facilitée avec une résolution de départs planifiés de trames de données de 500 microsecondes. Il peut y avoir une table de valeurs de comptage représentant des incréments de temps de 500 microsecondes, une table de seuils de comptage et une table de descripteurs de messages, qui sont toutes référencées par les entrées d'un compteur d'adresses de tables de descripteurs (CATD). Le format du descripteur pour une trame de données à construire est décrit plus en détail ci-après. Chaque entrée de la table de valeurs de comptage, de la table de seuils de comptage et de la table de descripteurs est associée à un cas de trame de données à construire. Voici comment se déroule la planification de la construction d'un message. Le CATD balaye toute la table de 4096 valeurs de comptage. Chaque valeur de comptage est incrémentée et comparée avec son seuil maximal de comptage, obtenu dans une table de seuils maximaux de comptage. Si la valeur de comptage est inférieure à son seuil, la valeur incrémentée est simplement réinscrite dans la table de valeurs de comptage et une construction de message ne peut pas être lancée. Cependant, si la valeur de comptage est supérieure ou égale à la valeur maximale prédéfinie pour le message, la valeur de comptage réinscrite est zéro et la valeur du contenu de l'entrée de la table de descripteurs à laquelle se réfère le CATD, qui peut être le descripteur pour le message individualisé à transmettre, est communiquée au CMP 31 pour enclencher la fonction de construction de message. Dans le présent exemple, s'il y a moins de 4096 messages à construire, il y aura, dans la table de descripteurs, des entrées de descripteurs non utilisées qui ne pourront jamais provoquer la survenance d'une construction de message. Dans le cas où il est souhaitable de désactiver une entrée particulière d'emplacement de descripteur, l'entrée correspondante dans la table de valeurs maximales de comptage peut être établie à une valeur impossible à atteindre, à savoir 4096, en raison d'un nombre insuffisant de bits (à savoir 11) pour la valeur de comptage. Dans le présent exemple, puisque le PMP 30 n'est pas susceptible de planifier jusqu'à 4096 messages toutes les 500 microsecondes, le PMP 30 n'est susceptible d'être un facteur limitant dans l'élaboration de messages individualisés pour le SDA 18. Selon une autre possibilité, la résolution de planification pour la construction de tout message peut être par incréments de 500 microsecondes. Fonction de construction de message paramétrique Quand le PMP 30 détermine que la construction de message est planifiée, il communique le descripteur à la fonction du CMP 31, ainsi qu'une indication disponible de descripteur. Le descripteur contient des informations d'identification de façon que le CMP 31 puisse déterminer si, oui ou non, la source de données pour la trame Ethernet/A664p7 figure dans l'une des files d'attente A429 40 et/ou si, oui ou non, il s'agit de données à disperser-regrouper à partir de la TVI 56 à l'aide d'une d'adresse figurant dans la TVI 56. Par exemple, si le bit de poids fort (MSB) du descripteur indique que le message est à construire à partir de données présentes dans les files d'attente A429 40, le descripteur peut contenir l'adresse de base (TdLpointeur) et la longueur d'un en-tête UDP/IP/MAC qui doit être extrait directement de la table paramétrique 58 de messages et placé dans une file d'attente 40 de construction de message, suivi de données issues de la file d'attente A429 ou de files d'attente A429. Inversement, si le MSB du descripteur paramétrique de message indique qu'une trame est à construire à partir de données de la TVI 56, TdLpointeur est alors l'adresse de base, dans la TVI 56, d'une liste ordonnée et contiguë de la table 58 de messages paramétriques et des descripteurs d'adresses dans la TVI 56 destinés à servir lors de la construction d'un message. Dans le présent exemple, le champ de longueur indique la longueur de cette liste de descripteurs d'adresses. Le CMP 31 utilise ces descripteurs d'adresses pour regrouper des valeurs de données sélectionnées présentes dans la TVI 56. Pendant la construction, la liste de descripteurs d'adresses est tout d'abord extraite de la table 58 de messages paramétriques. Les descripteurs d'adresses servent ensuite à construite l'en-tête d'un message par extraction à partir de la table 58 de messages paramétriques et les données utiles du message par extraction à des emplacements sélectionnés dans la TVI 56 et/ou les files d'attentes de sortie A429. Une trame de données complète ou "message" consiste en un en-tête, une liste de valeurs de paramètres et un bloc de fin. Chaque champ d'en-tête de trame de données et chaque valeur de paramètre sont stockés à des emplacements fixes, mais non contigus, dans le SCD 28, comme décrit plus haut. Par conséquent, chaque trame de données à construire doit comprendre une liste ordonnée d'adresses qui serviront à extraire ces valeurs dispersées de la TVI 56. Pour que la mémoire du PMP 30 reste petite, les listes de descripteurs d'adresses peuvent elles-mêmes être maintenues dans une zone statique de mémoire du SCD 28, par exemple la table paramétrique 58 de messages de la TVI 56. Le descripteur de message paramétrique fourni au CMP 31 par le PMP 30 peut comprendre, par exemple, un pointeur (TdLpointeur) de tête de liste de 18 bits, la longueur de la liste d'adresses en mots de 32 bits, et un champ réservé à des bits de commande. Dans le présent exemple, TdLpointeur peut être décalé vers la gauche et des zéros peuvent lui être adjoints de façon que chaque liste d'adresses ne commence qu'à une limite de 64 octets.
Le bit de commande 'S' peut aussi indiquer si, oui ou non, le descripteur concerne un message A664p7. Si le descripteur concerne un message A664p7, un champ EfluxID dans le descripteur peut servir au suivi des numéros d'ordre A664p7. De plus, il est envisagé qu'une valeur zéro de MSB du descripteur paramétrique de message puisse se référer à une liste d'adresses qui se référent indirectement à des emplacements de données à inscrire dans un message. Ces adresses peuvent, par exemple, être contenues à des emplacements de 64 bits dans la TVI 56, ainsi que des informations de sélection et de commande d'octets qui indiquent comment l'emplacement de données référencé doit être inséré dans le message. Si le champ de commande est présent, il peut contenir des codes pour indiquer un format à alignement de LSB ou de MSB, grand-boutien, petitboutien ou grand-boutien modifié, etc. Un contenu et des effets supplémentaires du champ de commande sont envisagés.
Si le message à construire est un message A664p7, le CMP 31 peut utiliser un champ (EfluxID) dans le descripteur de message reçu du PMP 30 pour accéder au numéro d'ordre (NO) de cette LV. L'octet de NO peut être incrémenté suivant les règles décrites dans A664p7 et placé comme dernier octet des données utiles de message construites par le CMP 31. Une fois que la trame de message est complète, elle est transférée dans un port spécifique de renvoi 86 de message, lequel calcule un CRC, tel qu'un CRC-32, et retransfère la trame par renvoi à l'interface commune 22 pour trafic entrant du SDA 18.
Il peut y avoir de multiples raisons au renvoi du message construit à l'interface commune 22 pour trafic entrant du SDA 18 avant sa transmission à un terminal 32 d'abonné. La sécurité en constitue la principale raison. Même si la construction de chaque trame paramétrique de message est strictement planifiée, il est envisagé qu'une trame A664p7 doive être limitée par la logique d'un limiteur séparé 27 afin de parer à la vulnérabilité à une défaillance unique. C'est pourquoi il faut la fonction de limitation du planificateur 24 de ports pour trafic entrant dans un commutateur A446p7, même si les périphériques 32 d'abonnés peuvent déjà effectuer une régulation de trafic. Dans le SDA 18, le limiteur 27 est séparé du PMP 30 (et donc du CMP 31) pour répondre à cette exigence. Une deuxième raison au renvoi du message construit peut être qu'il évite un doublon de la fonction du DMD. Le port de renvoi 86 n'exécute pas d'opérations importantes sur le message et peut ainsi ne pas être limité par des retards opérationnels. Par conséquent, le débit opérationnel de données du port de renvoi 86 peut, dans certains cas, être à des niveaux en gigabits. L'impact ainsi produit sur la latence du renvoi peut être rendu négligeable, par exemple, en distribuant le descripteur de la trame dans une file d'attente 43 à haut niveau de priorité contenant des descripteurs de port pour trafic entrant et en programmant convenablement le planificateur 76 à base de règles. Il est envisagé qu'un unique port de renvoi 86 pour renvoyer des donné du CMP 31 puisse suffire pour faciliter l'émission de, par exemple, plus de 100 messages, chacun d'une longueur moyenne de 512 octets, en moins de 500 microsecondes. Cependant, des ports de renvoi supplémentaires 86 peuvent être configurés dans le SDA 18 et être consacrés aux messages produits par le CMP 31.
Trajet de données ARINC 429 Des mots de données ARINC 429 arrivent aux ports physiques 42 pour trafic entrant numérotés de seize à quarante-huit.
L'enregistreur 50 d'instant d'arrivée indique quel devra être le prochain mot de port 42 pour trafic entrant à desservir. Ensuite, le planificateur 24 de mots pour trafic entrant analyse la trame de données pour identifier le port d'arrivée (PdA) et le marqueur de 8 bits de mot A429, et envoyer chacun à la TVI 56 (et/ou à n'importe quelles mémoires tampons circulaires 54) et ceux des ports 66 pour trafic sortant A429 qui doivent recevoir une copie du mot. Le PMP 30 fournit un descripteur paramétrique de message à la fonction PMP 31 pour construire un message Ethernet or A664p7. Les mots A429 qui ne font pas partie d'un message multimot peuvent également être stockés dans la TVI 56. Dans ce cas, chaque mot est stocké avec un identifiant d'horodatage de 32 bits dont le LSB est 216 microsecondes. Dans le présent exemple, la fonction CMP 31 peut prendre les mots A429 conjointement avec d'autres paramètres dans la TVI 56 pour construire une trame Ethernet ou A664p7. Synchronisation des numéros d'ordre suivant ARINC 664 partie 7 En outre, il est envisagé que le réseau de transmission 16 de données décrit ici puisse permettre une synchronisation des numéros d'ordre suivant A664p7 couvrant de multiples SDA 18. Dans de nombreuses plateformes avioniques, il peut être avantageux que les fonctions CMP 31 existant dans de nombreux cas de SDA 18 distribuent d'une manière synchrone les trames de données A664p7 à contenu identique. Cela revient à une virtualisation de LRU à double système final, mais les deux systèmes terminaux virtuels se trouvant dans des serveurs et sur des cartes de circuits différents. Cette synchronisation de numéros d'ordre suivant A664p7 peut être accomplie à l'aide d'un protocole d'échanges de messages qui vérifie qu'une synchronisation a été réalisée, permet un message entre des SDA 18 qui contient la valeur de numéros d'ordre pour tous les EfluxID et permet un message qui indique une mise à zéro des numéros d'ordre lorsqu'est atteint un seuil d'horodatage futur prédéfini, par exemple lorsque une discordance dans des numéros d'ordre devient trop grande. Réseau de processeurs Le SDA 18 peut aussi présenter un ou plusieurs processeurs 78 ou un réseau de processeurs distribués 78. Comme représenté, chaque processeur 78 comprend ses propres ports virtuels 72 pour trafic entrant et sortant connectés à la fonction de commutation, et se présentant, par exemple, sous la forme d'un port Ethernet. Les processeurs 78 peuvent fonctionner à l'aide d'une seule tâche d'exécution ou de multiples tâches d'exécution pour effectuer des calculs de messages fournis à ce processeur 78. La fonction exécutée sur un message fourni est induite par les informations présentes dans l'en-tête du message. Le réseau de processeurs est conçu pour desservir le SDA 18 en tant que PED virtuel (PEDV) centralisé. Par exemple, le PED peut effectuer une conversion d'unités techniques à partir de données de détection brutes, calculer des paramètres dérivés et/ou construire un message individualisé pour une application distante en traitant les données brutes. La planification de messages individualisés réduit fortement les latences du système et permet une synchronisation du traitement distribué. Un premier exemple de processeur employable 78 peut comprendre un microprocesseur monopuce avec des interfaces Ethernet 10/100 spécifiquement conçues pour des applications dans des missions délicates pour systèmes avioniques. Un autre exemple de processeur employable 78 peut consister en un microprocesseur polyvalent. De plus, les microprocesseurs peuvent contribuer au fonctionnement d'unités centrales à double synchronisme à CCE dans leurs mémoires cache et interne, dont une mémoire FLASH interne pour stockage rémanent. Lesdits processeurs 78 peuvent servir à activer une architecture de traitement évolutive pour le SDA 18. En outre, il est envisagé que ces processeurs 78 puissent être utilisés en combinaison avec les fonctions du PMP 30 et du CMP 31 décrites plus haut afin de réaliser un traitement optimisé en parallèle pour quasiment toute application décomposable en un groupe de tâches de traitement en série ou en parallèle. Comme décrit ici, le PMP 30 peut intercepter, formater et distribuer un message quand un descripteur est envoyé au CMP 31 pour construire un message. Voici un exemple de la manière dont la planification de messages par le PMP 30 peut être utilisée pour synchroniser le fonctionnement de processeurs distribués : une tâche exécutée dans un processeur 78 ne s'activera qu'à la réception d'un message individualisé qui la sollicite. Le résultat d'une tâche exécutée dans un processeur 78 peut être un message paramétrique qui peut être reçu par un port virtuel 46 pour trafic entrant à l'interface commune 22 pour trafic entrant, planifié par le planificateur 24 de ports pour trafic entrant, et stocké dans la TVI 56. De plus, le PMP 30 peut itérer une deuxième fois sur les processeurs 78 en interceptant, formatant et distribuant à un autre processeur 78, pour le traiter, un message reposant sur le message paramétrique traité (comme décrit plus haut). Ce processus peut se répéter jusqu'à l'obtention d'un résultat final souhaité. Ainsi, les moyens de traitement de processeurs polyvalents peuvent coopérer pour un fonctionnement en pipeline afin de former un système de multitraitement distribué optimisé. Si chaque tâche a un temps maximal d'exécution ou de traitement connu, les fonctions du PMP 30 et du CMP 31 peuvent optimiser davantage l'utilisation des processeurs 78 quand cela est possible ou nécessaire.
Un autre exemple détaillé peut encore illustrer le flux de données pour trois messages paramétriques. Le PMP 30, par exemple, intercepte un premier ensemble de paramètres issus de la TVI 56 et construit un premier message pour un premier processeur. Le PMP 30 peut aussi intercepter un second ensemble de paramètres et construire un deuxième message pour un deuxième processeur. Les premier et deuxième processeurs exécutent en parallèle leurs programmes lancés par les messages différents et, en suivant le trajet de données pour trafic entrant, les résultats traités sont inscrits dans la TVI 56. Le PMP 30 peut ensuite construire un troisième message à partir des premier et deuxième résultats traités et fournir le troisième message, pour un traitement supplémentaire, au premier ou au deuxième ou au troisième processeur, et ainsi de suite. De plus, dans le présent exemple, pendant que les premier et deuxième processeurs traitent simultanément les premier et deuxième messages, le PMP 30 peut construire deux messages paramétriques supplémentaires, par exemple un quatrième et un cinquième messages à traiter dans les premier et deuxième processeurs. Ce traitement peut être réalisé strictement en pipeline de façon que les processeurs 78 se prêtent à une exécution en parallèle avec très peu de temps morts. La sélection de la tâche (ou processus allégé) qu'exécute un processeur donné 78 est déterminée par l'en-tête du message qu'il reçoit du PMP 30 et les données traitées par cette tâche sont contenues dans le corps du message. Il n'y a aucun besoin de commutation de tâches sur la base d'une interruption à partir d'un tic d'horloge, car un mécanisme d'interruption sur la base d'un tic d'horloge peut effectivement être réalisé, puisque la production de messages par le PMP 30 respecte une chronologie stricte, décrite plus haut. Ainsi, un tic d'horloge peut être imité en permettant à des messages issus du PMP 30 d'interrompre le processeur. Un mappage, dans les processeurs 78, de ce traitement induit par une interruption de message issu du PMP peut être encore facilité par la disponibilité d'une mémoire vive réservée pour chaque processeur 78 afin de conserver son état et de reprendre son fonctionnement à la suite de l'interruption induite par le message. Cette capacité de traitement induit par une interruption peut être utile à un traitement induit par une interruption lorsque l'exécution d'une tâche de traitement donnée ne peut pas se dérouler jusqu'à son terme avant que ne doive se produire une commutation de tâches ou une interruption induite par un événement. Si des interruptions induites par des messages sont permises, il peut aussi être possible qu'un message arrivant d'une source extérieure, telle qu'un PED 20, du fait de quelque événement asynchrone évite complètement la TVI 56 et soit envoyé directement à un processeur sélectionné 78 à l'aide de la fonction de commutation du SDA 18 (par exemple via l'une des mémoires tampons circulaires 54). Interopérabilité L'interopérabilité peut être conçue pour effectuer une conversion d'un protocole à un autre, par exemple déterminée par différentes interfaces physiques 44, 68 pour trafic entrant ou sortant. Une fonction d'interopérabilité essentielle consiste en un système final virtuel (SFV) 82 qui sert, par exemple, d'interface A664p7 pour n'importe quels LRU connectés au SDA 18, en leur permettant de contribuer au fonctionnement d'une interface Ethernet simple avec le SDA 18 et d'utiliser, par exemple, des trames Ethernet géantes pour transférer jusqu'au SFV 82 des données présentes à un port COM. Le SFV 82 peut assister un certain nombre de formats logiques et protocoles anciens, actuels et/ou futurs. Les formes de réalisation décrites ici proposent un serveur de données avioniques pour un réseau de transmission de données à fonctionnement coordonné. Un premier avantage offert par les formes de réalisation ci-dessus est que les formes de réalisation décrites plus haut fonctionnent avec une collecte efficace de données d'aéronefs, un traitement juste en temps utile, une planification précise et une distribution de ces données à des serveurs, systèmes, terminaux d'abonnés et afficheurs coordonnés. De plus, les formes de réalisation décrites plus haut proposent un traitement synchronisé entre des processeurs distribués, mais ne nécessitant qu'une synchronisation des serveurs de données. Du fait du fonctionnement efficace des serveurs de données avioniques décrits plus haut, les insuffisances d'efficacité d'une bande passante excessive du réseau et du système informatique par suite d'une utilisation non coordonnée du réseau peuvent être fortement limitées, ce qui a pour effets un indice d'occupation spectrale plus élevé et une moindre consommation d'énergie. Par ailleurs, du fait de l'indice plus élevé et de la consommation réduite d'énergie, un boîtier de circuit plus petit peut être conçu grâce à un profil thermique plus bas, ce qui donne d'excellents avantages du point de vue de l'encombrement. Lors de la conception de pièces d'aéronefs, l'encombrement, la consommation d'énergie et la fiabilité constituent d'importants facteurs à prendre en compte. En vol, la miniaturisation, la consommation d'énergie et la fiabilité sont indissociables d'avantages concurrentiels. Un autre avantage des formes de réalisation décrites plus haut est que le recours à de multiples mémoires tampons circulaires dans le SCD, se distinguant les unes des autres par la vitesse au port pour trafic sortant, permet une efficacité accrue des données en écrasant des données à une vitesse appropriée de façon que, par exemple, des trames destinées à un port à trafic sortant lent ne soient pas écrasées par des trames arrivant vite pour un port à trafic sortant rapide. Cette utilisation permet la plus grande probabilité que les trames de données soient consommées avant d'être écrasées. De plus, l'utilisation des mémoires tampons circulaires supprime la nécessité de déterminer un procédé un le suivi des blocs de mémoire libres ou non utilisés. Les données les plus anciennes sont toujours écrasées à l'aide de la mémoire tampon circulaire, ce qui assure un fonctionnement rapide et non compliqué. Encore un autre avantage des formes de réalisation ci-dessus est que les formes de réalisation décrites plus haut limitent fortement ou suppriment le besoin de systèmes et commutateurs finals actuels ou anciens, tels que le système A664p7. De plus, les formes de réalisation décrites plus haut permettent une duplication de données sur de multiples serveurs ou dispositifs de stockage, assurant des mesures de redondance en cas de défaillance. Encore un autre avantage des formes de réalisation décrites plus haut est que le réseau décrit assure une vérification redondante de tâches de traitement en permettant de multiples processeurs ou de multiples serveurs pour effectuer les mêmes calculs, lesquels peuvent être comparés les uns avec les autres. Selon encore un autre avantage des formes de réalisation décrites plus haut, le planificateur à base de règles assure un arbitrage de desserte de données et de ports pour trafic sortant d'après un ou plusieurs indicateurs de degré de remplissage, permettant l'établissement de priorités de desserte. Les priorités de desserte permettent un fonctionnement adaptatif, quoique déterministe, des fonctions de planification de trafic sortant sans gaspiller des plans de maintenance Dans la mesure où elles non utilisés. ne sont pas déjà décrites, les différentes caractéristiques et structures des diverses formes de réalisation peuvent, si c'est souhaitable, être utilisées en combinaison les unes avec les autres. Le fait qu'une caractéristique puisse ne pas figurer dans toutes les formes de réalisation ne doit pas être interprété comme une impossibilité, mais vise à simplifier la description. Ainsi, les diverses caractéristiques des différentes formes de réalisation peuvent être mêlées et adaptées d'une manière souhaitable pour former de nouvelles formes de réalisation, que les nouvelles formes de réalisation soient expressément décrites ou non. Toutes les combinaisons ou permutations de caractéristiques décrites ici sont couvertes par le présent exposé.
Liste des repères 10 Aéronef 12 Périphérique d'entrée distant (PED) 14 Terminal d'abonné 16 Réseau de transmission de données 18 Serveur de données avioniques (SDA) 20 PED physique 22 Interface commune pour trafic entrant 24 Planificateur de ports pour trafic entrant 26 Table de consultation de descripteurs (TCD) 27 Limiteur 28 Serveur central de données (SCD) 29 Distributeur multidiffusion de descripteurs (DMD) 30 Planificateur de messages paramétriques pour trafic sortant (PMP) 31 Constructeur de messages paramétriques (CMP) 32 Terminaux physiques d'abonnés 34 Interface commune pour trafic sortant 36 Liaisons virtuelles 38 Couplage de données 40 File d'attente de données 41 Files d'attente de messages de données par port pour trafic sortant 42 Port physique pour trafic entrant 43 Files d'attente de descripteurs par port pour trafic sortant 44 Interface physique pour trafic entrant 46 Port virtuel pour trafic entrant 48 Interface virtuelle pour trafic entrant 50 Enregistreur d'instant d'arrivée (IdA) 52 Concentrateur à ports pour trafic entrant 54 Mémoire tampon circulaire 56 Table de valeurs immédiates (TVI) 58 Table de messages paramétriques 60 Mémoire tampon circulaire à 10 Mbps 62 Mémoire tampon circulaire à 100 Mbps 64 Mémoire tampon circulaire à 1 Gbps 66 Port physique pour trafic sortant 68 Interface physique pour trafic sortant 70 Interface pour degré de remplissage de file d'attente 72 Port virtuel pour trafic sortant 74 Interface virtuelle pour trafic sortant 76 Planificateur à base de règles 78 Processeur distribué 80 Moteur de rendu graphique 82 Système final virtuel (SFV) 84 Mémoire de stockage de masse du réseau 86 Port de renvoi
Claims (15)
- REVENDICATIONS1. Procédé pour fournir des données sur le fonctionnement immédiat pour une pluralité d'organes générant des données connectés à un réseau de transmission (16) de données d'un aéronef (10) et pour envoyer au moins une trame de données ayant un identifiant et des données brutes correspondantes, le procédé comportant : a) une création d'une table de valeurs immédiates (TVI) (56) comprenant un stockage dans une mémoire connectée au réseau de transmission (16), incluant au moins une mémoire tampon circulaire (54), une attribution d'une adresse en mémoire pour chaque identifiant et les données brutes correspondantes ; b) une réception, via le réseau (16), d'une trame de données émises par au moins un des organes générant des données ; c) une analyse de la trame de données reçue et sa décomposition en identifiant et données brutes correspondantes ; d) une détermination, à l'aide d'une table de consultation logicielle, de l'adresse réservée en mémoire pour l'identifiant analysé ; e) une actualisation de l'adresse déterminée réservée en mémoire à l'aide des données brutes analysées en inscrivant les données brutes analysées à l'adresse réservée en mémoire ; et f) une répétition des étapes a) à e) pour les trames de données suivantes pour les organes générant des données, grâce à quoi la TVI (56) contient constamment les données les plus actualisées.
- 2. Procédé selon la revendication 1, dans lequel les données de fonctionnement sont dérivées des données brutes.
- 3. Procédé selon la revendication 2, dans lequel les données de fonctionnement sont calculées d'après les données brutes.
- 4. Procédé selon la revendication 1, dans lequel les données brutes sont des données de fonctionnement.
- 5. Procédé selon la revendication 1, dans lequel la détermination de l'adresse réservée en mémoire comprend en outre une détermination de la présence d'une adresse réservée en mémoire pour l'identifiant analysé.
- 6. Procédé selon la revendication 5, comportant en outre une actualisation des données brutes analysées dans la/les mémoire(s) tampon(s) circulaire(s) (54) à l'instant où il est déterminé que l'identifiant analysé n'a pas d'adresse réservée en mémoire.
- 7. Procédé selon la revendication 6, dans lequel l'inscription des données brutes analysées efface les données les plus anciennes dans la mémoire tampon circulaire (54).
- 8. Procédé selon la revendication 6, comportant en outre une détermination de la mémoire tampon circulaire (54) à mettre à jour d'après un identifiant analysé, comprenant au moins un identifiant parmi un port d'arrivée, un port de destination, une adresse UDP, une adresse IP, une adresse MAC ou un décalage de fragment.
- 9. Procédé selon la revendication 8, dans lequel la détermination de la mémoire tampon circulaire (54) à mettre à jour repose sur le stockage de toutes les données brutes d'un message fragmenté dans une seule mémoire tampon circulaire (54).
- 10. Procédé selon la revendication 8, dans lequel la détermination de la mémoire tampon circulaire (54) à mettre à jour repose sur le débit de transmission de données disponible d'au moins un port ou une mémoire parmi le port de destination, une adresse UDP de destination, une adresse IP de destination et une adresse MAC de destination.
- 11. Procédé selon la revendication 5, dans lequel la détermination des adresses réservées en mémoire pour l'identifiant analysé repose sur un identifiant analysé comprenant au moins un port ou une mémoire parmi un port d'arrivée, un port de destination, une adresse UDP, une adresse IP et une adresse MAC.
- 12. Procédé selon la revendication 1, dans lequel l'attribution d'une l'adresse en mémoire dans la TVI (56) pour chaque identifiant et les données brutes correspondantes est statique.
- 13. Procédé selon la revendication 1, dans lequel la détermination de l'adresse réservée en mémoire pour l'identifiant analysé comprend en outre la détermination de ce que, oui ou non, les données brutes reçues sont plus récentes que les données brutes à l'adresse réservée en mémoire.
- 14. Procédé selon la revendication 13, dans lequel la détermination de ce que, oui ou non, les données brutes reçues sont plus récentes comprend une comparaison d'un horodatage de la trame de données reçue avec un horodatage de la trame de données à l'adresse réservée en mémoire.
- 15. Procédé selon la revendication 1, dans lequel la trame de données est analysée par un programme exécutable fonctionnant dans un ordinateur polyvalent sur le réseau de transmission (16) de données et/ou par un programme exécutable fonctionnant dans un ordinateur spécifique du réseau de transmission (16) de données et/ou par un circuit logique spécialisé sur le réseau de transmission (16) de données.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/052,016 US9485113B2 (en) | 2013-10-11 | 2013-10-11 | Data communications network for an aircraft |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3011999A1 true FR3011999A1 (fr) | 2015-04-17 |
FR3011999B1 FR3011999B1 (fr) | 2017-12-29 |
Family
ID=51901429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1459478A Active FR3011999B1 (fr) | 2013-10-11 | 2014-10-03 | Reseau de transmission de donnees pour aeronef |
Country Status (7)
Country | Link |
---|---|
US (1) | US9485113B2 (fr) |
JP (1) | JP6063425B2 (fr) |
CN (1) | CN104579864B (fr) |
BR (1) | BR102014025202A2 (fr) |
CA (1) | CA2867219C (fr) |
FR (1) | FR3011999B1 (fr) |
GB (1) | GB2521251B (fr) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10560542B2 (en) * | 2014-09-15 | 2020-02-11 | Ge Aviation Systems Llc | Mechanism and method for communicating between a client and a server by accessing message data in a shared memory |
FR3041197B1 (fr) * | 2015-09-11 | 2018-08-31 | Thales | Calculateur avionique avec module de routage integre, reseau de communication et installation de communication associes, et aeronef comprenant une telle installation de communication |
US10270567B1 (en) * | 2018-09-14 | 2019-04-23 | Ge Aviation Systems Limited | Avionics data networks |
FR3091443B1 (fr) * | 2018-12-26 | 2022-12-30 | Thales Sa | Système de communication avionique mixte de types ARINC 664 P7 et Ethernet à routage prédéterminé |
FR3092953B1 (fr) * | 2019-02-15 | 2021-10-15 | Thales Sa | Dispositif electronique et procede de reception de donnees via un reseau de communication asynchrone, systeme de communication et programme d'ordinateur associes |
US20220131598A1 (en) * | 2020-10-26 | 2022-04-28 | Ge Aviation Systems Llc | Converged avionics data network |
CN115514685B (zh) * | 2022-09-14 | 2024-02-09 | 上海兰鹤航空科技有限公司 | Arinc664终端基于传输表模式的延迟分析方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5424949A (en) | 1993-07-30 | 1995-06-13 | Honeywell Inc. | Multi-channel data receiver system |
US20020144010A1 (en) * | 2000-05-09 | 2002-10-03 | Honeywell International Inc. | Communication handling in integrated modular avionics |
US20070299993A1 (en) * | 2001-03-05 | 2007-12-27 | Pact Xpp Technologies Ag | Method and Device for Treating and Processing Data |
JP3789769B2 (ja) | 2001-04-19 | 2006-06-28 | 株式会社日本自動車部品総合研究所 | データ中継装置および多重通信システム |
WO2002088943A1 (fr) * | 2001-04-27 | 2002-11-07 | W. Quinn, Inc. | Pilote de filtre pour l'identification de fichier sur disque, par analyse du contenu |
US7107360B1 (en) * | 2001-07-24 | 2006-09-12 | Cisco Technology, Inc. | Network address translation in a gateway |
AU2002328419A1 (en) * | 2002-07-01 | 2004-01-19 | Ipsquare | Semiconductor circuit device, packet processing method, management system, management method, and packet processing method |
JP4574377B2 (ja) * | 2005-02-09 | 2010-11-04 | ルネサスエレクトロニクス株式会社 | データ処理モジュール及びその送受信メッセージの管理方法 |
JP2006333438A (ja) * | 2005-04-28 | 2006-12-07 | Fujitsu Ten Ltd | ゲートウェイ装置及びルーティング方法 |
FR2905047B1 (fr) | 2006-08-17 | 2008-11-14 | Airbus France Sas | Reseau afdx supportant une pluralite de classes de service |
US7852867B2 (en) * | 2007-07-06 | 2010-12-14 | Integrated Deoice Technology, Inc. | Integrated memory for storing egressing packet data, replay data and to-be egressed data |
WO2009107089A2 (fr) | 2008-02-26 | 2009-09-03 | Nxp B.V. | Appareil et procédé de mise en tampon partagée entre des ports de commutation |
US9063800B2 (en) * | 2010-05-26 | 2015-06-23 | Honeywell International Inc. | Automated method for decoupling avionics application software in an IMA system |
DE102010029346A1 (de) * | 2010-05-27 | 2011-12-01 | Robert Bosch Gmbh | Verfahren zum Verarbeiten von Nachrichten |
US8675689B2 (en) | 2011-02-15 | 2014-03-18 | General Electric Company | Method of time synchronization of free running nodes in an avionics network |
US20120250694A1 (en) * | 2011-03-28 | 2012-10-04 | Tttech Computertechnik Ag | Centralized traffic shaping for data networks |
US20130208630A1 (en) | 2012-02-15 | 2013-08-15 | Ge Aviation Systems Llc | Avionics full-duplex switched ethernet network |
US9811455B2 (en) * | 2013-03-15 | 2017-11-07 | The Boeing Company | Accessing different types of memory by respective distinct command with different timing requirements |
-
2013
- 2013-10-11 US US14/052,016 patent/US9485113B2/en active Active
-
2014
- 2014-10-01 GB GB1417324.9A patent/GB2521251B/en active Active
- 2014-10-02 CA CA2867219A patent/CA2867219C/fr active Active
- 2014-10-03 FR FR1459478A patent/FR3011999B1/fr active Active
- 2014-10-07 JP JP2014206035A patent/JP6063425B2/ja active Active
- 2014-10-09 BR BR102014025202A patent/BR102014025202A2/pt not_active Application Discontinuation
- 2014-10-10 CN CN201410530155.6A patent/CN104579864B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN104579864A (zh) | 2015-04-29 |
GB201417324D0 (en) | 2014-11-12 |
CN104579864B (zh) | 2019-06-18 |
GB2521251A (en) | 2015-06-17 |
BR102014025202A2 (pt) | 2016-04-19 |
JP2015092337A (ja) | 2015-05-14 |
JP6063425B2 (ja) | 2017-01-18 |
CA2867219C (fr) | 2017-03-07 |
FR3011999B1 (fr) | 2017-12-29 |
GB2521251B (en) | 2016-10-05 |
US9485113B2 (en) | 2016-11-01 |
CA2867219A1 (fr) | 2015-04-11 |
US20150103825A1 (en) | 2015-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR3011953A1 (fr) | Reseau de transmission de donnees pour aeronef | |
FR3011954A1 (fr) | Reseau de transmission de donnees pour aeronef | |
FR3011958A1 (fr) | Reseau de transmission de donnees pour aeronef | |
FR3011999A1 (fr) | Reseau de transmission de donnees pour aeronef | |
US9853714B2 (en) | Data communications network for an aircraft | |
FR3039023A1 (fr) | Dispositif et procede d'exploitation d'un systeme | |
CN108702370A (zh) | 用于网络技术的多流交织 | |
US11310164B1 (en) | Method and apparatus for resource allocation | |
FR2998748A1 (fr) | Dispositif et procede de retransmission de donnees dans un commutateur reseau | |
EP3123330A1 (fr) | Composant electronique a reponse deterministe | |
EP2754050B1 (fr) | Procédé et appareil pour stocker des données | |
US8995455B1 (en) | Memory devices for network devices and associated methods | |
WO2020109733A2 (fr) | Gestion des données pour le stockage de trames de données dans la mémoire d'un système de transmission de données | |
FR3065301A1 (fr) | Procede et dispositif electronique de verification d'une configuration de partitionnement, programme d'ordinateur associe | |
US11271838B2 (en) | Timing synchronization | |
EP2538341B1 (fr) | Procédé de calcul de la distribution de probabilité de la durée de traversée d'un commutateur de communication multiplexé | |
FR3036572A1 (fr) | Systeme de traitement de donnees numeriques multimedia | |
CN116074273A (zh) | 一种数据传输方法以及装置 | |
EP3874700A1 (fr) | Système de transmission de données | |
FR3079695A1 (fr) | Analyse et filtrage de donnees dans un systeme de transmission de donnees | |
FR2827996A1 (fr) | Procede et dispositif de gestion de memoire |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20170317 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
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 |
|
PLFP | Fee payment |
Year of fee payment: 10 |
|
PLFP | Fee payment |
Year of fee payment: 11 |