Brevet FR2597686A1 — publié le 19871023

Procédé et dispositif pour la transmission de messaaes entr' différentes stations, à travers un réseau local à diffusion. L'invention concerne la transmission automatique d'informatiîns entre différents équipements qui sont interconnectés par un réseau local à diffusion. Dans un réseau local à diffusion, le support de la transmission d'informations entre les équipements est d'une nature qui per10 met à chaque équipement de percevoir les messages transmis. Le moyen physique employé pour engendrer les signaux élémentaires des messages est quelconque. Le message peut par exemple être défini sous forme électromagnétique, c'est-à-dire porté par des électrons, ou sous forme optique, c'est-à-dire porté par 15 des photons. Pour leur part, les supports d'une communication à diffusion peuvent être passifs, semi-passifs ou actifs. Ils sont dits passifs lorsqu'ils ne comportent aucun élément chargé de 20 régénérer ou d'amplifier les signaux du message. (De tels éléments requièrent naturellement l'utilisation d'une source d'énergie extérieure). Les supports sont dits semi-actifs lorsqu'ils recèlent de tels éléments régénérateurs ou amplificateurs. Enfin, les supports actifs comportent des éléments 25 qui sont chargés, lors de leur passage, de modifier tout ou partie des signaux du message. La présente invention s'applique à ces différentes catégories de supports à diffusion, étant observé que les supports actifs mentionnés en dernier lieu peuvent présenter en certains cas des particularités d'application. Pour leur part, les équipements automatisés qui vont être 5 interconnectés par le réseau peuvent être quelconques. Il s'agit,par exemple, de capteurs/actionneurs, d'automates programmables, de contrôleurs/régulateurs, de terminaux informatiques, d'ordinateurs, d'équipements téléphoniques, de terminaux vidéo. Ces équipements sont raccordés-à des stations d'accès qui assurent la gestion des communications sur le ou les sup- ports partagés. Chaque station fonctionne de manière autonome et asynchrone par rapport aux autres stations. Chaque 15 station est physiquement raccordée au support à diffusion, qu'elle partage avec les autres stations, au moyen d'un ensemble de matériel et de logiciel appelé coupleur. Ainsi, un coupleur a pour fonction d'assurer la génération 20 et la réception des signaux physiques sur le support de communication, ainsi que d'exécuter un protocole d'accès gérant le partage de ce support, la transmission et la réception des informations structurées sous forme de messages. La présente invention concerne plus particulièrement le fonctionnement de ces coupleurs. Il y a autant de coupleurs que de stations raccordées au réseau local. Ils sont, en principe, tous identiques. La 30 seule ressource commune partagée par les stations est donc le support de communication physique. Les coupleurs fonctionnent de manière asynchrone, et ne peuvent connattre instantanément ce que font les autres coupleurs à tout moment. Un tel système entraîne la possibilité d'une tentative de transmission simultanée de différents messages, émis par plusieurs coupleurs. Une telle tentative de transmission simultanée provoque ce que l'on appelle une colli- sion. Dans le domaine des réseaux informatiques, on connaît une technique dite CSMA (Carrier Sense Multiple Access), c'està-dire "accès multiple avec écoute préalable". Selon cette technique, lorsqu'un coupleur décide d'émettre un message, il doit au préalable écouter le support de communication. Ce n'est que lorsqu'aucune transmission n'est en cours qu'un couptleur a le droit d'émettre. Toutefois, les délais de propagation des signaux sur le support de communication n'étant pas nuls, plusieurs stations peuvent au même moment détecter l'absence de transmission et émettre leurs messages. Il y a donc collision. La publication du Brevet français n 2 306 478, au nom de XEROX CORPORATION propose un protocole qui permet de détecter de telles collisions, et de gérer les retransmissions après détection de collision (retransmission car, par hypothèse, la tentative de transmission initiale est demeurée infructueuse du fait de la collision). 20 Dans ses développements actuels, le protocole en question est connu sous le nom de CSMA-CD/BEB (Collision Detection and Binary Exponential Backoff). Voir notamment le document: The Ethernet Local Network: Three Reports, publié par Xerox, 25 Palo Alto Research Center Etats-Unis Février 1980. L'inconvénient de ce protocole connu est qu'il est de nature probabiliste. En effet, il ne peut garantir avec certitude qu'un message soumis au support de communication par une 30 station déterminée pourra être transmis avec succès sur le support en un temps fini, susceptible d'être fixé a priori. Si un message urgent, c'est-à-dire prioritaire par rapport aux autres messages, doit être transmis, il sera soumis aux mêmes règles qu'un message non urgent sans priorité, et de 35 ce fait pourra éventuellement ne pas être transmis dans les délais voulus. Or, de nombreux systèmes automatiques et informatiques opérant en temps réel imposent que tout ou partie des messages engendrés par les équipements soient transmis en des délais finis, bornés supérieurement, la borne étant connue a priori. Dans un contexte très différent, o la transmission s'effectue dans des créneaux temporels prédéterminés d'une manière commune pour tous les équipements, ce problème a été étudié par J.I. Capetanakis, dans l'article intitulé "Generalized TDMA: The Multi-accessing Tree Protocol", IEEE Transactions on Communications, Vol. 1, Com. 27, N 10, Octobre 1979. Capetanakis propose un algorithme de résolution de collision pour les supports de transmission de type canaux satellite. Outre le fait qu'il est appliqué à des supports de communi15 cation à longue distance, puisqu'un satellite géostationnaire est situé à 36 000 kilomètres de la Terre! l'algorithme proposé fait intervenir les considérations suivantes: - le canal satellite est synchrone, tous les coupleurs possé20 dant chacun une horloge physique parfaitement synchrone avec toutes les autres horloges, et les messages ne sont transmis que dans des tranches de temps parfaitement déterminées et toutes égales (c'est le principe du système TDMA, pour Time Division Multiple Access). 25 - Il n'existe pas de priorité absolue ou relative entre les coupleurs ou les messages. - Chaque message tient exactement dans une tranche de temps. Il apparaît immédiatement que les propositions faites par Capetanakis ne sont pas transposables aux protocoles de nature CSMA-CD, dont le fonctionnement est tout à fait 35 différent de ceux des transmissions TDMA. De plus, Capetanakis n'expose pas selon quelles règles un coupleur, impliqué ou non dans une collision, sait s'il a de nouveau le droit d'émettre. Enfin, l'algorithme proposé par Capetanakis ne traite pas les cas d'erreurs ou de pannes. Il demeure donc que, dans les réseaux connus du type CSMA-CD, une collision est résolue de manière probabiliste, comme précédemment indiqué. En cas de collision entre messages urgents, il n'y a aucune possibilité de garantir la transmission de tous ceux-ci en un délai fixé a priori. 10 Dans ces conditions, la présente invention a pour but d'apporter une solution aux problèmes qui viennent d'être relevés. Plus précisément, l'invention a pour but de fournir un procédé et un dispositif nouveaux qui possèdent les avantages suivants: - le procédé peut être un procédé à options, toute option 20 pouvant être sélectionnée au moment de la construction des coupleurs ou au moment de leur installation après construction. - Lorsque les options sont sélectionnées à l'installation, le changement d'option est possible en cours d'utilisation du réseau ou système de communication, sans qu'il soit nécessaire d'arrêter complètement son fonctionnement. - Une première option, correspondant à un mode dit "général", permet de gérer des coupleurs générant du trafic mixte périodique et apériodique. - Une autre option, correspondant à un mode dit "périodique", 35 permet de gérer spécifiquement des coupleurs générant du trafic périodique. 1 5 20 25 30 35 - Le procédé n'impose aucune limite supérieure particulière pour la taille des messages. - Tous les messages soumis à transmission sur le support physique sont transmis en un délai fini, dont la borne supérieure est connue a priori pour une taille maximum de messages donnée, qu'il y ait ou non apparition de collision. Lorsque se produit une collision, on appelle époque l'intervalle nécessaire à la résolution complète de cette collision. - Lorsque les messages ou les noms des coupleurs sont répartis dans plusieurs classes de priorités différentes, l'ordre de transmission des messages entrés en collision s'effectue dans une époque dans l'ordre des priorités. - A l'intérieur d'une époque, chaque coupleur peut émettre un nombre quelconque mais fixé de messages. Ce nombre peut être fixé à l'installation des coupleurs et peut être modifié pendant le fonctionnement du système de communication. - L'apparition d'une panne complète de coupleur, d'une erreur de transmission ou d'un retrait de coupleur n'entraîne pas la panne globale du système. Et il est possible d'insérer un nouveau coupleur ou d'en enlever sans interrompre le fonctionnement du système. Le procédé peut tolérer des comportement fautifs (tels que des brouillages intempestifs) pourvu que ces comportements soient détectés par tous les coupleurs. Plus généralement, le procédé possède les mêmes propriétés de fiabilité que le procédé CSMA-CD. En l'absence de collision, le mode d'accès au support est de type CSMA-CD. Le procédé proposé s'intègre dans la structure des boîtiers implantant le protocole CSMA-CD/BEB. Comme on le verra plus loin, lorsque le mode général est sélectionné, le système alterne en permanence entre les deux états de fonctionnement suivants: - état "époque en cours": une époque est définie précisément comme l'intervalle de temps compris entre l'apparition d'une collision alors que le canal est dans l'état "hors époque" et la résolution complète de cette collision; au cours d'une époque, des collisions peuvent se prcduire; 10 le mode d'accès est dit "tranché" et est défini par le procédé décrit dans le présent document. - état "hors époque": toute collision antérieure a été résolue; le mode d'accès est dit "aléatoire" (CSMA-CD). 15 Lorsque le mode périodique est sélectionné, le système est en permanence dans l'état "époque en cours", chaque époque étant précédée d'une collision générale détectée par le procédé CSMA-CD. Dans ce mode, en l'absence de fau20 tes de fonctionnement, aucune collision ne peut se produire dans une époque L'invention permet également d'étendre la gamme des classes de trafic gérées par les protocoles du type CSMA-CD/BEB. 25 En particulier, le procédé de l'invention pour la résolution déterministe des collisions permet d'assurer une gestion efficace d'un trafic de messages à caractère périodique aussi bien que d'un trafic à priorités multiples. Pour une meilleure compréhension de l'invention, il est fait référence au Brevet français n 2 306 478 précité, ainsi qu'à la norme IEEE 802.3, qui décrit les caractéristiques générales des réseaux de type ETHERNET. Dans la suite, on appelle p le délai de propagation des signaux d'un bout à l'autre du support de communication. 8 2597686 On note par TC une durée supérieure à deux fois p, et définie comme étant la "tranche canal" (channel slot time dans la norme IEEE 802.3 précitée). Selon l'invention, on appelle "phase canal" l'intervalle correspondant soit à une transmission complète et réussie d'un message de durée quelconque au moins égale à TC, soit à une tranche canal dans laquelle il s'est produit une collision (avec les brouillages correspondants) soit à une 10 tranche canal de silence, sans émission ni collision. Le procédé proposé est du type dit CSMA-CD, dans lequel: - chaque station est munie d'au moins un coupleur qui la connec15 te à un canal de transmission commun, à diffusion, - chaque coupleur est capable d'émission-réception sur ce canal, en mode asynchrone, en définissant une transition à chaque fin d'émission ou de réception, (l'émission se tra20 duit, en règle générale, par la présence d'une porteuse sur le canal, à partir de laquelle sont définies les transitions), - chaque coupleur écoute en permanence ledit canal et le scrute après chaque transition pendant une durée prédéterminée, qui est la tranche canal, - un coupleur ne peut commencer à émettre un message, sur demande de sa station, qu' en l'absence de signal (porteuse) 30 sur le canal, tandis qu'il interrompt ou invalide son émission s'il apparaît,pendant la tranche canal correspondante, un signal indicatif d'une collision, tel qu'un brouillage, manifestant un début d'émission simultanée par plusieurs coupleurs. D'une manière générale, l'invention est remarquable par la combinaison de moyens suivante: - initialement, on affecte à chaque coupleur au moins un 5 index qui lui est propre, choisi dans un ensemble d'index prédéterminé, et on munit chaque coupleur d'un automate qui possède un état de repos et un état de travail, dit époque, dans lequel il établit une séquence prédéterminée de sous-ensembles d'index, structurée pour pouvoir aboutir 10 à des choix successifs d'un seul des index, et de pouvoir couvrir ainsi tout l'ensemble des index, ladite séquence comprenant un nombre de pas maximum qui est fonction de sa structure et du nombre total des index, on établit un ordre de changement de pas, dit fin de phase canal, dans chaque coupleur à la fin de toute tranche canal ayant donné lieu à silence ou collision, ou à la fin de l'émission réussie d'un message, - dans chaque coupieur, on entretient au moins un comptage qui évolue à la cadence des fins de phase canal, et en fonction de la présence ou de l'absence de collision pendans chaque phase canal, jusqu'à une valeur de référence choisie, - un coupleur n'est autorisé à émettre librement que si son comptage se trouve à la valeur de référence, et - en présence d'une collision lorsque ledit comptage est à 30 sa valeur de référence, tous les coupleurs en service mettent leur comptage à une valeur de forçage choisie, alors qu'au moins les coupleurs actifs, c'est-à-dire qui ont émis lors de la collision, font passer leur automate à l'état de travail ou époque, et lui font parcourir ladite séquence à la cadence des fins de phase canal, cependant que seuls les coupleurs munis d'un index appartenant au sous-ensemble désigné par ce pas sont autorisés à émettre un message associé à cet index, la valeur de forçage et la valeur de référence étant choisies de façon que le comptage ne revienne à la valeur de référence qu'après résolution complète de la collision qui a engendré l'époque, les coupleurs étant alors autorisés à nouveau à émettre librement, tandis que les automates reviennent en leur état de repos. Ceci permet de résoudre toute collision en un temps limité. 10 Selon un autre aspect de l'invention, les coupleurs dont l'automate est dans l'état de travail entretiennent un second comptage, qui évolue aussi à la cadence des fins de phase canal et en fonction de la présence ou de l'absence 15 de collision pendant chaque phase canal, mais à l'intérieur de l'époque et avec des valeurs de forçage et de référence dont l'une au moins est différente de celles du premier comptage. Pour la mise en oeuvre de ce procédé, l'invention fait usage de coupleurs comportant, de façon connue: - un circuit de contrôle du canal de transmission, propre à fournir au moins trois signaux logiques respectivement 25 représentatifs d'une émission en cours par le coupleur (TxD), d'une réception en cours sur le canal (RxD), et d'une collision détectée sur le canal (CD) et, - un circuit de commande qui assure la liaison entre le reste de la station et le circuit de contrôle, en fonction des signaux reçus sur le canal, et des demandes d'émission de message en provenance de la station. Dans un coupleur selon l'invention, le circuit de commande 35 comprend: des moyens propres à mémoriser au moins un index binaire qui lui est propre, et au moins une demande d'émission de message en relation avec cet index, - des moyens logiques de phase canal pour définir les fins de tranche canal, ainsi que des fins de phase canal correspondant soit à une fin de tranche canal ayant donné lieu à silence ou collision, soit à la fin de l'émission réussie d'un message, - des premiers moyens de comptage évoluant à la cadence des fins de phase canal jusqu'à une valeur de référence choisie, - des'moyens logiques multi-états, définissant un automate possédant un état de repos et un état de travail, dit époque, dans lequel il établit une séquence prédéterminée de sousensembles d'index, structurée pour pouvoir aboutir à des choix successifs d'un seul des index, et pour pouvoir couvrir ainsi tout l'ensemble des index, ladite séquence comprenant un nom20 bre de pas maximum qui est fonction de sa structure et du nombre total des index, - des moyens n'autorisant le coupleur à émettre librement que si le premier comptage se trouve à sa valeur de réfé25 rence, - des moyens propres à réagir à la présence d'une collision lorsque le premier comptage est à sa valeur de référence en mettant ce premier comptage à une valeur de forçage choi30 sie, et en faisant passer l'automate en son état de travail, ou époque, et des moyens n'autorisant alors le coupleur à émettre que si son index appartient au sous-ensemble désigné à chaque fois par-l'automate, la valeur de forçage et la valeur de référence étant choisies de façon que le comptage ne revienne à la valeur de référence qu'après résolution complète de la collision qui a engendré l'époque, les coupleurs étant alors autorisés à nouveau à émettre librement, tandis que les automates reviennent en leur état de repos. De préférence, le coupleur comporte de seconds moyens de comptage, évoluant aussi à la cadence des fins de phase canal, et en fonction de la présence ou de l'absence de collision pendant chaque phase canal, mais à l'intérieur de l'époque, et avec des valeurs de forçage et de référence dont l'une au moins est différente de celles des premiers moyens de comptage. D'autres aspects de l'invention seront maintenant exposés. Ils s'appliquent tant au niveau du procédé qu'à celui du dispositif. On s'intéressera d'abord au mode général, ensuite au-mode périodique. En mode général, les moyens logiques multi-états sont agencés pour définir une séquence prédéterminée structurée en un arbre de décision binaire, propre à subdiviser l'ensemble des index par dichotomies successives jusqu'à les atteindre un par un, et auquel est associée une règle d'exploration/ 25 décision en fonction du fait que la phase canal précédente a donné lieu à un silence, à une collision, ou à l'émission réussie d'un message, et les valeurs de forçage et de référence du premier comptage sont espacées de 2 pas, ce comptage évoluant d'un pas, enprogression ou régression par rapport 30 à la valeur de référence, suivant que la phase canal précédente a ou non fait l'objet d'une collision. Selon un autre aspect de ce mode général, les moyens logiques multi-états sont agencés pour exécuter une règle d'explora35 tion/décision qui comprend: - le passage à l'autre sous-ensemble de la dichotomie en cours, en présence d'une phase canal de silence, ou d'une phase canal d'émission réussie, ou bien - une nouvelle dichotomie du sous-ensemble en cours d'examen, en présence d'une phase canal de collision, et les valeurs de forçage et de référence du second comptage sont les mêmes, ce comptage évoluant d'un pas comme le premier, en progression ou régression par rapport à sa propre valeur de référence, si bien que ce second comptage permet à un coupleur de déterminer 10 qu'il a réintégré un sous-ensemble l'autorisant à émettre. Selon une variante avantageuse, en présence d'une phase canal de silence, la règle d'exploration/décision comprend une nouvelle dichotomie immédiate de l'autre sous-ensemble de la 15 dichotomie en cours. Selon une autre variante avantageuse, en présence d'une collision au cours de laquelle son premier comptage se trouve à la valeur de référence, le coupleur fait passer systémati20 quement son automate à l'état de travail; dans la suite de l'époque, l'émission d'un message par le coupleur demeure autorisée pour les index appartenant à un sous-ensemble ayant donné lieu à une collision non encore résolue. En pratique, les moyens logiques multi-états sont agencés de sorte que ledit arbre binaire est défini d'après les bits successifs des index, et l'ordre dans lequel ils se présentent. Selon un mode de réalisation particulier, les moyens logiques 30 multiétats comprennent des moyens 2ormant un registre à décalage, de capacité au moins égale au nombre maximum de bits significatifs présents dans les index de l'ensemble prédéterminé, la dichotomie comportant un décalage du contenu de ce registre, et des moyens pour comparer le contenu du 35 registre à l'index en cours. Selon un autre aspect de l'invention, le coupleur reçoit initialement plusieurs index de priorités différentes, ladite règle d'exploration/décision explore les sous-ensembles d'index dans l'ordre des priorités, et les demandes d'émission de message sont associées chacune à l'un des index en fonction de leur priorité. Selon encore une autre variante avantageuse, s'il n'a pas reçu de demande d'émission de message de la part de sa sta10 tion, le coupleur se comporte comme désirant émettre un message 'nil' (l'émission ne sera pas exécutée, sauf si un vrai message vient entre temps se substituer au message 'nil'). Le coupleur fait ainsi passer systématiquement son automate à l'état de travail ou époque, dès lors qu'il se 15 produit une collision pendant l'état de repos de ce même automate. En mode périodique, ladite séquence prédéterminée est une suite de tous les index, pris à un un, et la différence entre les valeurs de forçage et de référence du premier comptage est au moins égale au nombre de pas de ladite suite, ce comptage progressant vers la valeur de référence à chaque fin de phase canal sans collision. Très avantageusement, on affecte à ce coupleur plusieurs index, ce qui permettra au coupleur de faire passer au moins un autre message avec un autre index dans la même époque. Selon un mode de réalisation particulier, l'un au moins des premiers et seconds moyens de comptage comprend un registre à décalage. Selon un autre aspect de l'invention, pour son entrée en service, le premier comptage du coupleur est mis à une valeur au moins égale au nombre de pas maximum de la séquence prédéterminée. Ainsi, le réseau de communication peut être commutable entre un fonctionnement en mode général et un fonctionnement en mode périodique. L'invention couvre aussi le réseau constitué de plusieurs coupleurs tels que définis ci-dessus, connectés à un support 10 de transmission commun, à diffusion. D'autres caractéristiques et avantages de l'invention apparaitront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels: 15 - la figure 1 illustre le schéma général d'un réseau de communication; - la figure 2 est le schéma de principe d'un coupleur; 20 - la figure 3 est le schéma partiellement détaillé d'un circuit du coupleur de la figure 2; - la figure 4 est le schéma plus détaillé du circuit de la 25 figure 3; - les figures 4A et 4B sont des chronogrammes relatifs au circuit des figures 3 et 4; - la figure 5 est le schéma d'une variante de réalisation du circuit de la figure 2; la figure 6 est un diagramme illustrant le fonctionnement du "compteur d'époque"; - les figures 7A à 7C sont les schémas de trois modes de réa- l - lisation du compteur d'époque; - la figure 8 est un diagramme illustrant le fonctionnement d'un dispositif selon l'invention; - les figures 9A et 9B sont les schémas de deux modes de réalisation du second compteur; - la figure 10 illustre une variante du diagramme de la 10 figure 6; et 20 / D 35 - la figure 11 illustre une variante de la partie R, encadrée en tireté, du diagramme de la figure 8. Les dessins annexés comportent de nombreux éléments de caractère certain qu'ils peuvent seuls apporter. Ils font donc partie intégrante de la description, pour servir à faire comprendre l'invention, aussi bien qu'à la définir. Sont également incorporés à la présente description les éléments connus relatifs aux réseaux CSMA-CD et/ou Ethernet, notamment le Brevet, les articles et la norme déjà cités. La figure 1 illustre une pluralité de stations S1,... Si,... Sn. A chacune d'entre elles sont connectés un ou plusieurs équipements automatisés, tels que des capteurs/ actionneurs, des automates programmables, des contrôleurs/ régulateurs, des terminaux informatiques, des ordinateurs, des équipements téléphoniques, ou encore des terminaux vidéo. Chaque station Si est physiquement raccordée à un support ou canal de transmission SC, par l'intermédiaire d'un matériel ou d'un ensemble de matériel et de logiciel que l'on appelle coupleur et que l'on note Ci. La station Si comprend aussi une unité de commande UCi, reliée au coupleur Ci par un bus interne BIi. Dans certains cas, on peut aussi incorporer le coupleur dans un équipement. Pour sa part, le canal de transmission SC est un support à diffusion, de type électromagnétique ou optique, passif, semi-passif ou actif (c'est-à-dire muni d'amplificateurs-régénérateurs). Il comporte au moins une ligne de transmission, étant rappelé que plusieurs lignes sont souvent utiles pour réaliser une sécurité par redondance des supports et/ou des maté10 riels d'émission/réception et/ou des informations transmises. La figure 2 illustre, à titre d'exemple, une réalisation d'un coupleur Ci (on omet l'indice i dans la suite). Ce coupleur se compose principalement d'un circuit noté GSC, 15 qui gère l'accès physique au support de transmission SC, et d'un circuit noté GER, qui réalise la gestion des émissions, des réceptions ainsi que des collisions. Le circuit GSC peut être réalisé, de manière connue, à l'ai20 de de bcttiers de circuit intégré tels que le modèle 82 501 de la Société des ETATS-UNIS INTEL CORPORATION, ou à l'aide d'éléments discrets. Ce circuit doit fournir au moins trois signaux logiques et leurs compléments: CD représentant une détection de collision, et son complément CD, TxD, indiquant que la ligne de transmission du coupleur est 30 active, et son complément TxD, RxD, indiquant que la ligne de réception du coupleur est active, et son complément RxD. L'état de TxD et TxD est entièrement sous le contrôle du coupleur concerné, tandis que ceux de RxD et CD ainsi que de leurs compléments dépendent des autres coupleurs. e à 10 Si un seul des coupleurs émet, alors RxD deviendra vrai dans tous les coupleurs, au plus tard après une durée égale à p (p étant le délai de propagation des signaux d'un bout à l'autre du support de communication, comme défini plus haut). Si deux coupleurs ou plus détectent l'état RxD d'émettre, alors l'état CD deviendra vrai pour coupleurs dans un délai de 2.p au-plus. et décident tous les Le fait qu'un message est en cours de transmission sans collision est représenté par la condition suivante: CD & RxD le symbole & représentant l'opérateur logique ET. 25 Enfin, RxD est toujours vrai lorsque CD est vrai, car s'il y a collision, une réception (probablement incohérente ou brouillée) est nécessairement en cours. Ce qui précède suppose un découpage dans le temps. Dans la technique CSMACD, ce découpage temporel s'effectue de manière asynchrone au niveau de chaque coupleur selon des transitions et des tranches canal (TC). Pour la mise en oeuvre de 1 'invention, ce découpage s'effectue selon des "phases canal". Une phase canal est: - soit l'intervalle de temps correspondant à une transmission complète et réussie d'un message (condition U RxD; durée variable), et - soit l'intervalle de temps de durée égale à une tranche 35 canal pendant lequel apparaît une collision ainsi que les brouillages correspondants (conditions CD et RxD), - soit un intervalle de temps de durée égale à la tranche canal, pendant lequel le canal est silencieux, sans émission ni collision (CD et RxD). Ce découpage dans le temps est réalisé au niveau du circuit GER (figure 2) dont un exemple de réalisation principalement matériel est illustré sur les figures 3 et 4, tandis que les figures 5 et suivantes illustrent des variantes préférentielles de réalisation de ce même circuit. Réalisation matérielle: Sur les figures 3 et 4, on reconnaît en partie basse le bus interne BI, ainsi qu'à droite les trois signaux CD, RxD et TxD échangés par le circuit GER avec le circuit GSC déjà cité. En présence d'une demande d'émission par la station, et du message numérique correspondant à transmettre, le bus interne BI applique ce message à un circuit 10 dit sérialisateur/ désérialisateur. Il est réalisé par exemple à l'aide d'un circuit intégré du type 2652 vendu en France par la Société RTC. Pour l'émission, la fonction du circuit 10 est de mettre sous forme série le message que lui présente en parallèle le bus interne BI en lui ajoutant un en-tête et/ou des bits de synchronisation. Ce message transite alors par le signal TxD. 30 Inversement, pour une réception sans brouillage, le circuit va remettre sous forme parallèle les informations qui lui proviennent en série, à travers le canal de transmission, d'un autre coupleur. L'en-tête et les bits de synchronisation sont alors éliminés. Les signaux RxD et TxD sont donc 35 échangés directement entre le circuit 10 et le circuit GSC de la figure 2. Le circuit 10 reproduit toutefois le signal RxD, maintenant sous forme logique, pour qu'il puisse servir aux éléments qui l'accompagnent. Le circuit 10 comporte encore une entrée 101, reliée à la sortie d'une porte logique 11. Cette entrée 101 permet la validation et l'initialisation de l'émission, en présence d'une demande d'émission d'un message numérique par la station locale. Un circuit d'horloge (non représenté) fournit un signal d'horloge rapide H à une entrée d'une porte ET 21. L'autre entrée de la porte 21, qui est inverseuse, reçoit le signal logique RxD fourni par le circuit 10. La sortie de cette porte ET 21 est appliquée à un compteur-temporisateur 20, 10 capable d'établir une temporisation pendant une durée TC c'est-à-dire la tranche canal. On vérifie bien que la tranche canal est définie, de manière asynchrone, au niveau de chacun des coupleurs, à partir de l'horloge rapide H qui lui est propre. Au terme de la temporisation, une sortie 201 du circuit 20 fait entrer en fonction le circuit 22, pour la détection des "phases canal". Le circuit 22 reçoit comme autres entrées les signaux CD et RxD. Il possède deux sorties notées +:= ainsi que -:=. Par convention, +:= est associé à un décalage à droite dans un registre à décalage, tandis que -:= est associé à un décalage à gauche. Le signal +:= est mémorisé dans une bascule 23. La sortie de cette bascule 23, notée + =', ainsi que les deux signaux de sortie du circuit 22 sont appliqués d'une part à un circuit 24 de gestion des époques E, d'autre part à un circuit 26 propre à établir une division dichotomique. Le circuit 26 peut également recevoir le bus interne BI. 30 La sortie du circuit 26, ainsi que celle de la bascule 23, sont appliquées à un circuit 28, qui forme un second compteur pour la mise en oeuvre de l'invention. Enfin, la sortie du circuit 24 est appliquée, en même temps que le signal d'horloge rapide H, à une porte ET 30. La sortie de cette porte actionne une bascule 31, qui reçoit ici un fil provenant du bus interne, et commande par sa propre sortie la porte ET 11 déjà citée. Il est maintenant fait référence à la figure 4, qui illustre un mode de réalisation particulier des organes de la figure 3. Une bascule 225 reçoit comme signal d'horloge le signal logique RxD. Elle reçoit sur son entrée D un signal logique '1', 10 ici de + 5 volts. Sa sortie Q passe donc au niveau logique 1' au terme de la première impulsion présente dans le signal RxD. Le signal de la sortie Q de la bascule 225, noté RxD', complémenté, est appliqué à une entrée de commande de chargement du circuit 20, qui est ici un registre à décalage. Sur 15 activation de cette entrée, le registre à décalage 20 reçoit un signal logique 'O' en toutes ses cellules sauf une, qui reçoit un signal logique '1'. Il est alors pulsé par son entrée de signal SL, à l'aide du signal de sortie de la porte ET 21, lequel est constitué d'impulsions d'horloge rapide H, 20 limitées à la durée du signal RxD complémenté. Les "tranches canal" ne sont donc élaborées qu'en l'absence de réception en cours.La sortie HTC du circuit 20 est immédiatement excitée pendant une durée égale à un cycle d'horloge rapide. Elle le sera à nouveau, en l'absence du signal RxD, après un nombre d'impulsions d'horloge rapide correspondant à la temporisation désirée TC. Cette sortie est appliquée tout d'abord à l'entrée D d'une autre bascule mémoire 228, dont l'entrée d'horloge reçoit l'horloge rapide H. La sortie Q de cette bascule 228 produit dès la fin de la première impulsion d'hor30 loge rapide qui suit l'apparition du signal HTC, une impulsion de remise à zéro, appliquée à l'entrée R de la bascule 225. Cette dernière est alors prête à prendre en compte un nouveau signal RxD. La sortie Q de la bascule 228 produit également une remise à zéro d'une autre bascule 229, dont l'entrée D reçoit un signal logique'i', et dont l'entrée d'horloge est le signal CD. 22 2597686 La sortie Q de la bascule 229 fournit un signal de détection de collision noté CD', qui est donc ainsi rafraîchi après chaque tranche canal, telle que mesurée par le circuit de temporisation 20. Maintenant, le signal +:= est fourni par une porte ET 221 qui reçoit d'une part le signal HTC, d'autre part le signal CD'. Le signal -:= est fourni par une porte ET 222. Une entrée de celle-ci est fournie par une porte OU 223 qui re10 çoit d'une part le signal HTC, d'autre part le signal RxD'. L'autre entrée de la porte ET 222, complémentée, reçoit le signal CD'. La bascule 23 reçoit le signal +: sur son entrée D. Elle 15 reçoit comme horloge le signal d'horloge rapide H. Elle va donc prendre en compte le signal +:= à la première impulsion d'horloge rapide H qui le suit, ce qui fournit un signal +:=' qui est retardé d'un cycle d'horloge par rapport au signal +:=. La première fonction du circuit qui vient d'être décrite est d'établir la détection des phases canal, une phase canal étant: - une collision apparue pendant un intervalle de temps de 25 durée égale à la tranche canal, ou un message passant avec succès, pendant un intervalle de temps variable avec la durée du message, ou - une tranche canal pendant laquelle il ne s'est produit ni collision ni message. La partie gauche de la figure 4A intéresse le cas d'une collision. La montée du signal RxD signifie qu'un ou des messages transitent sur le canal de transmission. La montée du signal CD signifie qu'il y a collision, donc qu'il s'agit :" a de plusieurs messages. Les signaux RxD' et CD' passent à l'état vrai, respectivement au front descendant des signaux RxD et CD. Le front montant du signal RxD' valide le chargement du contenu du registre à décalage, qui produit alors 5 le signal HTC au terme de la première impulsion suivante de l'horloge rapide H. Par la bascule 228, la retombée de l'impulsion HTC produit le retour à l'état O des signaux RxD' et CD'. Entre temps, l'impulsion HTC a produit un signal +:= sur la sortie de la porte ET 221. 10 On note que le temporisateur 20 est bloqué dès que le signal RxD est actif, du fait de la porte ET 21. L'homme de l'art aura également compris que les bascules et registres se chargent sur le front montant de l'horloge qui leur est 15 appliquée tandis qu'elles valident en sortie sur le front descendant de l'horloge, c'est-à-dire que leur signal de sortie n'est fourni qu'au front descendant qui suit le front montant de l'horloge. La partie droite de la figure 4A illustre un message passant avec succès. Cette fois, il n'est pas apparu de signal CD pendant le signal RxD. RxD' s'est produit comme précédemment, suivi de HTC après une impulsion d'horloge. La remise à zéro n'intéresse que le signal RxD', puisque le signal CD' n'est 25 pas passé à l'état vrai, en l'absence de tout signal CD. Dans ce cas, c'est la porte ET 222 qui fournit un signal -:= pendant l'impulsion HTC. La figure 4B illustre le cas o n'apparaît ni collision ni 30 message. Dans cette situation, le registre à décalage 20 est bouclé sur lui-même. Son unique bit à '1' apparaît périodiquement sur sa sortie 201 pour produire le signal HTC. Celui-ci est immédiatement suivi d'une impulsion de remise à zéro qui n'a d'ailleurs pas d'effet sur les bascules 225 et 229. Comme c'est la condition CD qui est vraie, on observe que la porte ET 222 fournit un signal -:=. Cette situation se répète trois fois sur la figure 4B, montrant ainsi trois tranches canal consécutives sans collision ni message. Le circuit de la figure 4 est propre à fonctionner selon 5 deux modes différents, qui doivent être sélectionnés conjointement dans tous les coupleurs qui travaillent sur le même support de communication. Le mode est défini par un bit de mode qui prend: 10 - la valeur 'O' pour le mode général, correspondant à une séquence dichotomique, - la valeur '1' pour le mode périodique, qui correspond à 15 une séquence o l'on examine les index un-par un. Dans ce mode de réalisation, le circuit 24 comprend un organe 241, qui reçoit le bit de mode. L'organe 241 est un démultiplexeur permettant le prépositionnement des entrées 20 d'un registre à décalage 240 (en deux blocs de k+1 entrées d'une part, n-k-2 entrées d'autre part) selon que le bit de mode est à O ou 1. Maintenant, n désigne le nombre de coupleurs potentiellement connectables au canal, et n est codable sur k bits, k étant l'approximation entière par excès de log2n, o log2 désigne la fonction logarithme de base 2. Il convient d'observer maintenant que le mode général peut se subdiviser en deux cas, l'un dit entrées bloquées (EB), 30 l'autre dit entrées libres (EL). En mode entrées bloquées, un interrupteur 305 transmet directement le signal de la sortie 242 vers une entrée complémentée de la porte 30. En mode entrées libres, c'est la sortie Q de la bascule 306 qui est transmise. On rappelle que la seconde entrée de la 35 porte 30 reoit le signal d'horloge H. Sa sortie définit l'horloge de la bascule 31, dont l'entrée D reçoit l'un des fils du bus interne BI, qui correspond à une demande d'émission de message. Lorsque la sortie 242 du registre 240 indique que celui-ci est à zéro, la sortie Q de la bascule 31 produit un signal DT qui va servir à valider et initialiser l'émission, par son action sur l'une des entrées de la porte ET 11. Celle-ci n'autorise effectivement l'émission que d'une part si il n'y a pas de réception en cours (signal RxD vrai), d'autre part si le registre 280 que comprend l'organe 28 possède une sortie 281 dans un état prédéterminé, représentatif d'une valeur O comme on le verra plus loin. L'état 1 de la sortie 281 correspond à un coupleur perdant après une 10 dichotomie. La même sortie 281 est prise en compte sur l'entrée d'horloge d'une bascule 306, qui passe alors à l'état vrai, et sa sortie Q peut, dans la condition "entrées libres", être prise en compte dans l'état correspondant de l'interrup15 teur 305 pour alimenter la porte ET 30 déjà citée. Enfin, la même sortie 281 arrive sur une entrée complémentée d'une porte ET 261, qui reçoit comme autre entrée le signal +:= provenant de la porte ET 221, ainsi que 20 le signal DT fourni par la sortie Q de la bascule 31. La sortie de la porte ET 261 est appliquée à un registre à décalage de dichotomie, noté 260, sur l'entrée de décalage à droite SR de celui-ci. Ce registre à décalage 260 contient 25 un index x. Il reçoit comme horloge l'horloge rapide H. Comme commande de chargement, il reçoit la sortie d'une porte ET 265. Une première entrée, complémentée,de cette porte, est le signal issu de la sortie 242 du registre de gestion d'époque 240. Une seconde entrée de la porte 265 est le signal d'en30 trées libres issu de la sortie Q de la bascule 306. Une troisième entrée de la porte ET 265 est fournie par une porte OU 266. Celle-ci reçoit d'une part le fil de sélection qui est appliqué aussi à la bascule 31. D'autre part, elle reçoit la sortie d'un circuit de retard (monostable), du type 74 121, 35 qui a pour entrée le signal de la sortie 242 du registre de gestion d'époque 240. Enfin, la sortie du circuit 74 121 est également appliquée à une batterie de portes ET 270, qui reçoivent comme autres entrées les sorties d'un circuit 290. Le circuit 290 peut être chargé à partir du bus interne BI, par une valeur x' qu'il transmet donc aux portes 270 déjà citées, ainsi qu'au circuit 280. Cette valeur x' définit un ou plusieurs autres index utilisables dans l'époque. Quant au registre à décalage 260 sa sortie de bit de poids le plus faible, notée LSB, valide une porte ET 275, dont l'autre entrée est le signal + :='. La sortie de cette porte 275 est reçue par un démultiplexeur 282, commandé par le signal de mode. Cecilfait que le registre à décalage 280, qui définit une grandeur j de n bits, reçoit sur son entrée de décalage à gauche le signal -:= issu de la porte ET 222. Il reçoit un signal tiré de +:=' et du bit de poids le plus faible du registre 260, et ce soit sur son entrée de décalage à droite SR, soit sur son entrée de chargement,selon l'état du bit de mode appliqué au démultiplexeur 282. Comme les autres, le registre à décalage 280 est alimenté par l'horloge rapide H. La bascule 306 reçoit sur sonentrée D un signal "1" noté +5V. Sur son entrée d'horloge, elle reçoit le signal présent sur la ligne 281, qui correspond au bit le plus à gauche du registre 280. L'homme de l'art comprendra que lorsque ce circuit est décalé à droite pour la première fois, le signal 281 passe de "0" à "1". Par la suite, et en fonction des décalages successifs de ce registre (à gauche ou à droite),ce signal reviendra à "0" (après un nombre suffisant de décalages à gauche). Alors l'entrée d'horloge de la bascule 306 aura vu une impulsion complète et sa sortie passe à "1". En mode entrées libres, elle alimente l'entrée complémentée de la porte 30 et interdit donc la prise en compte d'une demande d'émission ultérieure. Le fait que le signal 281 passe de "1" à "0", signifie que le coupleur a de nouveau le droit d'émettre. On interdit donc bien la transmission pour ce coupleur lorsque celui-ci a eu une fois le droit d'émettre après la collision initiale. L'interdiction d'émettre est invalidée lorsque le signal 242 repasse à 0, c'est-à-dire que l'époque est terminée. Ceci est réalisé par le fait que le signal 242 complémeâté est appliqué à l'entrée R (remise à zéro) de la bascule 306. Le fonctionnement de ces éléments des figures 3 et 4 sera décrit plus loin, sous forme fonctionnelle, et d'une manière commune avec les autres modes de réalisation de la présente invention. Ces autres modes de réalisation utilisent une architecture matérielle qui est illustrée sur la figure 5. On y retrouve le circuit GSC, en prise directe sur le canal de transmission SC. Comme précédemment, ce circuit fournit les signaux CD, RxD, TxD et leurs compléments. Le signal RxD est appliqué à un sérialisateur/désérialisateur 110, qui reçoit par ailleurs le bus interne et produit le signal série TxD. Une unité de traitement pour la communication est constituée d'un circuit 120, qui peut être fondé sur un microprocesseur 8751 ou 8080 de la Société INTEL Corporation- Cette unité 120 est munie 25 d'une interface 121, qui lui permet d'échanger des informations avec le bus interne BI. L'unité de traitement reçoit, sous forme de commandes d'interruption,les signaux CD et RxD élaborés par le circuit GSC. Le fonctionnement demandé à l'unité de traitement 120 sera décrit ciaprès par des schémas de la forme réseau de Petri, dans lesquels on a toutefois incorporé des tests comparables à ceux des représentations en organigramme classique. Compteur d'époque ou compteur E (figure 6). Le point de départ du schéma de la figure 6 est l'initialisa- sation d'un coupleur (bloc 50). L'initialisation débute par un test de mode 51, le mode étant défini par un bit qui est mis à '0' (mode général) ou '1' (mode périodique) à la construction des coupleurs ou bien à leur mise en place sur le terrain. Dans le mode général, la sortie du test 51 est une étape 52 consistant à forcer un compteur E à une valeur k+1. (Le symbole:= illustre l'affectation d'une valeur numérique à une variable). En mode périodique, la sortie du test 51 va, à l'étape 53, affecter la valeur N au compteur E. On verra plus loin que N vaut n en mode périodique et 2 en mode général. 20 25 30 35 Ensuite, il apparaît en 54 une "place", comme connu dans les réseaux de Petri. La ligne horizontale épaisse 56 représente l'interrogation du support de transmission. Il vient aussi sur cette ligne 56 une autre place 55, libellée FPC, pour "fin de phase canal". C'est seulement lorsque les deux places 54 et 55 possèdent chacune leur jeton que l'on peut exécuter l'interrogation du support à la ligne 56. (Ceci correspond au bloc 2 de la figure 3). Il est rappelé que le compteur E est ici à zéro dans l'état de repos de l'automate selon l'invention. Il passera à des valeurs entières positives lorsque l'automate est dans son état de travail, tout en conservant une relation prédéteri minée avec la séquence de sous-ensembles d'index suivant laquelle évolue l'automate. Quatre situations peuvent se produire: - CD et E positif. Un test 60 examine alors à nouveau le bit de mode.En mode général, on effectue une incrémentation d'un pas à l'étape 61, dans le compteur E. En mode périodique, la situation est anormale. Une étape 62 effectue un traitement d'erreur convenable pour permettre la remise en fonction du réseau de communication. - CD et E = 0. L'étape 63 affecte la valeur N au compteur E, étant rappelé que N vaut 2 en mode général, et n en mode périodique. - C-D et E positif. L'étape 64 effectue une décrémentation d'un pas du compteur E, quel que soit le mode. - CD et E = 0. On retourne directement à la place 54. On comprendra mieux le schéma de la figure 6, de même que le montage du circuit 24 qui lui correspond sur les figures 3 10 et 4,à l'examen des schémas détaillés des figures 7A à 7C. On admet maintenant que le comptage de la grandeur E est réalisé par un registre à décalage possédant au moins k+1 bits (de préférence k+2) pour le mode général, et n bits pour le 15 mode périodique. On parlera néanmoins du "compteur E". En mode général (figure 7A), tous les bits du registre à décalage 240 sont initialement mis à 1. Une valeur 1 est présentée à gauche, de façon que lors d'un décalage vers la droite, une valeur 1 soit insérée dans le bit de premier rang du registre 240. Inversement, une valeur 0 est présentée à droite, de façon qu'en cas de décalage à gauche, une valeur 0 soit introduite dans la position de bit k+2 qui est la plus à droite. Les bits 2 à k+2 du registre à décalage 240 sont de plus bouclés sur euxmêmes, c'est-à-dire qu'on peut les recopier à l'identique si nécessaire. Ainsi, à chaque collision on recharge sur euxmêmes les bits 2 à k+2 du registre, alors que 30 le premier bit (bit 1) est chargé à 1, puis on décale à droite. Ceci réalise aussi le forçage initial, sans faire de différence entre la première collision et les suivantes. La sortie du compteur E est l'état de son premier bit, comme 35 l'illustre la figure 7A (équivalent du signal 242 figure 4). La figure 7B concerne le cas du mode périodique. Le registre 20 25 30 35 à décalage 240 comprend maintenant n bits. Tous peuvent être mis à 1 simultanément sur une commande de chargement extérieure. Lors du décalage à droite, une valeur 1 est présentée à gauche, tandis que lors des décalages à gauche, une valeur 0 est présentée à droite. Là encore, la sortie du compteur E est définie par l'état de son premier bit. La figure 7C illustre un mode de réalisation combiné, permettant de réaliser à partir du même registre les fonctions des figures 7A et 7B. Un multiplexage (fonction du circuit 241, figure 4) est établi par les organes 241A et 241B. Il s'agit de multiplexeurs 1 parmi 2. Pour le mode général, le bit de mode vaut 0. Le multiplexeur 241A recycle les bits 2 à k+2 du registre à l'identique, tandis que le multiplexeur 241B introduit des O dans les n-k-2 autres bits. Au contraire, en mode périodique, le multiplexeur 241A introduit des 1 dans les bits 2 à k+2, tandis que le multiplexeur 241B introduit des 1 dans les n-k-2 autres bits. L'homme de l'art comprendra que le circuit ainsi obtenu est capable, en fonction de l'état du bit de mode, de fournir au choix soit le fonctionnement de la figure 7A, soit celui de la figure 7B. On décrira maintenant brièvement le fonctionnement des dispositifs selon l'invention,dans les deux modes général et périodique. Mode général. Le Demandeur a observé que le nombre maximal de collisions successives pouvant survenir à l'intérieur d'une époque en mode général est k-1, avec la convention cue la collision initiale ouvrant une époque n'est pas comptabilisée. Il a également observé que, dans ce mode général, le nombre maximum de tranches vides consécutives à l'intérieur d'une époque est k-1 si l'on suppose des coupleurs totalement fiables ou k+1 si l'on souhaite tolérer les défaillances. C'est pourquoi, sur les figures 7A et 7C, le compteur E est mis à la valeur initiale k+1 dans les coupleurs en initialisation. L'homme de l'art comprendra que le fait que le coupleur en initialisation ne soit pas synchronisé avec les autres coupleurs sur les tranches vides (en supposant qu'une époque soit en cours) n'a pas d'importance, car - soit cette synchronisation est inutile dès lors que le compteur E atteint la valeur 0, 10 - soit la synchronisation nécessaire est obtenue normalement en cas de canal devenant actif avant que E n'atteigne la valeur 0. A l'initialisation, l'étape 52 (figure 6) force E à k+l. Un jeton est posé à la place 54, et l'on entreen fonctionnement normal. Des fonctions analogues (non représentées) sont exécutées dans le dispositif des figures 3 et 4. L'analyse détaillée des différents cas possibles permet de vérifier que le compteur E d'un coupleur en initialisation atteint la valeur 0 en un délai fini, borné supérieurement, et que cette valeur în'est jamais atteinte alors qu'une époque est en cours. Le bit k+2 permet de détecter le fonc25 tionnement erratique d'un coupleur. Mode périodique. En l'absence d'erreur, ce n'est qu'en début d'époque que peut 30 se produire une collision, laquelle permettra à un coupleur en initialisation de se synchroniser avec les coupleurs en fonctionnement. En cas de collision, chaque coupleur assigne à son compteur E la valeur N = n, qui est aussi la valeur d'initialisation. * Si E atteint la valeur 0 sans que ne se produise de collision, cela signifie que le coupleur est seul dans le système. i 1 On peut donc initialiser le système en initialisant un seul coupleur ou plusieurs coupleurs simultanément. Lorsque les coupleurs sont initialisés, la surveillance des époques s'effectue selon le mécanisme illustré sur la figure 6. Ce mécanisme est exécuté en permanence par tous les coupleurs. -Il peut être câblé comme c'était le cas des figures 3, 4 et 7, ou bien microprogrammé à partir du matériel de la figure 10 5 et d'un logiciel conforme aux schémas illustrés dans les figures suivantes. Dans un coupleur en fonctionnement, la valeur courante de E peut être interprétée comme indiquant le nombre de phases 15 canal à inspecter avant la fin de l'époque en cours. La condition CD et E = 0 signifie qu'il n'y a pas d'époque en cours. Tant qu'une collision n'appara5t pas, le compteur E n'évolue pas. La condition CD et E = 0 se traduit, dès que la ligne CD passe à vrai marquant ainsi la présence d'une collision par le fait que le compteur E prend la valeur N, qui vaut soit 2 en mode général, soit n en mode périodique. 25 Condition CD et E positif. Lorsqu'un message passe ou que le support reste libre pendant une tranche canal à l'intérieur d'une époque, alors le compteur E est décrémenté. On revient à l'observation du support seulement après la réception com30 plète du message, ou après avoir détecté la fin d'une tranche canal vide. Condition CD et E positif. Lorsqu'il y a collision à nouveau à l'intérieur d'une époque, alors E est incrémenté si l'on 35 est en mode général. En mode périodique, ce cas ne doit pas se produire. L'étape 62 invoque alors une procédure de traitement d'erreur propre à restaurer le bon fonctionnement du réseau. On s'intéressera maintenant, en référence à la figure 8, à la gestion proprement dite des émissions de messages. Il est rappelé que le procédé proposé peut fonctionner selon deux modes: général et périodique. Le mode est sélectionné à la fabrication des coupleurs ou à leur installation. En mode général, chaque coupleur peut à volonté fonctionner en entrées bloquées ou en entrées libres. Dans un coupleur à entrées bloquées, aucun nouveau message, en dehors des messages effectivement entrés en collision, ne pourra être transmis durant une époque. Dans un coupleur à entrées libres, 15 au contraire, un coupleur n'ayant pas soumis de message au moment de la collision ouvrant une époque peut, sous réserve de respecter des conditions visant à ce qu'il ne perturbe pas le fonctionnement des autres coupleurs, émettre dans l'époque un message fraîchement arrivé. 20 La soumission d'un message par la station au coupleur s'effectue dans tous les cas par activation d'une primitive,que l'on peut écrire Soumission (m, index, F),dont l'exécution conduit au stockage dans une zone de mémoire Z,connue du circuit de 25 gestion des émissions GER, des données suivantes: - le message m lui-même, - l'index associé, - un Booléen F qui indiquera que le message aura été transmis avec succès par le coupleur sur le support lorsqu'il passera à l'état vrai. On notera qu'en mode général à entrées bloquées, un coupleur n'est actif à l'intérieur d'une époque que s'il a effectivement tenté de transmettre un message en début d'époque (avec 15 20 25 30 35 collision). Par contre, en mode général à entrées libres ainsi qu'en mode périodique, le procédé permet à un coupleur de devenir actif à l'intérieur d'une époque,même si aucun message n'avait été soumis à ce coupleur en début d'époque. En mode général à entrées libres, ainsi qu'en mode périodique, lorsqu'aucun message n'a été soumis, le coupleur émettraun message "nil" qui correspond à un silence. L'exécution des primitives Soumission, que l'homme de l'art sait réaliser, est indépendante et asynchrone de l'exécution du protocole de gestion des émissions. Ce protocole est permanent,et on le décrira maintenant. Les emplacements suivants de la zone de mémcire Z sont utilisés: message:=mou "nil", - x index (l'index étant fixé à l'avance si le message est "nil"), - fin:= F. Le premier test 70 constitue une attente que le compteur E atteigne la valeur 0. On suppose qu'une époque vient juste de se terminer, ce qui correspond donc à un tel passage de E à 0. Le test suivant 71 examine le mode utilisé. L'émission (de type CSMA-CD) d'un message est illustrée en la place 74. On tente -toujours une telle émission en mode périodique,ainsi qu'en mode général si un message a été soumis (passage par les phases d'attente 72 et 73, mais sans attendre, puisque E est par hypothèse à 0). La ligne 75 illustre l'observation du support, qui répond aux deux donditions que des jetons aient été posés aux places 74 et 76 (fin de tranche canal). En mode périodique, on est certain de provoquer une collision CD d'o une ouverture d'époque, sauf dans le cas o un seul coupleur désire émettre. A partir de la figure 8, on décrira maintenant séparément le mode général et le mode périodique. Mode général. En mode général, il peut se produire une collision, mais il est possible également que l'émission se déroule normalement (CD). Dans ce dernier cas, l'étape 91 termine l'émission, la15 quelle est d'une durée au moins égale à la tranche canal. L'étape 92 met à l'état vrai le Booléen de fin F. L'étape 93 examine si le mode en cours est le mode général, auquel cas on retourne au test 70. Et le test 71 fait à nouveau la distinction entre les deux variantes, "entrées bloquées" et 20 "entrées libres" du mode général. Il convient maintenant de revenir à l'observation du support (ligne 75), pour examiner l'autre hypothèse o il se produit une collision. On pose alors un jeton dans la place 77. 25 Ensuite, l'étape 78 affecte la valeur 0 à lagrandeur j, et l'étape 79 exécute un pas de la division dichotomique qui s'écrit X:= X/2. Un test 80 établit si cette séparation dichotomique est possible ou impossible. L'impossibilité signifie une erreur, traitée par invocation d'une procédure appropriée (étape 80A). Si la séparation est possible, on passe à un test 81 qui dé35 termine si l'index en cours x appartient au sous-ensemble gagnant G ou au sousensemble perdant P. S'il appartient au sous-ensemble gagnant, on tente à nouveau l'émission du 1; ::::2 2 0 :::3 message à la place 74. Si l'index x en cours appartient au sous-ensemble perdant, la suite dépend d'un nouveau test 82, portant sur le fait qu'on est en.mode général ou périodique. En mode général, on saute directement à la place 84. La sortie de la place 84 est à nouveau l'observation du support en 85, avec cette fois la condition qu'on observe le support non-plurs par fin de tranche canal, mais bien par fin de phase canal (FPC en la place 86). 0 S'il n'y a pas de collision et que j est nul, la ligne 87 renvoie à la place d'émission de message74 (toutes les collisions précédentes ont été résolues). S'il y a collision, intervient un nouveau test de mode en 88. 5 En mode général, l'étape 89 modifie j par incrémentation d'un pas. S'il n'y a pas collision, mais que la grandeur j n'est pas nulle,l'étape 90 décrémente j d'un pas. 20 Les sorties des deux étapes 89 et 90 retournent à la place 84 (collision pas enccre résolue). Les éléments de la figure 8 dont les numéros vont de 81 à 90 25 sont encadrés d'un trait tireté léger, référencé R, afin de matérialiser qu'il s'agit là des éléments chargés à proprement parler de la résolution de collision. La sortie de droite de la phase d'attente 73 rappelle qu'en 30 mode général à entrées bloquées, on s'interdit d'émettre si une époque est en cours (E différent de 0) lorsqu'un message a été soumis. La sortie de gauche de la phase d'attente 72 rappelle qu'en 35 mode général à entrées libres, le coupleur exécute le mécanisme de gestion des émissions à l'ouverture d'une époque, c'est-à-dire dès que E devient différent de 0. Il va donc à la place 77, préparant l'émission d'un message. Si sa zone de mémoire Z ne contient que le message "nil" au moment o il sera autorisé à émettre, il n'y aura pas d'émission effective, ce coupleur restant silencieux. Dans le cas contraire il émet son message. Il convient de décrire un peu plus en détail la séparation dichotomique de l'ensemble des index, afin d'isoler ceux qui correspondent aux coupleurs ayant un message à transmettre. 10 L'ensemble X tel qu'il a été défini plus haut représente l'ensemble des valeurs possibles des index associés aux messages et aux coupleurs. On note x la valeur courante d'index utilisée par un coupleur actif,c'est-à-dire participant à l'épo15 que. Un coupleur peut posséder un seul ou plusieurs index. Dans ce dernier cas, les index sont utilisés par le coupleur dans l'ordre des valeurs croissantes. 20 A l'ouverture d'une époque, l'ensemble d'index choisi par un coupleur actif est noté X0. On suppose, pour simplifier, que cet ensemble d'index de départ comprend toutes les valeurs de 0 à 2k-1. L'arbre binaire est parcouru en choisissant un balayage de droite à gauche ou de gauche à droite, le choix droite/gauche ou gauche/droite étant le même pour tous les noeuds, depuis le tronc f'haut" de l'arbre) jusqu'aux feuilles ("bas" de 30 l'arbre). L'ensemble X0 est donc séparé en deux sous-ensembles, et ce de manière identique par tous les coupleurs actifs. Le sens choisi pour le balayage détermine un sous-ensemble gagnant G 35 et un sous-ensemble perdant P. Chaque coupleur examine si son index en cours x fait partie de G. 15 25 30 35 Si oui, le coupleur tente à nouveau la transmission du message. En cas de collision à nouveau, la même procédure de séparation dichotomique de l'ensemble d'index G en deux nouveaux sous-ensembles G et P est exécutée ét ainsi de suite jusqu'à ce qu'une transmission de message sans collision soit réussie. C'est cela que note l'expression X: = X/2 sur la figure 8, en 79. C'est aussi ce qui est opéré, à chaque décalage (à droite), parole registre 260 (figure 4). Chaque fois qu'un coupleur découvre que son index x appartient à P, il s'abstient d'émettre, et surveille le support (ligne 85). Une variable locale, notée j, lui permettra de savoir à quel moment il sera autorisé à tenter à nouveau l'émission de son message. On y reviendra ci-après. On observe que la règle de sépatation en deux sous-ensembles peut être quelconque. Par exemple G et P correspondront aux index pairs et impairs respectivement, ou bien pour tout ensemble de départ (0, 2k-1), G correspondra aux index de l'ensemble (0, 2k-1-) et P aux index de l'ensemble (2k-, 2k-1). L'homme de l'art comprendra qu'il y a lieu de choisir la règle de calcul d'index, à partir de classes de priorités, de telle manière que lorsqu'on élabore un index, tous les messages de plus forte priorité se trouvent dans le premier sous-ensemble gagnant, puis ceux de priorité immédiatement inférieure dans le second sous-ensemble gagnant lors de la seconde itération, et ainsi de suite. On garantit ainsi que l'ordre de transmission des messages à l'intérieur d'une époque respecte l'ordre des priorités. Par exemple, dans un système à priorités statiques comprenant plusieurs classes, le rang de priorité sera égal à la classe ou à une fonction de cette classe selon les conventions retenues pour numéroter les priorités. Dansun système à priorités temporelles (échéances physiques), le rang sera égal par exemple au délai restant à courir avant échéance ou à une fonction de ce délai selon les conventions retenues pour numéroter et ranger les priorités. On examine maintenant l'autorisation d'émettre à nouveau dans une époque, à partir de la variable j. La valeur initiale de la variable j est 0Oen mode général. 10 En l'absence d'erreur, la valeur finale de j sera 0. Les différents cas possibles à l'issue de la ligne 85 peuvent être exposés comme suit: - collision détectée CD: il y a encore une collision à résoudre; j est incrémenté (signal 281 à l'état 1, figure 4); - pas de collision CD, ce qui correspond à un message ou à une tranche canal vide: si j est différent de 0, il y a encore au moins une collision qui n'est pas totalement résolue, j e-s-tdonc décrémenté d'un pas (j correspond à l'état du signal 281) 25. si j = 0, toutes les collisions précédentes ont été résolues, le coupleur a le droit d'émettre à nouveau à l'intérieur de l'époque. La valeur courante de j peut être interprétée comme indiquant 30 le nombre de phases canal demeurant à inspecter, moins une, avant que le coupleur ne puisse être autorisé à émettre à nouveau. En mode général, un coupleur calcule toujours un index en concaténant un nom logique (unique pour ce coupleur dans le système) avec le rang du message en attente le plus prioritaire. En mode général à entrées libres, si le coupleur entre 0::S:: :::': D : :0: : Of-:: : :: f: - 10 en époque avec un message "nil",il calcule l'index en concaténant son nom avec un rang fixé à l'avance, l'index ne pouvant pas changer en cours d'époque (chargement de x' dans x en fin d'époque, figure 4). Dans un mode de réalisation particulier de l'invention, la séparation dichotomique est réalisée par le fait que chaque coupleur possède un registre à décalage de longueur k. Dans ce registre est écrit l'index correspondant au message à transmettre. 2. : : 0 3: Diviser X en deux sous-ensembles revient alors à décaler d'une position les bits de ce registre à gauche ou à droite. Selon la valeur du bit qui sort du registre à ce moment (valeur 0 ou 1), un coupleur actif saura s'il a gagné ou perdu. Le choix de 0 ou 1 pour gagner ou perdre est libre, sous réserve qu'il soit identique pour tous les coupleurs. A chaque itération,on exécute l'opération de décalage. Cette réalisation n'est bien entendu donnée qu'à titre d'exemple, car de nombreuses réalisations équivalentes peuvent être envisagées. Dans cet exemple d'une réalisation par registre à décalage, les règles permettant de prendre en compte les;priorités sont alors les suivantes: - si le registre est décalé à gauche, les index sont discriminés en fonction de la parité des bits de plus fort poids. Tbut index possédant par exemple un bit 0 à gauche sera gagnant par rapport à un index possédant un bit 1 à gauche. En ce cas, le D rang de priorité constitue la partie de fort poids de l'index. Les valeurs de rang sont égales aux priorités statiaues ou égales au délai restant à courir avant échéance, et bien évidemment la valeur 0 représente alors la valeur de priorité et de ranq la plus élevée. - si le registre est au contraire décalé à droite, les index sont bien entendu discriminés en fonction de la parité des bits de plus faible poids. Tout index possédant un bit 0 à droite sera gagnant par rapport à un index possédant un bit 1 à droite.Encecas,le rang constitue la partie de faible poids de l'index. Le calcul des valeurs de rang à partir des priorités ou des échéances est le même que ci-dessus. Par contre, les valeurs de rang calculées sont écrites inversées dans le registre, le bit fort poids du rang devenant bit faible poids du rang, et ainsi de suite. Pour leur part, les compteurs de la valeur j sont avantageusement réalisés par l'intermédiaire d'un registre à décalage de taille au moins égale à k bits utiles en mode général. Comme on l'a vu précédemment, lorsque le coupleur perd, j est chargé avec la valeur 0 en mode général. 15 En résumé, le compteur E sert à déterminer la présence d'une époque,et sa durée. Il fonctionne dans tous les coupleurs en service. Lorsqu'un coupleur est mis en marche, son compteur E est mis à k+1 (figure 6), nombre maximum de pas de la dichotomie (quoiqu'une initialisation plus rapide et plus sophistiquée d'un tel coupleur puisse être envisagée). Pour le reste deux cas peuvent se produire, suivant que l'absence de messages à émettre est considérée comme un état d'inaction du coupleur, ou bien une demande d'émission d'un message "nil". Dans le premier cas (inaction), seuls les coupleurs actifs exécutent le reste du processus (étapes 74 à 93). 30 Dans le second cas (message "nil") , ou bienan mode "entrées libres", tous les coupleurs en service exécutent le reste du processus (étapes 74 à 93). Mode périodique (figure 8). Les considérations générales ci-dessus sont pour la plupart valables en mode périodique. En revanche, la séquence d'exploration des index est figée, et les examine un par un, ici dans l'ordre croissant. Si E = 0 (fin d'une époque), on passe par la place 74. Dans la grande majorité des cas, deux coupleurs au moins auront de vrais messages à émettre, d'o une collision, et l'ouverture immédiate d'une nouvelle époque. 10 La condition CD veut alors que l'on passe par l'étape 78 pour arriver en 79. L'étape 79 subdivise l'ensemble des inddx en un sousensemble gagnant, à un seul élément, l'index 0, les autres index définissant le sous-ensemble perdant. (Si 15 le test 80 montre que la subdivision est impossible, un traitement d'erreur convenable 80A est effectué).. Le test 81 autorise le coupleur possédant l'index 0 à émettre immédiatement par retour à la place 74. Dans les autres cou20 pleurs, l'étape 83 donne au second comptage j la valeur x-1 et l'on va à la place 84. Le coupleur qui a l'index x = I possède maintenant j = 0. La sortie 87 de la ligne 85 le renvoie à la place 74, pour émettre à son tour, dans la phase canal suivante (jeton dans la place 86). Les autres coupleurs passent par l'étape 90, qui décrémente j d'une unité, et tetournent à la place 84. Chacun leur tour 30 ils vont arriver à j = 0,et obtenir ainsi le droit d'émettre. Une collision en cours d'époque est anormale. Le test 88 fait alors qu'une procédure de traitement d'erreur 88A est invoquée. Les coupleurs qui ont émis chacun leur tour sont oasses a cette occasion oar les étaoes 91 et 92. Les tests 93 et 94 leur permettent de faire valoir dans la même époque un autre index, le cas échéant, ou encore le plus petit parmi plusieurs index qu'ils possèdent encore. On affecte à j la valeur y - x - 2, et l'onaffecte à x la valeur y. Le test 96 fait alors retourner le coupleur à la place 84 si j est positif ou nul. L'homme de l'art comprendra que si j = -1, le coupleur doit émettre immédiatement, et le test 96 le renvoie en conséquence à la place 74. Exceptionnellement, il peut arriver qu'un seul coupleur désire 15 vraiment émettre après la fin d'une époque. Dans ce cas, il n'y a pas d'ouverture d'époque, car le coupleur passe directement de la place 74 aux étapes 91 et 92. Il apparaîtra à l'homme de l'art quece mode périodique est 20 totalement différent des procédés de transmission à accès multiples par répartition dans le temps (TDMA). L'homme de l'art comprendra aussi que le mode périodique peut être modifié pour examiner l'ensemble des index par sous25 ensembles disjoints de 2 index chacun. Plus généralement, il existe d'autres modes intermédiaires entre le mode général et ce mode périodique modifié; les modes intermédiaires seront à chaque fois définis par une partition de l'ensemble des index, et par une règle d'exploration associée à cette partition, le cas échéant. Après ces explications, on pourra mieux comprendre le fonctionnement des organes 24, 26 et 28 des figures 3 et 4, en se référant aussi aux figures 6 à 9. La correspondance s'établit comme suit: - le bloc 24 ou 240 et 241 des figures 3 et 4 correspond au mécanisme de la figure 6, et s'explique comme lui en référence aux figures 7A à 7C; - le bloc 26 de la figure 3 ( 260 et son entourage sur la figure 4) correspond aux blocs 78 à 81 de la figure 8; - les blocs 282 et 290 de la figure 4 correspondent aux blocs 82 et 83 de la figure 8; 10 - le bloc 28 de la figure 3 (280 sur la figure 4) correspond aux blocs 84 à 90 della figure 8, ainsi qu'aux blocs 94 à 96, pour la gestion d'un ou plusieurs autres index dans la même époque, en mode périodique. On aura observé que la fin de tranche canal (FTC) est signalée (en l'absence de réception en cours) par le fil 201 (signal HTC) sur les figures 3 et 4. Le circuit 22 (ensemble 221 à 229) sert à signaler la fin de phase canal (FPC). Il est à noter aussi que, dans le mode de réalisation matériel des figures 3 et 4: - le chargement du contenu du registre 290 dans'le registre 25 260 se fait en fin d'époque, de sorte que, pour la prochaine époque, la division (dichotomique) se fait sur cette valeur si le coupleur n'a rien à émettre (figure 8, test 72, sortie E $ 0) dans le mode général à entrées libres ou dans le mode périodique. - La présence de l'un des signaux +:= et -:= correspond à la pose d'un jeton de marquage dans les places FTC (76, figure 8), FPC (86, figure 8), FPC (55 figures 6 et 10), FPC (86 figure 11).On note que la réalisation matérielle, rapide, n'utilise 35 que FPC. - La porte 275 (figure 4) définit l'appartenance de l'index en cours au sous-ensemble gagnant. Enfin,les figures 9A et 9B montrent comment réaliser le compteur j (28 ou 280 et 290) à partir d'un registre à déca5 lage. Pour le seul mode général (figure 9A), le registre est d'abord remis à zéro. A chaque décalage, il rentre '1' à gauche ou '0' à droite. Son état est défini par le premier 10 bit, et la taille du registre peut se limiter à k bits. Pour travailler au choix sur les deux modes (figure 9B), la taille du registre passe à n bits. Le fonctionnement demeure le même en mode général. En mode périodique, la valeur de j = x - 1 (étape 83, figure 8) est chargée sous la forme d'un mot de n bits dont (en principe) seul le (j-1)ème bit est à '0', définissant ainsi le nouvel index. Il en est de même à l'étape 95, avec une nouvelle valeur de j. Bien entendu, plusieurs nouveaux index peuvent être définis par plusieurs bits à zéro dans j. On examinera maintenant différentes variantes du procédé selon l'invention, qui s'appliquent essentiellement au mode 25 général, et n'intéressent donc pas le mode périodique. Lorsqu'il se produit une collision pendant une époque, en mode général, le Demandeur a observé qu'il existe au moins deux index relatifs à des coupleurs actifs, désirant émettre, 30 dans l'ensemble X considéré, lequel est alors séparé en deux sous-ensembles G et P. On peut en déduire que si aucun de ces index n'appartient au sous-ensemble gagnant, ce que matérialisera une tranche vide détectée après la collision, c'est donc qu'ils appartiennent tous au sous-ensemble perdant. 35 Il est dans ce cas inutile de permettre à tous les coupleurs du sous-ensemble perdant de transmettre à nouveau après détection de la tranche vide, puisqu'il y aura forcément collision. L'invention prévoit donc d'appliquer immédiatement la procédure de séparation dichotomique au sous-ensemble perdant, ce qui économise une tranche canal. Ceci sera donc effectué après toute détection d'une tranche vide au moins, consécu5 tivement à une collision. A cet effet, le schéma de la figure 10 apporte une modification par rapport à celui de la figure 6 (débarrassé de tout ce qui concerne le mode périodique). 10 Les étapes 61 et 63 demeurent les mêmes. Par contre, la condition CD et E positif est subdivisée, suivant l'état de RxD. De plus, après l'étape 63, une étape 66 fait passer à vrai une grandeur Booléenne C. Après l'étape 61, une étape 67 fait de même. Apres l'étape 64A, qui a décrémenté d'un pas la valeur de E, une étape 68A fait passer à faux le Booléen C, si l'absence 20 de collision correspond en fait à une émission réussie. Dans le cas contraire, o l'absence de collision correspond à un silence, un test 64B examine le Booléen C, qui est bien entendu stocké en mémoire à chaque fois. S'il est vrai, on revient à la place 54. Si le Booléen C est faux, l'étape 68B réalise la décrémentation d'un pas de E. Ainsi, le Booléen C permet de suivre l'apparition des séquences propres à l'optimisation, en faisant la distinction entre 30 une phase canal d'émission sans collision et une tranche canal vide. La règle d'évolution du Booléen C est la même que celle du Booléen B que l'on décrira plus loin. La figure 11 illustre le mécanisme optimisé de gestion des 35 autorisations d'émettre à nouveau, ou résolution de collisions, qui correspond à la partie R de la figure 8, débarrassée de ce qui concerne le mode périodique. Si l'index en cours x s'avère d'après le test 81 appartenir à l'ensemble perdant, on franchit une place 81A, pour mettre ensuite un Booléen B à la valeur vraie, par une étape 81D. On parvient alors à la place 84. A l'observation du support en 85, les choses restent les mêmes que précédemment en présence d'une collision, par l'étape 89 sauf que l'on revient en 81A et non en 84. Les autres cas sont subdivisés. S'il n'ya pas de collision, que la valeur jest à 0, mais qu'il y a eu émission (RxD vrai), la sortie 87A donne le même résultat que précédemment. S'il n'y a pas de collision avec j = 0, mais qu'aucun signal ne transite sur le canal, 15 un test 87B examine le Booléen B. Si celui-ci est faux, la sortie est la même que par 87A. S'il est vrai, on retourne à la place 77 de la figure 8. SIil n'y a pas de collision, que j est différent de 0, et qu'iln'y a pas non plus de signal sur le canal, un test 90A examine là encore le Booléen B. S'il est vrai, la sortie retourne à la place 81A. S'il est faux, on fait de même, mais après avoir décrémenté d'un pas la grandeur j. Enfin, s'il n'y a pas de collision, que j est différent de 0, mais qu'un message a transité sur le canal de transmission, alors l'étape 90C décrémente d'un pas la grandeur j, et l'étape 90D met à faux le Booléen B, avant de revenir à la place 84. On comprendra que ce Booléen B prendra la valeur vraie en cas de collision, et conserve cette valeur tant que l'on ne détecte pas une transition de message réussie (conditions RxD et CD). Et ce Booléen est testé lorsque c'est une tran35 che vide qui est détectée (conditions C et RxD) quelle que soit la valeur de j. Lorsque j = 0, si B est faux, alors la phase canal précédente correspondait à une transmission de message réussie. Dans ce cas, c'est une émission normale qui est tentée, sans sauter d'étapes dichotomiques. Si B est vrai, on se trouve au contraire dans une séquence permettant l'optimisation, et on procède immédiatement à une séparation dichotomique avant d'examiner si une nouvelle collision se produit. Lorsque j est différent de 0, si B est faux, on effectue normalement une décrémentation de j. Si B est vrai, on n'effectue pas cette décrémentation. Ces deux choix correspondent à ce qui vient d'être décrit. La présente description n'est pas étendue jusqu'au traitement 15 des fautes ou erreurs propres aux coupleurs: ou au canal de transmission commun. Ces traitements ne sont pas en effet directement reliés au procédé selon l'invention. Pour prendre un exemple, il est bien entendu utile de prévoir des signalisations et des traitements de fautes appropriés dans 20 des cas anormaux tels que: - CD et E positif en mode périodique (test 60, figure 6 et test 88, figure 8), - séparation impossible (sortie horizontale de l'étape 80, figure 8), - j inférieur à 1 (sortie non représentée du test 96, figure 8). Le comportement en présence de fautes du procédé selon l'invention est au moins équivalent de celui des procédés CSMA-CD connus. Par ailleurs, l'invention peut être réalisée sous forme matérielle et/ou logicielle, avec un degré d'intégration des composants choisis en fonction de l'application concernée. Enfin, bien qu'elle vise spécifiquement la transmission de messages numériques,l'invention peut aussi s'appliquer à la transmissionde messages analogiques. Revendications. 1. Procédé de transmission de messages entre différentes stations, du type dit CSMA-CD, dans lequel: - chaque station (Si) est munie d'au moins un coupleur (Ci) qui la connecte à un canal de transmission commun, à diffusion (SC), - chaque coupleur (Ci) est capable d'émission-réception sur ce canal (SC), en mode asynchrone, en définissant une transition à chaque fin d'émission ou de réception, - chaque coupleur (Ci) écoute en permanence ledit canal (SC) 15 et le scrute après chaque transition pendant une durée prédéterminée, dite tranche canal (TC), - un coupleur (Ci) ne peut commencer à émettre un message, sur demande de sa station, qu'en l'absence de signal sur le canal, 20 tandis qu'il interrompt et invalide son émission s'il apparalt, pendant la tranche canal correspondante, un signal indicatif d'une collision, tel qu'un brouillage, manifestant un début d'émission simultané par plusieurs coupleurs, caractérisé en ce qu'initialement, on affecte à chaque coupleur (Ci) au moins un index qui lui est propre, choisi dans un ensemble d'index prédéterminé, et on munit chaque coupleur (Ci) d'un automate (26; 70-97) qui possède un état de repos et un état de travail, dit époque, dans lequel il établit une séquence prédéterminée de sous-ensembles d'index, structurée pour pouvoir aboutir à des choix successifs d'un seul des index, et pour pouvoir couvrir ainsi tout l'ensemble des index, ladite séquence comprenant un nombre de pas maximum qui est fonction de sa structure et du nombre total des index, 35 - en ce qu'on établit un ordre de changement de pas, dit fin de phase canal (FPC), dans chaque coupleur à la fin de toute tranche canal (FTC) ayant donné lieu à silence ou colli- 51 2597686 sion, ou à la fin de l'émission réussie d'un message, - en ce que, dans chaque coupleur (Ci), on entretient au moins un comptage (E) qui évolue à la cadence des fins de phase canal, et en fonction de la présence ou de l'absence de collision pendant chaque phase canal, jusqu'à une valeur de référence choisie (E=O), - en ce qu'un coupleur (Ci) n'est autorisé à émettre libre10 ment que si son comptage se trouve à la valeur de référence (E=O), et en ce qu'en présence d'une collision (CD) lorsque ledit comptage est à sa valeur de référence (E=O), tous les coupleurs (Ci) en service mettent leur comptage à une valeur de forçage choisie (E=N) alors qu'au moins les coupleurs qui ont émis lors de la collision font passer leur automate à l'état de travail ou époque, et lui font parcourir ladite séquence à la cadence des fins de phase canal (FPC), cependant que seuls 20 les coupleurs munis d'un index appartenant au sous-ensemble désigné par ce pas sont autorisés à émettre un message associé à cet index, la valeur de forçage (E=N) et la valeur de référence (E=O) étant choisies de façon que le comptage ne revienne à la valeur de référence qu'après résolution com25 plète de la collision qui a engendré l'époque, les coupleurs étant alors autorisés à nouveau à émettre librement, tandis que les automates reviennent en leur état de repos, ce qui permet de résoudre toute collision en un temps limité. 30 2. Procédé selon la revendication 1, caractérisé en ce que les coupleurs (Ci) dont l'automate est dans l'état de travail entretiennent un second comptage (j), qui évolue aussi à la cadence des fins de phase canal (FPC) et en fonction de la 35 présence ou de l'absence de collision pendant chaque phase canal, mais à l'intérieur de l'époque et avec des valeurs de forçage et de référence dont l'une au moins est différente de celles du premier comptage. 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que ladite séquence prédéterminée est structurée en un arbre de décision binaire, propre à subdiviser l'ensemble des index par dichotomies successives jusqu'à les atteindre un par un, et auquel est associée une règle d'exploration/décision en fonction du fait que la phase canal précédente a donné lieu à un silence, à une collision, ou à l'émission réussie d'un message, et en ce que les valeurs de forçage (E=N) et de référence (E=O) du premier comptage sont espacées de 2 pas (N=2), ce comptage évoluant d'un pas en progression ou régression.par rapport à la valeur de référence, suivant que la phase canal précédente a ou non fait l'objet d'une collision. 15 4. Procédé selon la revendication 3, prise en combinaison avec la revendication 2, caractérisé en ce que la règle d'exploration/décision comprend: - le passage à l'autre sousensemble de la dichotomie en cours, en présence d'une phase canal de silence, ou d'une phase canal d'émission réussie, ou bien - une nouvelle dichotomie du sous-ensemble en cours d'exa25 men, en présence d'une phase canal de collision, et en ce que les valeurs de forçage et de référence du second comptage sont les mêmes (j=O), ce comptage évoluant d'un pas comme le premier, en progression ou régression par rap30 port à sa propre valeur de référence, si bien que ce second comptage permet à un coupleur de déterminer qu'il a réintégré un sous-ensemble l'autorisant à émettre. 5. Procédé selon la revendication 4, caractérisé en ce qu'en 35 présence d'une phase canal de silence, la règle d'explora- 53 2597686 tion/décision comprend une nouvelle dichotomie immédiate de l'autre sous-ensemble de la dichotomie en cours. 6. Procédé selon l'une des revendications 4 et 5, caractérisé en ce qu'en présence d'une collision (CD) au cours de laquelle leurs comptages se trouvent à la valeur de référence (E=O), tous les coupleurs (Ci) font passer leurs automates à l'état de travail, et en ce que, dans la suite 10 de l'époque, on autorise également l'émission d'un message par de tels coupleurs pour les index appartenant à un sousensemble ayant donné lieu à une collision non encore résolue. 7. Procédé selon l'une des revendications 3 à 6, caractéri15 sé en ce que ledit arbre binaire est défini d'après les bits successifs des index, et l'ordre dans lequel ils se présentent. 8. Procédé selon l'une des revendications 3 à 7, caractéri20 sé en ce qu'on affecte à chaque coupleur (Ci) plusieurs index binaires, qui correspondent respectivement à des niveaux de priorité différents, et en ce que ladite règle d'exploration/décision explore les sous-ensembles d'index dans l'ordre des priorités. 9. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que ladite séquence prédéterminée est une suite de tous les index, pris un à un, et en ce que la différence entre les valeurs de forçage (E=n) et de référence (E=O) du premier comptage est au moins égale au nombre de pas de ladite suite, ce comptage progressant vers la valeur de référence à chaque fin de phase canal sans collision. 10. Procédé selon la revendication 9, prise en dépendance de la revendication 2, caractérisé en ce qu'on affecte à chaque coupleur plusieurs index, ce qui permet à un coupleur.de faire passer au moins un autre message avec un autre index dans la même époque. 11. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'un coupleur (Ci) n'ayant pas reçu de demande d'émission de message de la part de sa station est considéré comme désirant émettre un message 'nil', tous les coupleurs faisant ainsi passer simultanément leur automate à l'état de travail ou époque. 10 12. Procédé selon l'une des revendications précédentes, - caractérisé en ce que pour des coupleurs entrant en service, on met le premier comptage (E) de ces coupleurs à une valeur au moins égale au nombre de pas maximum de la séquence pré15 déterminée. 13. Dispositif pour la mise en oeuvre du procédé selon l'une des revendications précédentes, comportant un coupleur défini par: - un circuit de contrôle du canal de transmission (GSC), propre à fournir au moins trois signaux logiques respectivement représentatifs d'une émission en cours par le coupleur (TxD), d'une réception en cours sur le canal (RxD), et d'une 25 collision détectée sur le canal (CD), - un circuit de commande (GER) qui assure la liaison entre le reste de la station et le circuit de contrôle (GSC), en fonction des signaux reçus sur le canal, et des demandes 30 d'émission de message en provenance de la station, caractérisé en ce que le circuit de commande comprend: - des moyens propres à mémoriser au moins un index binaire 35 qui lui est propre, et au moins une demande d'émission de message en relation avec cet index, 2597686 - des moyens logiques de phase canal (24; FPC) pour définir les fins de tranche canal, ainsi que des fins de phase canal correspondant soit à une fin de tranche canal ayant donné lieu à- silence ou collision, soit à la fin de l'émis5 sion réussie d'un message. - des premiers moyens de comptage (24; E) évoluant à la cadence des fins de phase canal jusqu'à une valeur de référence choisie, - des moyens logiques multi-états (26; 75-80), définissant un automate possédant un état de repos et un état de travail, dit-époque, dans lequel il établit une séquence prédéterminée de sous-ensembles d'index, structurée pour pouvoir aboutir à des choix successifs d'un seul des index, et pour pouvoir couvrir ainsi tout l'ensemble des index, ladite séquence comprenant un nombre de pas maximum qui est fonction de sa structure et du nombre total des index, - des moyens (11; 70-74) n'autorisant le coupleur à émettre librement que si le premier comptage se trouve à sa valeur de référence (E=O), et - des moyens (24;63) propres à réagir à la présence d'une 25 collision lorsque le premier comptage est à sa valeur de référence, en mettant ce premier comptage à une valeur de forçage choisie, et en faisant passer l'automate en son état de travail, ou époque, - des moyens (11; 81) n'autorisant alors le coupleur à émettre que si son index appartient au sous-ensemble désigné à chaque fois par l'automate, la valeur de forçage et la valeur de référence étant choisies de façon que le comptage ne revienne à la valeur de référence qu'après résolution complète de la collision qui a engendré l'époque, les coupleurs étant alors autorisés à nouveau à émettre librement, tandis que les automates reviennent en leur état de repos, ce qui permet de résoudre toute collision en un temps limité. 14. Dispositif selon la revendication 13, caractérisé en ce qu'il comporte de seconds moyens de comptage (28;j), évoluant aussi à la cadence des fins de phase canal (FPC), et en fonction de la présence ou de l'absence de collision pendant chaque phase canal, mais à l'intérieur de l'époque, et avec des valeurs de forçage et de référence dont l'une au moins est différente de celles des premiers moyens de comptage. 15. Dispositif selon l'une des revendications 13 et 14, caractérisé en ce que les moyens logiques multi-états sont agencés pour définir une séquence prédéterminée, structurée en un arbre de décision binaire, propre à subdiviser l'en15 semble des index par dichotomies successives jusqu'à les atteindre un par un, et auquel est associée une règle d'exploration/décision en fonction du fait que la phase canal précédente a donné lieu à un silence, à une collision, ou à l'émission réussie d'un message, et -N 1 'I en ce que les valeurs de forçage et de référence du premier comptage (E) sont espacées de 2 pas, ce comptage évoluant d'un pas en progression ou régression par rapport à la valeur de reférence, suivant que la phase canal précédente a ou non fait l'objet d'une collision. 16. Dispositif selon la revendication 15, prise en combinaison avec la revendication 14, caractérisé en ce que les moyens logiques multi-états sont agencés pour exécuter une règle d'exploration/décision, qui comprend: - le passage à l'autre sous-ensemble de la dichotomie en cours, en présence d'une phase canal de silence, ou d'une phase canal d'émission réussie, ou bien - une nouvelle dichotomie du sous-ensemble en cours d'examen, en présence d'une phase canal de collision, et en ce que les valeurs de forçage et de référence du second comptage (j) sont les mêmes, ce comptage évoluant d'un pas comme le premier, en progression ou régression, par rapport à sa propre valeur de référence, si bien que ce second comptage permet à un coupleur de déterminer qu'il a réintégré un sous-ensemble l'autorisant à émettre. 17. Dispositif selon la revendication 16, caractérisé en ce qu'en présence d'une phase canal de silence, la règle d'ex10 ploration/décision comprend une nouvelle dichotomie immédiate de l'autre sous-ensemble de la dichotomie en cours. 18. Dispositif selon l'une des revendications 16 et 17, caractérisé en ce qu'en présence d'une collision (CD) au cours de laquelle son premier comptage se trouve à la valeur de référence (E=O), le coupleur fait passer systématiquement son automate à l'état de travail, et en ce que, dans la suite de l'époque, l'émission d'un message par le coupleur demeure autorisée pour les index appartenant à un sous-ensemble ayant 20 donné lieu à une collision non encore résolue. 19. Dispositif selon l'une des revendications 15 à 18, caractérisé en ce que les moyens logiques multi-états sont agencés de sorte que ledit arbre binaire est défini d'après 25 les bits successifs des index, et l'ordre dans lequel ils se présentent. 20. Dispositif selon la revendication 19, caractérisé en ce que les moyens logiques multi-états comprennent des moyens 30 formant un registre (260), de capacité au moins égale au nombre maximum de bits significatifs présents dans les index de l'ensemble prédéterminé, et des moyens pour comparer le contenu du registre à l'index en cours. 21. Dispositif selon la revendication 20, caractérisé en ce qu'en réponse à une époque, le coupleur charge son index en cours dans le registre (260) qui est un registre à décaj - - X it -s.' lage actionné à chaque dichotomie, la comparaison portant sur le bit situé à l'extrémité utile du registre du côté du décalage. 22. Dispositif selon l'une des revendications 15 à 21, caractérisé en ce que, le coupleur recevant initialement plusieurs index de priorités différentes, ladite règle d'exploration/décision explore les sous-ensembles d'index dans l'ordre des priorités, et les demandes d'émission de message sont associées chacune à l'un des index en fonction 10 de leur priorité. 23. Dispositif selon l'une des revendications 13 et 14, caractérisé en ce que ladite séquence prédéterminée est une suite de tous les index pris un à un, et 15 en ce que la différence entre les valeurs de forçage (E=N) et de référence (E=O) du premier comptage est au moins égale au nombre de pas de ladite suite, ce comptage progressant vers la valeur de référence à chaque fin de phase canal sans 20 collision. 24. Dispositif selon la revendication 23,prise en dépendance de la revendication 14, caractérisé en ce qu'on affecte à ce coupleur plusieurs index, ce qui permet au coupleur de faire 25 passer au moins un autre message avec un autre index dans la même époque. 25. Dispositif selon l'une des revendications 13 à 24, caractérisé en ce que, s'il n'a pas reçu de demande d'émission 30 de message de la part de sa station, le coupleur se comporte comme désirant émettre un message 'nil', faisant ainsi passer systématiquement son automate à l'état de travail ou époque, dès lors qu'il se produit une collision pendant l'état de repos de ce même automate. 26. Dispositif selon l'une des revendications 13 à 25,caractérisé en ce que l'un au moins des premiers et seconds moyens de comptage comprend un registre à décalage. 27. Dispositif selon l'une des revendications 13 à 26, caractérisé en ce que pour son entrée en service, le premier comptage du coupleur est mis à une valeur au moins égale au nombre de pas maximum de la séquence prédéterminée (E = k+1 ou E = N). 28. Dispositif selon l'une des revendications 13 à 27, caractérisé en ce qu'il est commutable entre un fonctionnement selon l'une des revendications 15 à 22 et un fonctionnement selon l'une des revendications 23 et 24. 15 29. Dispositif selon l'une des revendications 13 à 28, caractérisé en ce qu'il comprend plusieurs coupleurs tels que revendiqués, connectés à un support de transmission commun, à diffusion.