Brevet FR2654281A1 — publié le 19910510

La présente invention se rapporte à un procédé et à un dispositif de résolution de contention pour central téléphonique, ou système d'intercommunication, à petite ou moyenne capacité, tel qu'un central téléphonique privé. Plus précisément, elle se rapporte à un procédé de résolution de cette contention lors de la génération simultanée, par plusieurs interfaces numériques locales aptes à correspondre entre elles, d'une trame numérique sur un bus local situé en fond de panier. Cette contention est, à l'heure actuelle, classiquement résolue par l'émission, sur un réseau local constitué par un câble, d'une trame de test spéciale, prévue uniquement dans ce but Il s'ensuit une perte de débit préjudiciable, car il est alors nécessaire d'attendre la transmission d'une trame entière avant de pouvoir transmettre l'information utile. L'invention vise à remédier à cet inconvénient. Elle se apporte à cet effet à un procédé de résolution de cette contention, qui consiste à prévoir, en début de la trame respective que veut émettre chaque interface, au moins un octet (ou autre ensemble de N bits) spécial "de résolution de contention", cet octet se composant: d'une partie fixe située en poids forts, cette partie fixe, qui définit par elle-même une priorité géographique, étant spécifique à cette interface; et d'une partie variable située en poids faibles qui, après un accès effectif de cette interface sur le bus local de transmission, passe à la valeur qui définit, pour cette interface, la priorité variable la plus faible, puis, par décrémentation binaire à chaque collision avec échec ultérieure, se rapproche progressivement de la valeur binaire qui correspond à la priorité la plus forte. De toute façon, l'invention sera bien comprise, et ses avantages et autres caractéristiques ressortiront, lors de la description suivante d'un exemple de réalisation, en référence au dessin schématique annexé dans lequel: Figure 1 est un schéma synoptique de la portion d'un central téléphonique privé de moyenne capacité qui permet la mise en oeuvre de cette invention; Figure 2 montre l'emplacement de l'octet de contention dans la trame, et montre également la forme du signal d'occupation de la ligne de transmission; Figure 3 montre le principe général d'occupation de la ligne par priorités successives; et Figure 4 est un diagramme des temps explicatif du procédé conforme à l'invention. En se référant à la figure 1, il s'agit d'un central téléphonique privé, de moyenne capacité, dont seule une portion est représentée, cette portion comprenant: Un ensemble de cartes enfichables A, B, C, D, E,, dont des cartes de calcul genre "CPU" (Central Processor Unit), par exemple la carte A, et des cartes "joncteurs" (par exemple les cartes B à E) qui sont liées à des appareils téléphoniques, terminaux téléphoniques, ou micro-ordinateurs (non représentés) Chaque carte- joncteur B, C, D, E est équipée d'un petit microprocesseur d'entrée/sortie, respectivement 2 à 5, de sorte que les cartes A, B, C,, constituent chacune une interface à microprocesseur de ce type. Un bus local d'interconnexion et transmission LAN, constitué par un fil unique, ou lien, bidirectionnel et situé en fond de panier. Un fil d'occupation, appelé BUSY, qui est également bidirectionnel et qui permet, de manière connue en soi, d'indiquer aux autres interfaces si le lien de transmission LAN est occupé Ce fil d'occupation sert aussi de signal de synchronisation de trame Un fil d'horloge CLK qui reçoit son signal en provenance d'un générateur de signal d'horloge centralisé (non représenté), et qui applique ce signal à toutes les interfaces. Chacune des interfaces A, B, C,, débite sur la ligne de transmission LAN par l'intermédiaire d'un amplificateur de puissance, ou "BUFFER", du type dit à "collecteur ouvert", ce qui entraîne la propriété, en soi bien connue, suivante: si plusieurs interfaces appliquent en même temps, sur la ligne LAN, un signal " 1 ", le signal effectivement apparent sur cette ligne est le signal " 1 "; si, au contraire, au moins une de ces interfaces applique un signal " O ", le signal qui apparaît effectivement sur cette ligne est un " O ": autrement dit, l'émission d'un " O " par une ou plusieurs de ces interfaces a pour résultat de "forcer à zéro" la ligne de transmission. Par ailleurs, il est affecté, par exemple par des bus d'accès 6 à 10 provenant de l'organe logique central, à chaque carte d'interface A, B, C, , un nombre binaire représentatif de la position géographique de cette carte: ce nombre binaire, ou position géographique, est donc par définition différent pour chacune des cartes S'agissant ici d'un central à moyenne capacité, il est supposé que le nombre de cartes d'interfaces ne dépasse pas 32, de sorte que ces positions géographiques sont codées au moyen de nombres binaires à 5 bits. Par exemple, les cartes A B C ont leurs positions géographiques représentées respectivement par les nombres binaires suivants: 1 O O 1 1 pour la carte B 0 1 O O 1 pour la carte C. En référant maintenant à la figure 2, il est montré que le signal d'occupation BUSY, qui est par définition au niveau 1 lorsque la ligne LAN est libre, est forcé au niveau O lors de la transmission d'une trame T par une des interfaces Il repasse à 1 lorsque cette ligne est libérée. Lorsque plusieurs interfaces souhaitent accéder simultanément sur le bus LAN, il y a "collision", et nécessité d'utiliser un dispositif de résolution de contention apte à déterminer le "maître" sur le bus, c'est à dire l'interface qui, bénéficiant de la priorité la plus favorable, est seule autorisée à émettre Bien entendu, il convient d'autoriser toutes les interfaces à émettre successivement leur message, chacune à leur tour, de sorte que la contention doit définir, pour chaque interface, une priorité qui varie de manière cyclique. Conformément à l'invention, le premier octet ITO de la trame T est un octet spécial, dit "octet de contention", qui se compose de deux parties: une partie fixe G, située en "poids forts" comme on le voit sur le dessin, et qui est composée des cinq bits D 3, D 4, D 5, D 6, D 7 qui définissent à eux cinq le nombre binaire qui correspond à la position géographique précitée pour l'interface considérée; et une partie variable P, située en "poids faibles", qui se compose de trois bits Do, Di, D 2 constituant à eux trois un des huit premiers nombres binaires correspondant aux chiffres décimaux O à 7. Comme chacune des interfaces accède à la ligne LAN grâce à un amplificateur en collecteur ouvert, c'est celle qui émet la première un O qui est prioritaire: dans un tel cas, les interfaces qui ont émis en ce même temps un 1 abandonnent immédiatement leur essai d'accès sur la ligne. Si plusieurs interfaces ont émis un O en même temps, elles continuent à vouloir forcer l'accès sur cette ligne, jusqu'à ce qu'il n'en reste qu'une seule, ayant alors seule émis un zéro: celle-ci remporte alors la contention, et devient le "maître" Bien entendu, il s'agit là des seules interfaces qui ont un message à émettre et qui sollicitent par suite l'accès sur le bus. Comme on le verra ci-après, l'émission d'une trame T par une interface entraîne le passage, effectif après émission du dernier octet I Tn, de la partie variable P de l'octet de contention ITO à sa valeur qui donne la priorité la plus faible, c'est à dire la valeur binaire 1 1 1 Quant aux interfaces qui sont victimes d'un échec après collision, elles décrémentent, si c'est possible, la valeur binaire du nombre P pour se rapprocher progressivement, après chaque collision malchanceuse, de la valeur qui donne la priorité la plus forte, c'est à dire: O O O Autrement dit, il y a décrémentation, pour les interfaces victimes d'échecs après collision, allant du nombre binaire correspondant au chiffre 7 au nombre binaire correspond au chiffre 0, soit la séquence suivante 1 1 1 1 1 O 1 O 1 1 O O 0 1 1 O 1 O O O 1 O O O Il est aisé de constater sur ce tableau que cette décrémentation binaire de P conduit à améliorer progressivement la priorité sur le bus LAN. Par ailleurs, le nombre binaire G étant différent pour chaque carte, il s'ensuit que deux cartes différentes n'auront jamais de priorité identique, c'est à dire de même nombre ITO, et qu'en conséquence la contention est nécessairement résolue après passage de l'octet de contention ITO. Il convient au passage de remarquer que le signal BUSY remonte à la valeur 1 après passage du dernier octet I Tn de la trame T: cette trame T peut donc être de longueur variable, et le signal BUSY constitue aussi le signal de synchronisation de trame, ce qui est intéressant en particulier pour obtenir un débit maximal. La figure 3 montre le signal centralisé d'horloge CLK, le signal de BUSY, et la manière dont celui-ci est activé par les signaux émis par les interfaces A, C, E, par exemple Sur ce schéma, les opérations de test du BUSY sont figurées par des flèches f verticales, tandis que les opérations d'activation de celui-ci sont figurées par des flèches F légèrement obliques. En partant de la gauche, c'est à dire en suivant l'axe des temps, on constate que les interfaces A et C, qui ont chacune une interface prête à émettre, testent le BUSY (qui, étant à l'état 1, est libre) sur les fronts de descente de l'horloge CLK, tandis qu'ils l'activent tous deux (en le faisant passer à l'état 0) sur un front de montée (le front de montée suivant, si le test est positif). La contention est résolue par l'octet ITO, et est supposée résolue en faveur de l'interface A. L'interface C s'est donc retirée de l'action, et elle continue alors à tester le BUSY jusqu'à ce que, ce dernier étant revenu à l'état 1, elle puisse l'activer à sont tour. Il est montré sur ce diagramme comment l'interface E, après passage de l'information émise alors par C, vient tester à son tour le BUSY sur un front de descente de l'horloge CLK, pour l'activer à son tour sur le front de montée suivant. La figure 4 montre un exemple pratique qui va permettre de comprendre parfaitement l'invention. On est censé, dans cet exemple, se placer à l'initialisation du système, et seules les interfaces A, B, et C sont supposées avoir un message prêt à émettre vers une autre interface. Du haut en bas sur ce dessin sont représentés Le signal d'horloge centralisée CLK pendant l'émission de l'octet de contention ITO (comportant sa partie fixe G et sa partie variable P) et le début de l'émission du premier octet D'o, D'1, D'2,, de la trame, cet octet étant par ailleurs, de manière connue en soi, l'octet de destination; sous l'accolade I: les premiers bits que souhaitent émettre, et que le maître seul émet effectivement, ces interfaces A, B, et C, et le début du signal de trame effectivement émis sur le fil LAN; sous les accolades suivantes II, III, et IV: le même type de signaux que pour la phase I ci-dessus, mais relatives à l'émission des trois trames suivantes respectives. En se reportant tout d'abord à la phase I, il apparaît qu'à l'initialisation, les bits de priorité variable Do, Di, D 2, sont tous trois à zéro pour toutes les interfaces (état "tout zéro"), et définissent donc tous la priorité variable la plus forte: la contention ne peut alors être résolue que par les bits D 3, D 4, D 5, D 6, D 7 de position géographique G. Pour l'interface A, la position géographique G est O O 1 O O et la trame qu'il désire émettre après l'état ITO commence par: 1 1 O (D'o, D'î, D'2,) Pour l'interface B, la position géographique G est : 1 0 0 1 1 et la trame qu'il vise à émettre après ITO commence 0 1 1 Pour l'interface C, la position géographique est O 1 O O 1 et il désire ensuite émettre 1 1 O Sur le fil LAN apparaît le "canal de retour", c'est à dire le signal qui est relu par chacune des interfaces et qui est effectivement émis en ligne. Après l'émission des trois premiers bits P, A et C émettent (sur le front de montée de l'horloge correspondant au bit D 3) tous deux un 0, alors que B émet un 1: comme on travaille en "collecteur ouvert", le signal effectivement émis sur la ligne LAN est alors un 0. D'après le principe exposé relativement à la figure 3, la relecture s'effectue sur le front d'horloge descendant suivant, à l'endroit indiqué par la petite flèche fi L'interface B, qui constate alors que le signal relu n'est pas celui émis, abandonne alors l'action, et cesse d'émettre comme indiqué par les hachures sur le diagramme B Les deux autres relisent un zéro, et continuent donc à émettre. Au front de montée d'horloge suivant (en D 4), A émet un O tandis que C émet un 1: le fil LAN reçoit un zéro, de sorte qu'à la relecture en f 2, l'interface C abandonne à son tour: A reste seul "maître", et continue d'émettre son message sur le fil LAN, jusqu'à transmission de la totalité de sa trame. Le BUSY revient alors à l'état 1 (en fin de trame), mais est immédiatement testé par B et C, qui désirent toujours émettre leur message, et, dans cet exemple, également par A qui est supposé avoir un autre message à émettre commençant par: 0 1 1 (D'o, D'î, D'2) On vient alors en phase II. Le signal que désire A est, pour cette phase II, très modifié: non seulement les bits D'o, D'i, D'2 sont changés, mais de surcroît, les trois bits de priorité variable Do, Di, D 2 sont entre temps passés à la valeur 1 1 1 qui correspond à la priorité la plus faible. Les signaux que désirent émettre B et C restent bien entendu inchangés par rapport à la phase I, o B et C ont du se retirer. En raisonnant comme précédemment, on constate alors que A abandonne en f 3, c'est à dire sur le front de descente du premier coup d'horloge, tandis que B abandonne en f 4 et que C reste finalement le maître. En passant à la phase III, o C est lui aussi supposé émettre maintenant un autre message, on constate que la priorité variable P de A s'est décrémentée d'une valeur binaire, pour devenir 1 1 O et que celle de C est à son tour passée à 1 1 1 Il apparaît donc bien qu'en cas de succès après collision, le nombre binaire P passe à sa valeur maximale : 1 1 1, soit "tout un", quelle que soit la valeur des trois bits. Ceci apparaît encore en phase IV, o le nombre P de B ( qui était le maître en phase III) est passé à la valeur 1 1 1 de plus faible priorité, tandis que ceux relatifs à A et C ont tous deux été décrémentés d'une valeur binaire. Comme il va de soi, l'invention n'est pas limitée à l'exemple de réalisation qui vient d'être décrit C'est ainsi que les nombres P et G, pourraient être de longueurs différentes: dans le cas d'un nombre d'interfaces supérieur à 32, la position géographique comporterait par exemple six bits, et la priorité variable P deux bits Au lieu d'un octet de contention, un autre ensemble de N bits "de contention", pourrait plus généralement être utilisé dans des configurations particulières Les bits de position géographique pourraient être fixés par cablage une fois pour toutes, etc Cette invention utilise un principe simple et rapide Elle permet l'utilisation de circuits intégrés peu onéreux, tels que les circuits "ASIC", et entraîne de ce fait un prix de revient avantageux. il REVENDICATIONS 1 Procédé de résolution de contention lors de la génération simultanée, par plusieurs interfaces numériques locales (A, B, C, D, E,) aptes à correspondre entre elles, d'une trame numérique (T) sur un bus local (LAN) situé en fond de panier, caractérisé en ce qu'il consiste à prévoir, en début de la trame respective que veut émettre chaque interface, au moins un octet (ou autre ensemble de N bits) spécial "de résolution de contention", cet octet (ITO) se composant: d'une partie fixe (G) située en poids forts, cette partie fixe, qui définit par elle-même une priorité géographique, étant spécifique à cette interface; et d'une partie variable (P), située en poids faibles et qui, après un accès effectif de cette interface sur le bus local de transmission (LAN), passe à la valeur qui définit, pour cette interface, la priorité variable la plus faible ("tout un"), puis, par décrémentation binaire à chaque échec après collision ultérieur, se rapproche progressivement de la valeur binaire qui correspond à la priorité la plus forte. 2 Procédé de résolution de contention selon la revendication 1, caractérisé en ce qu'à l'initialisation, toutes les parties variables (P) de l'octet de contention (ITO) de chacune des interfaces (A, B, C, D, E,) sont à l'état ("tout zéro") qui définit, pour ces parties variables (P), la priorité la plus forte. 3 Dispositif de résolution de contention pour central téléphonique, ce dispositif mettant en oeuvre le procédé selon la revendication 1 ou la revendication 2, et ce central téléphonique étant équipé de cartes d'interface (A, B, C, D, E,) qui possèdent chacune un microprocesseur d'entrée/sortie sur un bus local (LAN) de transmission de trames numériques (T) entre cartes, ce bus local (LAN) étant situé en fond de panier, l'accès de chaque interface sur ce bus local (LAN) étant bidirectionnel et effectué par l'intermédiaire d'un amplificateur BUFFER en collecteur ouvert, ces interfaces (A, B, C, D, E,) étant séquencées par une horloge centralisée (CLK) et possédant un accès bidirectionnel sur un fil d'occupation (BUSY) afin de le forcer dans un état déterminé ( 0) en cas de transmission d'une trame (T) sur la ligne (LAN), de sorte que le signal sur ce fil d'occupation (BUSY) constitue également un signal de synchronisation de trame, caractérisé en ce qu'il est équipé de moyens ( 6, 7, 8, 9, 10,) pour fixer pour chaque interface (A, B, C, D, E, ) un nombre déterminé de bits de position géographique (D 3, D 4, D 5, D 6, D 7) qui constituent la partie fixe (G), située en poids forts, de l'octet de contention (ITO) émis par l'interface considérée.