FR 2676319 A1 19921113 FR 9105565 A 19910507 PROCEDE ET DISPOSITIF DE SELECTION D'INFORMATIONS UTILI- SABLES PAR UNE UNITE LOCALE RELIEE A UN SYSTEME DE TRANS- MISSION NUMERIQUE. La présente invention concerne, d'une façon générale, un procédé et un dispositif de sélection d'informations uti- lisables par une unité locale reliée à un système de transmission numérique, dans lequel le critère de sélec- tion utilisé fait partie du message transmis et se trouve en tête de celui-ci. Elle s'applique notamment au tri, lors de leur réception, d'informations numériques en provenance d'une ou plu- sieurs lignes de transmission indépendantes, cette infor- mation étant reçue de façon séquentielle et organisée dans le temps, de manière à ce que l'information néces- saire à la sélection soit connue préalablement à l'information utile proprement dite, et que le tri puisse être exécuté avant la fin de la transmission du message en cours sur la voie considérée. L'invention a plus particulièrement pour but, mais non exclusivement, un dispositif de ce genre, réalisé sous la forme d'une unité d'interface hautement intégrée, entre un processeur et une ou plusieurs lignes de transmission de type série sur lesquelles transitent des informations sous la forme d'une succession de mots présentant chacun -2- une trame préétablie, par exemple conformes à la norme ARINC 429 en usage dans l'aéronautique. On sait que, conformément à cette norme, chaque mot (de 32 bits) comprend successivement: un premier nombre de huit bits (de O à 7) définissant une étiquette ou "label"; un second nombre de deux bits ( 8 et 9) servant à iden- tifier la source ou la destination du mot (SDI); un troisième nombre de vingt et un bits ( 10 à 30) contenant les données à transmettre; et un bit de parité (bit 31). Bien entendu, cette norme impose un certain nombre de conditions (gabarits) notamment en ce qui concerne les temps minima et maxima associés à la transmission d'un bit d'information; le rapport cyclique de la modulation; l'intervalle de temps "Gap" entre deux mots; le nombre de bits par mots (ici 32 bits) la parité des mots. Dans ce type d'application, l'invention propose d'effectuer, avant de transmettre chaque mot, un tri por- tant non seulement sur la conformité du mot aux gabarits précédemment énumérés mais également sur la pertinence de ce mot pour le processeur, et ce, sans faire appel pour cela à des mémoires de personnalisation externe. -3- Pour parvenir à ces résultats, l'invention propose, d'une façon générale, un procédé pour la sélection d'informations numériques à transmettre à un système hote, ces informations pouvant provenir d'une ou plu- sieurs lignes de transmission indépendantes, et étant présentées sous la forme de messages émis séquentielle- ment et organisés de manière à comprendre l'information utile précédée dans le temps par une information de sélection. Selon l'invention, ce procédé est caractérisé en ce qu'il comprend: la scrutation cyclique, à fréquence fixe, d'une liste de conditions programmées et mises en mémoire; l'acquisition simultanée des informations sur lesdites voies; l'activation d'un processus de sélection chaque fois que l'information de sélection d'un message reçu sur l'une et/ou l'autre voie a été acquise, ce processus de sélection comportant une étape de synchronisation consistant en une attente du passage du processus de scrutation par la position de début de la liste de conditions, une séquence de comparaison ("pattern matching") de l'information de sélection contenue dans le message en cours de réception, et l'élaboration d'une variable de sélection qui indique si le message en cours de réception intéresse le système hote ou non, la fin du processus de sélection étant obtenue soit par l'épuisement de toutes les conditions de la liste et le retour vers la condition de début de liste, soit par lecture d'un code spécial dit code fin de liste; la mémorisation des messages sélectionnés dans une mémoire tampon accessible par le système hote. 4 - Avantageusement, chacune des susdites conditions consiste en un mot binaire de sélection comprenant au moins autant de bits que n'en possèdent les informations de sélections contenues dans les messages, la comparaison s'effectuant bit par bit. Avantageusement, les mots de sélection pourront en outre comprendre des bits supplémentaires correspondant à des traitements à faire subir au message. Par ailleurs, les mots de sélection pourront comprendre des masques. Dans ce cas, il sera considéré qu'il y a coïncidence entre l'information de sélection contenue dans un message et un mot de sélection de la liste de conditions, si ces deux informations ne diffèrent que par des bits pour les- quels un masquage a été défini. Le dispositif pour la mise en oeuvre du procédé précédem- ment décrit peut se présenter sous la forme d'une unité d'interface d'entrée/sortie hautement intégrée entre une unité locale à microprocesseur et une ou plusieurs lignes de transmission de type série sur lesquelles circulent des informations conformes à la norme ARINC 429 et compo- sée de mots de 32 bits présentant la trame précédemment indiquée, les transferts entre cet interface et l'unité locale s'effectuant par des mots de 16 bits. Un mode d'exécution de l'invention sera décrit ci-après, à titre d'exemple non limitatif, avec référence aux des- sins annexés dans lesquels: La figure 1 est un schéma théorique illustrant le mode de branchement d'un interface selon l'invention entre un processeur et deux paires de voies de transmission (deux voies d'émission et deux voies de réception); - La figure 2 est un schéma synoptique de l'interface représenté sur la figure 1. Dans l r exemple représenté sur la figure 1, l'interface d'entrée/sortie selon l'invention qui est représenté par un bloc 1, est connecté, d'une part, à une unité locale à microprocesseur P associé à une mémoire vive RA Mi -par l'intermédiaire d'un bus de données 2, de contrôle 3 et d'adressage 4 et, d'autre part, à deux voies 5, 6 de réception d'informations conformes à la norme ARINC 429, par l'intermédiaire d'un démodulateur 7 et à deux voies 8, 9 d'émission d'informations par l'intermédiaire d'un modulateur de ligne 10. Cet interface d'entrée/sortie 1 fait intervenir, connec- tés par un bus interne 11: un bloc d'émission 12 connecté au modulateur 10 et uti- lisant une mémoire tampon formée de deux registres 13 de 16 bits permettant de stocker le demi-mot en cours d'émission sur chacune des voies; ces tampons consti- tuent un prolongement de la zone mémoire Zl décrite ci- après et dans laquelle les mots sont organisés en file d'attente; un bloc de réception 14 connecté au démodulateur 7 et utilisant une mémoire tampon formée de deux registres de 16 bits permettant d'accumuler les bits des demi- mots ARINC reçus sur chacune des deux voies avant leur transfert dans la zone mémoire Z 2 décrite ci-après; un interface de liaison 16 ( 16 bits) avec l'unité locale à microprocesseur P; une mémoire vive RAM 2 associée à un circuit de gestion des données 17, cette mémoire vive RAM 2 pouvant consti- tuer le prolongement des deux mémoires tampon 13, 15; 6 2676319 un dispositif de reconnaissance de messages "pattern matching" 18 recherchant les coïncidences entre les critères de sélection des mots en cours de réception sur les deux voies et les codes dits codes de piège à "labels" stockés dans la zone Z 3 de la RAM 2, ces codes étant présentés séquentiellement par un pointeur de pièges à "labels" 23; un automate 19 servant à piloter un générateur d'adresse 20 associé à la mémoire RAM 2 -par l'intermédiaire d'un pointeur d'émission 21, d'un poin- teur de réception 22, et d'un pointeur de piège à "labels" 23. L'émission de mots ARINC sur les deux voies 8, 9 peut s'effectuer à des fréquences programmables, par exemple de 12,5, 100 et 1000 k Hz. Les mots à émettre sont formatés et chargés par le pro- cesseur P dans une mémoire (par exemple une zone de la RAM 2) Pour chaque voie, la génération de la parité et du gabarit, le séquencement de l'émission et la sérialisa- tion sont assurés en interne. Les mots ARINC à émettre, complétés par les bits SDI, sont fournis par le processeur P et stockés dans la zone mémoire Zl de la RAM 2 avant leur sérialisation. Cette zone mémoire Zl est gérée à la façon d'une pile FIFO, avec allocation dynamique, afin d'optimiser son occupation en fonction de la vitesse programmée pour cha- cune des deux voies 8, 9, et sa capacité est de 32 mots ARINC pour l'ensemble des deux voies. Le chargement d'un mot ARINC ( 32 bits) dans la zone mémoire Zl sera déclenché par l'unité locale s'effectuant en deux temps successifs: transfert des 16 bits de poids -7- faible puis des 16 bits de poids forts La sérialisation effectuée d'un mot ARINC sur une voie 8, 9 désirée ne peut alors s'effectuer que lorsque: ses demi-mots ont été chargés par l'unité locale (processeur P) dans la zone mémoire Zi; l'ensemble des mots précédemment transmis vers cette voie ont été totalement émis. Le 32 fme bit du mot ARINC qui définit la parité du mot est calculé en interne. La fréquence d'émission est définie par un mot de pro- grammation émis par l'unité locale (processeur P). L'émission débute sur une voie dès qu'un mot complet a été chargé dans une paire de mots de 16 bits d'adresses consécutives allouée en zone Zl à la voie considérée par le dispositif d'allocation dynamique contenu dans le pointeur d'émission 21. La réception des mots ARINC provenant des voies 5, 6 s'effectue comme suit Chaque mot reçu ayant satisfait aux contrôles demandés dans un mot de programmation et possédant une information de sélection (qui comprend ici l'ensemble "label"-SDI- voie) identifié par le dispositif de reconnaissance des messages, est mis en mémoire après substitution de son 32 ème bit de parité par le numéro de voie sur lequel il est arrivé dans une zone Z 2 de la mémoire RAM 2 gérée en pile FIFO de capacité de 64 mots ARINC. La restitution complète d'un mot ARINC ainsi stocké sera déclenchée par le processeur P et nécessite deux phases de lecture successive de cette dernière, à savoir: u- une phase de lecture des 16 bits de poids faible pf une phase de lecture des 16 bits de poids forts PF. Lorsque la zone de mémoire Z 2 gérée en pile FIFO est vide, les deux lectures déclenchées par l'unité centrale se concluront par la restitution d'un code spécial, par exemple 0000 h. Comme précédemment mentionné, avant de pouvoir être transféré dans la zone de mémoire Z 2, le mot en cours de réception subit un certain nombre de contrôles dont la nature est programmable dans le mot de programmation. Les anomalies pouvant conduire au rejet de ce mot sont par exemple les suivantes: rapport cyclique hors norme (non compris dans une four- chette de valeur prédéterminée); vitesse non homogène (si tous les bits ne sont pas reçus à la même vitesse); vitesse hors gabarit; défaut de "gap" (si la durée de l'intervalle qui sépare du début du mot suivant est inférieure à une valeur déterminée); réception simultanée d'un état logique haut sur les deux broches H et L d'une même voie ARINC; défaut de parité (par exemple la parité d'un mot n'est pas impaire à l'issue de la réception de ses 32 bits). Le dispositif de reconnaissance de l'information de sélection contenue dans les messages assure deux fonc- tions distinctes: 9 - 1) Il permet de sélectionner les mots ARINC qui devront être réceptionnés dans la zone mémoire Z 2 (grâce aux informations contenues par les ensembles "Label"-SDI-VOIE qui caractérisent chacun d'eux). 2) Il permet l'émission d'interruptions vers l'unité locale (processeur P) lors de la réception de mots ARINC comprenant des ensembles "Label"-SDI-VOIE remarquables. Les deux fonctions sont réalisées en effectuant une com- paraison séquentielle de l'ensemble "Label"-SDI-VOIE de chaque mot nouvellement reçu avec l'ensemble des codes contenus dans une table interne: les pièges à "labels". Cette table est physiquement réalisée par une zone Z 3 de la mémoire RAM 2 et peut par exemple présenter une capa- cité de stockage de 64 mots de 16 bits chacun. Elle devra être séquentiellement préchargée par l'unité locale (processeur P) après l'initialisation de l'interface 1 dans le mode alors présent prévu à cet ef- fet. Le processus de scrutation des codes contenus dans la table est un processus par exemple d'une durée de 128 périodes d'horloge de base du circuit et permettant de lire successivement les 64 positions de la liste Il est activé automatiquement par la réception du 10 ème bit du mot ARINC en cours de réception La synchronisation de ce processus de sélection s'effectue lors du passage du pointeur de liste à l'adresse zéro de la liste de condi- tions qui synchronise la tâche de sélection et la tâche de scrutation du piège à "labels". On considère qu'il y a identité entre l'ensemble "Label"- SDI-VOIE d'un mot nouvellement reçu et un des pièges à - "labels" programmés par l'unité locale si les trois conditions suivantes sont respectées: 1) Les "labels" reçu et programmé sont identiques, ou ne diffèrent que par des bits pour lesquels un masquage a été défini. 2) Les SDI reçu et programmé sont identiques ou sont sou- mis à un masquage. 3) Les numéros de voie reçu et programmé sont identiques ou sont soumis à un masquage. Le dispositif de reconnaissance précédemment décrit a pour objet d'élaborer une variable de sélection de laquelle dépendra le maintien ou le rejet du mot. Bien entendu, au moment de la synchronisation du proces- sus de scrutation de la liste de conditions, la variable de sélection est à zéro A partir de cet instant, à chaque lecture d'une condition nouvelle de la liste et ce, jusqu'à épuisement de celle-ci (ou la lecture d'un mot de fin de liste), la valeur de la variable de sélec- tion va être réévaluée en appliquant les règles indiquées par la suite qui dépendent de la nature des codes utili- sés. Dans cet exemple, les codes définissables par l'unité locale peuvent être de trois types différents les bases, les altérations de base, le mot de fin de liste. Une base est un mot binaire de 16 bits dans lequel les bits de O à 7 correspondent au "label" programmé qui est comparé au "label" reçu; là les bits 8 et 9 correspondent au SDI programmé qui est comparé au SDI reçu; le bit 10 correspond au numéro de voie qui est comparé au numéro de voie reçu; le bit 11 caractérise le fait que le code actuel est une base; le bit 12 permet le masquage de la comparaison entre les SDI; le bit 13 permet le masquage de la comparaison entre les numéros de voie; le bit 14 permet, si l'identité est établie avec le code actuel, d'annuler l'effet d'une identité précédem- ment établie avec un autre code (inversion de condi- tion); le bit 15 permet de considérer l'ensemble "Label"-SDI- Voie associé au mot ARINC en cours de réception comme "remarquable" si le code actuel parvient à établir l'identité. Une altération de base est un mot binaire de 16 bits dans lequel: les bits de O à 7 qui correspondent au "label", permet- tent le masquage de la comparaison entre certains bits des "labels" et les bits de même position de la base ainsi altérée; les bits 8 à 10 sont des bits devant être forcés à zéro; 12 - le bit 11 caractérise le fait que le code actuel est une altération de base (les caractéristiques de la base à laquelle cette altération est associée étant conser- vées); les bits 12 à 15 sont des bits devant être forcés à zéro. Le mot de fin de liste est un mot binaire de 16 bits qui permet de spécifier l'extrémité de la table de pièges à "labels" lorsque celle-ci ne nécessite pas d'être pro- grammée dans son intégralité. Les codes prenant place à la suite de ce mot de fin de liste ne pourront donc pas participer à l'analyse de l'identité de l'ensemble "Label"-SDI-Voie associé au mot ARINC en cours de réception Sa valeur caractéristique est, par exemple, FFOO h (huit premiers bits à 1, huit derniers bits à 0). Les exemples figurant ci-après permettront de mieux com- prendre le principe de la programmation effectué par les codes de programmation de la table, qu'il s'agisse de base, d'altération de base ou d'une fin de liste. Exemple No 1 0 O 000 O 01 00001111 Reconnaissance des mots de "label" avec le SDI 01 sur la voie O 0 O 000 1 10 11110000 et des mots de "label" avec le SDI 10 sur la voie 1 1 1 111 1 11 00000000 Fin de liste 13 - Exemple No 2 0 O 110 x xx 10101010 0 O 001 O 00 00001111 0 O 001 O 00 10000000 > Reconnaissance "label" & avec les SDI sur les voies O 1 000 1 11 10101100 0 O 001 O 00 00001100 0 O 001 O 00 00000011 sauf les mots de & avec le SDI sur la voie 1 1 111 1 11 00000000 Fin de liste Exemple No 3 1 O 000 O 00 00000000 0 O 001 O 00 11111110 Reconnaissance "label" avec le SDI des mots de 0 110 xxxx x 0101010 00,01,10 & 11 0 & 1 label" ll Oxx OO ll Ollxx des mots de xxxxxxx O sur la voie O & Emission d'une interruption vers l'unité centrale 1 1 111 1 11 00000000 Fin de liste Compte tenu de ce qui précède, la valeur de la variable de sélection sera déterminée en appliquant les règles suivantes: a) Dans le cas o la condition est une base, et o les valeurs N Voie/SDI/"label" qui caractérisent le mot en cours de réception coïncident avec le code de base: Si le bit d'inversion vaut 0, la variable de sélection est mise à 1, 14 2676319 Si le bit d'inversion vaut 1, la variable de sélection est mise à 0. Dans les autres cas, la variable de sélection est inchan- gée. b) Dans le cas o la condition est une altération de base et o les valeurs N O Voie/SDI/"label" qui caractérisent le mot en cours de réception coïncident avec le code de la précédente base reçue modifiée dans le sens d'un élar- gissement de la condition par l'intermédiaire des posi- tions indifférentes apportées par l'altération de base en cours Si le bit d'inversion vaut 0, la variable de sélection est mise à 1, * Si le bit d'inversion vaut 1, la variable de sélection est mise à 0. c) Dans le cas o la condition est une fin de liste La valeur de la variable de sélection est la valeur définitive. Comme précédemment mentionné, la séquence de contrôles effectués sur les mots ARINC en cours de réception est définie par programme (mot de programmation) et donne lieu à un mot d'état de 16 bits qui permet d'informer l'unité locale aussi bien sur l'état dans lequel se trouve l'interface que sur les caractéristiques des transmissions effectuées Ce mot d'état est un mot de 16 bits dans lequel les bits O et 1 désignent la vitesse d'émission des mots ARINC sur la première voie (trois vitesses pos- sibles); - les bits 2 et 3 désignent la vitesse d'émission des mots ARINC sur la deuxième voie; les bits 4 et 5 définissent le mode de fonctionnement 00 application 01 pièges à "labels" test RAM réception 11 test RAM émission les bits 6 à 9 assurent une validation d'interruption lorsque: la pile FIFO d'émission devient vide (bit 6), la pile FIFO de réception devient vide (bit 7), la pile FIFO d'émission déborde (bit 8), la pile FIFO de réception déborde (bit 9). Lorsqu'une anomalie dont le contrôle a été programmé dans le mot de programmation est détectée sur l'une des deux voies, il y a alors mise à jour du mot d'état, par ajout de l'indicateur caractéristique de cette anomalie. Lors d'une remise à zéro, tous les contrôles en réception sont invalidés (bits 10 à 15), toutes les interruptions demandées par les piles FIFO sont invalidées (bits 6 à 9), le mode de fonctionnement (bits 4 et 5) est placé sur "piège à labels", et les émissions sur les deux voies sont inhibées (bits 32 et 10 respectivement égaux à 0). La gestion des interruptions s'effectue grâce à un vec- teur d'interruption que l'unité de calcul vient lire quant elle reçoit une interruption, de manière à connaître la raison de cette interruption. Ce vecteur d'interruption consiste en un mot de 16 bits dans lequel: 16 les bits 15 à 9 définissent le nombre de mots ARINC stockés dans la pile FIFO de réception 0000000 O mot 0000001 1 mot 0111111 63 mots 1000000 64 mots 1111111 débordement provoquant l'émission d'une interruption les bits 8 à 3 définissent le nombre de mots ARINC sto- ckés dans la pile FIFO d'émission: 0000000 O mot 0000001 1 mot 0111111 31 mots 1000000 > 32 mots 1111111 débordement provoquant l'émission d'une interruption le bit 2 indique une interruption à la suite de la réception d'un mot dont le "label" contient un indica- teur ("flag"); le bit 1 indique une interruption provoquée à la suite d'une anomalie en réception, sur l'une des voies; le bit O indique une interruption provoquée à la suite d'une anomalie en réception, sur l'autre voie. Les échanges entre le processeur de l'unité locale qui sera désignée ciaprès CPU et l'interface s'effectuent conformément à un protocole défini par les éléments de programmation suivants: LECTURE DE LA RAM DE PIEGES A "LABELS" PAR LA CPU La CPU lit un port de l'interface 17 - Déclencher un accès à la RAM de pièges à "labels" (RAMCPUP) Lire en RAM le piège à "labels" présent à l'adresse PTRLAB (pointeur de piège à "labels") Restituer ce piège à "labels" à la CPU Incrémenter le pointeur de piège à "labels" PTRLAB Emettre le signal d'acquittement à la CPU Quitter l'accès RAMCPUP ECRITURE DANS LA RAM DE PIEGES A "LABELS" PAR LA CPU La CPU écrit dans un port de l'interface Déclencher un accès de l'unité locale à la RAM de pièges à "labels" (RAMCPUP) Ecrire en RAM à l'adresse PTRLAB le piège à "labels" émis par la CPU Incrémenter le pointeur de piège à "labels" PTRLAB Emettre le signal d'acquittement à la CPU Quitter l'accès RAMCPUP LECTURE DE LA RAM DE RECEPTION PAR LA CPU La CPU lit le port H/L de l'interface Déclencher un accès RAMCPUR (de la RAM de réception par l'unité locale) "Case" (poids présent) de L: "Case" (poids précédent) de H: Si ("Flag" FIFOVIDER actif) Alors Restituer le code spécial de fifo vide à la CPU Sinon Lire en RAM les poids L du mot présent à l'adresse PTRLECR-0 Restituer ce 1/2 mot à la CPU Finsi Poids précédent = L Mémoriser le "flag" FIFOVIDER Emettre le signal d'acquittement à la CPU L: NOP 18 - Fincase H: "Case" (poids précédent) de H: NOP L: Si ("Flag" FIFOVIDER actif) Alors Restituer le code de fifo vide à la CPU Sinon Lire en RAM les poids H du mot présent à l'adresse PTRLECR-1 Restituer ce 1/2 mot à la CPU Incrémenter le pointeur de lecture PTRLECR Si (PTRLECR = PTRECRR) Alors Activer le "flag" FIFOVIDER Finsi Finsi Poids précédent = H Libérer le "flag" FIFOVIDER Emettre le signal d'acquittement à la CPU Fincase Fincase Quitter l'accès RAMCPUR ECRITURE DANS LA RAM DE RECEPTION PAR LA CPU La CPU écrit dans le port H/L de l'interface Déclencher un accès CPURAMR "Case" (poids présent) de L: "Case" (poids précédent) de H: Si ("Flag" FIFOPLEINR non actif) Alors Ecrire en RAM à l'adresse PTRECRR-0 le 1/2 mot L émis par la CPU Finsi Poids précédent = L Mémoriser le "flag" FIFOPLEINR Emettre le signal d'acquittement à la CPU L: NOP Fincase H: "Case" (poids précédent) de H:NOP L: Si ("Flag" FIFOPLEINR non actif) 19 - Alors Ecrire en RAM à l'adresse PTRECRR-1 le 1/2 mot H émis par la CPU Incrémenter le pointeur d'écriture PTRECRR Si (PTRECRR = PTRLECR) Alors Activer le "flag" FIFOPLEINR Finsi Sinon "Overflow" de la fifo de réception Finsi Poids précédent = H Libérer le "flag" FIFOPLEINR Emettre le signal d'acquittement à la CPU Fincase Fincase Quitter l'accès CPURAMR LECTURE DE LA RAM D'EMISSION PAR LA CPU La CPU lit le port H/L de la voie X de l'interface (X = 0/1) Déclencher un accès RAMCPUT "Case" (poids présent) de L: "Case" (poids précédent sur la voie X) de H: Si ("Flag" FIFOVIDEXT de la voie X actif) Alors Restituer le code spécial de fifo vide à la CPU Sinon Rechercher la lère case occupée dans le descripteur de la voie X, à partir de l'ancien pointeur de lecture PTRLECXT de la voie X Stocker son adresse dans le pointeur de lecture PTRLECXT de la voie X Lire en RAM les poids L du mot présent à l'adresse PTRLECXT-O Restituer ce 1/2 mot à la CPU Finsi Poids précédent sur la voie X = L Mémoriser le "flag" FIFOVIDEXT de la voie X Emettre le signal d'acquittement à la CPU - L: NOP Fincase H: "Case" (poids précédent sur la voie X) de H: NOP L: Si ("Flag" FIFOVIDEXT de la voie X actif) Alors Restituer le code spécial de fifo vide à la CPU Sinon Lire en RAM les poids H du mot présent à l'adresse PTRLECXT-1 Restituer ce 1/2 mot à la CPU Désactiver le bit no PTRLECXT dans le descrip- teur de la voie X Si (Descripteur de la voie X vide) Alors Activer le "flag" FIFOVIDEXT de la voie X Finsi Décrémenter le compteur de mots en attente dans la RAM d'émission Finsi Poids précédent sur la voie X = H Libérer le "flag" FIFOVIDEXT de la voie X Emettre le signal d'acquittement à la CPU Fincase Fincase Quitter l'accès RAMCPUT ECRITURE DANS LA RAM D'EMISSION PAR LA CPU La CPU écrit dans le port H/L de la voie X de l'interface (X = 0/1) Déclencher un accès CPURAMT "Case" (poids présent) de L: "Case" (poids précédent) de H: Si ("Flag" FIFOPLEINT non actif) Alors Rechercher la lère case inoccupée dans les descripteurs des 2 voies, à partir de l'ancien pointeur d'écriture PTRECRT 21 - Stocker son adresse dans le pointeur d'écriture PTRECRT Ecrire en RAM à l'adresse PTRECRT-0 le 1/2 mot émis par la CPU Finsi Accès précédent = L Voie précédente = X Mémoriser le "flag" FIFOPLEINT Emettre le signal d'acquittement à la CPU L: NOP Fincase H: "Case" (poids précédent voie précédente) de H: NOP L./X: NOP L X: Si ("Flag" FIFOPLEINT non actif) Alors Ecrire en RAM à l'adresse PTRECRT-1 le 1/2 mot émis par la CPU Activer le bit no PTRECRT dans le descripteur de la voie X Incrémenter le compteur de mots en attente dans la RAM d'émission Si (Compteur saturé) Alors activer le "flag" FIFOPLEINT Finsi Sinon "Overflow" de la fifo d'émission Finsi Accès précédent = H Libérer le "flag" FIFOPLEINT Emettre le signal d'acquittement à la CPU Fincase Fincase Quitter l'accès CPURAMT 22 - Revendications 1 Procédé pour la sélection d'informations numériques à transmettre à un système hote, ces informa- tions pouvant provenir d'une ou plusieurs lignes de transmission indépendantes, et étant présentées sous la forme de messages émis séquentiellement et organisés de manière à comprendre l'information utile précédée dans le temps par une information de sélection, caractérisé en ce qu'il comprend: la scrutation cyclique, à fréquence fixe, d'une liste de conditions programmées et mises en mémoire; l'acquisition simultanée des informations sur lesdites voies; l'activation d'un processus de sélection chaque fois que l'information de sélection d'un message reçu sur l'une et/ou l'autre voie a été acquise, ce processus de sélection comportant une étape de synchronisation consistant en une attente du passage du processus de scrutation par la position de début de la liste de conditions, une séquence de comparaison ("pattern matching") de l'information de sélection contenue dans le message en cours de réception, et l'élaboration d'une variable de sélection qui indique si le message en cours de réception intéresse le système hote ou non, la fin du processus de sélection étant obtenue soit par l'épuisement de toutes les conditions de la liste et le retour vers la condition de début de liste, soit par lecture d'un code spécial dit code fin de liste; la mémorisation des messages sélectionnés dans une mémoire tampon accessible par le système hote. 23 - 2 Procédé selon la revendication 1, caractérisé en ce que chacune des susdites conditions consiste en un mot binaire de sélection comprenant au moins autant de bits que n'en possèdent les informations de sélections contenues dans les messages, la comparaison s'effectuant bit par bit. 3 Procédé selon la revendication 2, caractérisé en ce que les mots de sélection comprennent des bits supplémentaires correspondant à des traitements à faire subir au message. 4 Procédé selon l'une des revendications pré- cédentes, caractérisé en ce que les mots de sélection comprennent des masques, et en ce que, dans ce cas, il sera considéré qu'il y a coïncidence entre l'information de sélection contenue dans un message et un mot de sélection de la liste de conditions, si ces deux informations ne diffè- rent que par des bits pour lesquels un masquage a été défini. Procédé selon l'une des revendications pré- cédentes, caractérisé en ce que l'un des bits supplémentaires est un bit d'inversion de conditions, et en ce qu'une coïnci- dence fait évoluer à l'état actif la variable de sélec- tion si le bit d'inversion est à l'état inactif et, à lrétat inactif, si le bit d'inversion est à l'état actif. 6 Procédé selon la revendication 5, caractérisé en ce que l'activation antérieure de la variable de sélection est remise en cause, en cas de coïncidence, si le bit d'inversion est actif. 7 Procédé selon l'une des revendications pré- cédentes, 24 2676319 caractérisé en ce que les informations transmises sont conformes à la norme ARINC 429 et sont constituées par une succession de mots comprenant chacun: un premier nombre de huit bits (de O à 7) définissant une étiquette ou "label"; un second nombre de deux bits ( 8 et 9) servant à iden- tifier la source ou la destination du mot (SDI); un troisième nombre de vingt et un bits ( 10 à 30) contenant les données à transmettre; et un bit de parité (bit 31), et en ce que l'information de sélection comprend les pre- mier et second nombres de bits complété par numéro de la voie de réception sur laquelle ce mot est arrivé. 8 Dispositif pour la mise en oeuvre du procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend, connectés par un bus interne: un bloc de réception connecté à au moins une ligne de transmission par un démodulateur et comprenant une mémoire tampon; un interface de liaison ( 16) avec l'unité locale; une première mémoire vive (RAM) associée à un circuit de gestion des données ( 17); un dispositif de reconnaissance de messages "pattern matching" ( 18) recherchant les coïncidences entre les critères de sélection des mots en cours de réception sur les deux voies et les codes dits codes de piège à "labels" stockés dans la zone (Z 3) de la (RAM 2), ces - codes étant présentés séquentiellement par un pointeur de pièges à "labels" ( 23); un automate ( 19) servant à piloter un générateur d'adresse ( 20) associé à la mémoire (RAM 2) par l'intermédiaire d'un pointeur de réception ( 22), d'un pointeur d'émission ( 21) et d'un pointeur de liste des conditions ( 23). 9 Dispositif selon la revendication 6, caractérisé en ce qu'il comprend en outre, raccordé au bus interne, un bloc d'émission ( 12) connecté à au moins une voie de transmission par l'intermédiaire d'un modula- teur de ligne, un pointeur d'émission commandé par l'automate ( 19) et pilotant le générateur d'adresse ( 20) de la mémoire (RAM 2). Dispositif selon l'une des revendications 6 et 7, caractérisé en ce que la susdite seconde mémoire est structurée à la façon d'une pile FIFO, avec allocation dynamique.