Brevet FR2716315A1 — publié le 19950818

PROCEDE ET APPAREIL POUR ASSURER UN FLUX DE DONNEES DANS DES LIAISONS DE TRANSMISSION ECONOMIQUES DOMAINE TECHNIQUE La présente invention se rapporte aux communications de données et plus précisément, à un nouveau procédé de codage et de décodage des données binaires et des signaux auxiliaires pour leur transmission sur une liaison de données série qui soit moins complexe et plus efficace et présente une configuration de données souhaitée. TECHNIQUE ANTERIEURE Dans un système de transmission de données numériques, les données binaires représentant une forme quelconque d'information, sont codées sous forme numérique pour leur transmission sur le réseau. Par exemple, pour les systèmes de modulation par codage d'impulsions (PCM) qui sont d'un usage largement répandu dans les réseaux téléphoniques des Etats- Unis, les signaux vocaux analogiques sont quantifiés en un certain nombre de niveaux discrets et utilisent également un code afin de désigner chaque niveau pour chaque période d'échantillonnage. Ceci produit une chaîne de données binaires, c'est-à-dire "des 0 et des 1", qui représente le signal vocal transmis. Dans un ensemble de transmissions de données standard, tel que dans un réseau local (LAN), les données provenant d'un noeud du réseau local sont acheminées sous la forme d'une chaîne de signaux binaires vers un autre noeud relié au réseau local. Les caractéristiques des chaînes de données transmises varient en fonction du protocole prescrit auquel il faut se conformer. Le choix du protocole à utiliser peut dépendre d'un certain nombre de facteurs, tels que le type de modulation/démodulation à utiliser (pour les communications à longue distance), les contraintes de largeur de bande, la complexité du récepteur, etc.. Dans tous les cas, les données binaires doivent être représentées de telle manière qu'elles aient les caractéristiques électriques appropriées pour être transmises sur un support de transmission, tel qu'une paire de fils de cuivre torsadés. Par exemple, il est utile que le procédé de codage utilisé permettre d'être auto-synchronisé : c'est-à-dire que la fréquence d'horloge soit facilement retrouvée à partir du code d'impulsion. Les récepteurs sont davantage capables de se synchroniser avec les données transmises lorsque les données sont codées suivant un procédé de codage qui comporte une caractéristique d'auto- synchronisation. Il est également intéressant que la valeur moyenne de la chaîne de données binaires transmise soit de zéro volt (c'est-à- dire que la chaîne de données soit symétrique, ou présente une "disparité" faible ou nulle). Une chaîne présentant une valeur moyenne à zéro volt est, par exemple, une chaîne o la tension positive cumulée est égale à la tension négative cumulée. Dans les cas o il y a une grande disparité (c'est-à-dire qu'il y beaucoup plus de bits d'une polarité que de bits de l'autre polarité), les interactions entre les composants de circuit à bande passante élevée du trajet de transmission et l'énergie à basse fréquence des séquences à bits longs peuvent amener l'énergie à basse fréquence de la chaîne de bits à être éliminer par filtrage ce qui amène des pertes de données. Ces problèmes (c'est-à-dire la grande disparité etc.) sont particulièrement évidents lorsque les données à transmettre le sont dans un système de transmission de données à haute vitesse (par exemple, un réseau local ou un réseau ATM Asynchronous Transfer Mode, à mode de transfert asynchrone) dans lequel le flux des informations binaires numériques des données à transmettre présente rarement les caractéristiques appropriées à des liaisons de transmission économiques. De façon caractéristique, les informations à transmettre dans un tel environnement sont soit très aléatoires par natures, soit très répétitives. Ces caractéristiques (un haut degré d'aspect aléatoire ou de répétitivité) présentent des propriétés indésirables pour les transmissions à haute vitesse. Les données aléatoires, telles que les données compressées et les données criptées, présentent la caractéristique que tout séquence donnée de bits dans un flux de bits aléatoires peut se produire de la même manière dans toute autre séquence. Par exemple, on peut s'attendre à ce qu'une chaîne de dix 1 de suite se produise en moyenne une fois pour 1024 (210) chaînes de dix bits. Ceci est vrai pour toute autre chaîne de dix bits. Le problème qui se pose est que les longues chaînes de bits sans transition présentent un effet néfaste sur l'exécution des transmissions de données. Ceci se produit pour deux raisons. L'une des raisons est que les circuits de rétablissement de la synchronisation fonctionnent mal en l'absence de transition de bits. Une autre raison est la grande disparité qui amène les interactions entre les composants du circuit à bande passante élevée du trajet de transmission et l'énergie à basse fréquence des séquences à bits longs présentés ci-dessus. Les données répétitives, ou les données qui contiennent des chaînes de séquences de bits répétées, amènent à une concentration du spectre de fréquence du signal transmis dans des plages comportant peu de fréquence ou pire, dans une plage comportant une seule fréquence. (Une chaîne de données répétitive peut se produire lorsque les données représentant un affichage d'écran sont transmises sur le réseau et lorsque une chaîne de bits représente une couleur de fond particulière de l'écran). Cette condition crée souvent des problèmes difficiles pour respecter la Compatibilité Electro-magnétique (avec la commission fédérale des communications FCC) en ce qui concerne les produits de transmission de données prévus pour un câblage par fil pendant la conception, le développement et la fabrication. En outre, la concentration d'énergie dans une plage de fréquence limitée réduit souvent l'efficacité du rétablissement de la synchronisation dans le récepteur ce qui contribue à des performances de produit inférieures. Divers procédés de représentation des données binaires pour leur transmission sur le support physique ont été utilisés afin de résoudre quelques uns de ces problèmes. Quelques exemples de procédés de codage au niveau du support sont le codage biphasés Manchester, le codage biphasé Manchester différentiel et le codage à non retour à zéro. Un exemple de chacun de ces procédés de codage est illustré sur la figure 1. Le procédé de codage Manchester qui est largement utilisé (biphasé) élimine les variations de la valeur moyenne (ou de la disparité) en utilisant la symétrie. Dans le procédé biphasé Manchester, un 1 est représenté par un niveau 1 pendant le premier intervalle d'l/2 bit, puis passe au niveau 0 pendant le second intervalle d'1/2 bit, un 0 est représenté par la représentation inverse. De manière similaire, dans le procédé biphasé (Manchester différentiel), une représentation symétrique similaire est utilisée sauf qu'une inversion de phase par rapport à la phase précédente indique un 1 (c'est-à-dire un repère) et qu'aucun changement de phase n'est utilisé pour indiquer un 0. Un autre procédé de codage au niveau support largement employé est la représentation par non retour à zéro (NRZ) qui réduit la bande passante nécessaire pour émettre tout type de données. Dans la représentation à non retour à zéro, une impulsion d'un bit reste à l'un de ces deux niveaux pendant tout l'intervalle de bits. Dans le procédé NRZ(M), un changement de niveau est utilisé pour indiquer un repère (c'est-à-dire un 1) et aucun changement de niveau pour un 0, le procédé NRZ(S) utilise le même procédé sauf qu'un changement de niveau est utilisé pour indiquer un espace (c'est-à-dire un 0). Ces deux exemples (NRZ(M) et NRZ(S)) sont des exemples de la classification plus générales NRZ(I) dans laquelle un changement de niveau (inversion) est utilisé pour indiquer une sorte de chiffre binaire et l'absence de changement de niveau pour indiquer l'autre chiffre.) Les représentations NRZ sont efficaces en ce qui concerne la bande passante requise et sont largement utilisées. Cependant, l'utilisation des représentations biphasées (Manchester et repère) et NRZ au niveau support nécessite d'ajouter une certaine complexité au récepteur pour fixer la fréquence de synchronisation. Chacune de ces méthodes qui ont été présentées (c'est-à-dire, biphasée Manchester, NRZ(I), etc.) sont des procédés de codage de simples bits d'information pour leur transmission sur un support physique. Par exemple, pour le codage Manchester biphasé, chaque bit d'information est représenté par deux "bits de ligne". Comme représenté sur la figure 1, le premier bit d'information "a", présentant une valeur de 1, est représenté par un niveau haut ("1") passant vers un niveau bas ("0"), le niveau haut représentant le premier bit de ligne, le niveau bas représentant le second bit de ligne. Le second bit d'information "b", qui présente également une valeur de 1, est représenté par un niveau bas ("0") passant à un niveau haut ("1"). Dans ce type particulier de codage, les bits de ligne qui représentent les bits d'information dépendent du bit de ligne précédent. Ceci est appelé codage "différentiel" ou "par inversion". A titre d'illustration, dans cet exemple un bit d'information ayant la valeur 1 est représenté par un ensemble de deux bits de ligne qui présente une transition à partir de l'état précédent. Ainsi, dans la mesure o le premier bit d'information ("a") a une valeur de 1 est représenté par un niveau haut passant au niveau bas, le second bit d'information ("b") qui a également une valeur de 1 est représenté par un niveau bas passant à un niveau haut, ce qui constitue une transition à partir de la paire de bits de ligne précédente. Le bit d'information suivant "c" a une valeur de 1 et est représenté par un niveau haut passant au niveau bas, ce qui constitue une transition à partir de la paire de bits de ligne précédente. Le bit d'information "d" à une valeur de 0 et est représenté par un niveau haut passant au niveau bas, ce qui ne fait aucune transition à partir de la paire de bits de ligne précédente. Ce type de codage par inversion ou différentiel présente l'avantage parmi d'autres, d'être tolérant si deux lignes d'une paire torsadée se trouvent être échangées par inadvertance. Comme cela a été présenté, le procédé de codage biphasé Manchester différentiel et les deux procédés de codage au niveau 2716315 - support NRZ(I) (c'est-à-dire NRZ(M) et NRZ(S)) sont des procédés de codage au niveau support par inversion ou différentiel. Les procédés NRZ(I), cependant, autorisent une transmission à bande passante plus élevée dans la mesure o moins de cycles d'horloge sont nécessaires. L'un des inconvénients du codage au niveau support NRZ(I) est qu'il ne garantit pas la symétrie comme le font les procédés de codage Manchester. En outre, il ne garantit pas les informations de synchronisation pour que le récepteur puisse se synchroniser avec l'émetteur (c'est-à-dire, qu'on peut imaginer qu'une chaine de bits de ligne qui présente la même valeur soit transmise, tel que uniquement des 1, faisant ainsi décrocher la boucle à verrouillage de phase de synchronisation du récepteur). Ainsi, si l'on doit utiliser le procédé NRZ(I), un procédé de codage situé au-dessus du niveau support doit être utilisé de manière à ce que la parité soit assurée ou maximisée et de manière à ce que l'information de synchronisation soit fournie de manière planifiée. Divers types de ces procédés de codage qui sont "situés au- dessus" de ces procédés de codage au niveau support (dans une structure conceptuelle en couche) ont été utilisés dans le passé afin de profiter de la puissance des procédés de codage au niveau support. Par exemple, IBM a développé un procédé de codage appelé le procédé de codage 8/10 dans lequel 8 bits de données sont codés en mots de 10 bits pour leur transmission sur le réseau. (Par la suite, ces mots de 10 bits doivent être codés par l'un des procédés de codage au niveau support, tels que NRZ(M) pour leur transmission sur le réseau). Comme cela a été présenté, le but de ce procédé est de garantir des informations de synchronisation suffisantes tout en maintenant une disparité minimum). Cependant, parmi les 1024 (210) mots de 10 bits possibles (correspondant aux 256 mots de 8 bits), seuls 252 présentent une disparité nulle, c'est-à-dire le même nombre de 1 et de 0. Par exemple, le mot de 10 bits "1010101010" présente une disparité nulle dans la mesure o il a le même nombre de 0 et de 1. Par contre, le mot de 10 bits "10010101011" présente une disparité de deux en ce qu'il y a plus de 1 que de 0. Ainsi, de manière à s'accommoder des quatre mots de bits "manquants" (c'est-à-dire, les 256 nécessaires moins les 252 disponibles), le procédé de codage 8/10 utilise une logique quelque peu complexe et des spécifications telles qu'à minimiser cette disparité. De plus, à cause du nombre imposé de mots codés, le code 8/10 et sa logique sont assez complexes. Un autre procédé de codage a été développé par Advanced Micro Devices (AMD) pour ces circuits intégrés TAXIchip. Celui-ci est décrit dans le manuel Advanced Micro Devices TAXIchip Integrated Circuits Technical Manual, Preliminary Rev. 1.2, 1989. Celui-ci est davantage décrit dans le brevet des Etats-Unis numéro 4 987 572 cédé à Advanced Micro Devices. Le procédé de codage AMD définit un code 4/5 et un code 5/6. Dans le code 4/5, un quarté de quatre bits (ou "quarté") est reçu par la puce et codé en mots de 5 bits. De la même manière, dans le code 5/6, un mot de 5 bits est codé par la puce en un mot de 6 bits. A nouveau, ceci est fait dans le but d'inclure des informations de synchronisation dans le flux de données tout en minimisant la disparité. Cependant, en utilisant le procédé de codage AMD, il est possible d'avoir une disparité de trois (c'est-à-dire que dans cinq bits, quatre bits soient d'une polarité alors que le bit restant est de l'autre polarité) de sorte que l'équilibre en courant continu n'est pas maintenu. Ce décalage en courant continu peut affecter l'intégrité des données transmises de même qu'accroitre la gigue. Par exemple, lors de la transmission d'un code à 1 bit, un décalage en courant continu de 40 % peut se produire à cause de la disparité. En outre, le procédé de codage AMD ne fournit pas de mots uniques à 5 bits présentant une propriété de "virgule" de manière à ce que le récepteur puisse synchroniser son circuit de décodage. (Un mot présentant une propriété de "virgule" est un mot dans lequel la chaîne particulière qui représente le mot ne peut jamais être dupliquée par inadvertance dans le flux de données par, par exemple, deux mots situés côte à côte, la fin du premier mot et le début du second mot incluant la chaîne particulière). Au lieu de cela, deux mots définis par le codage AMD sont nécessaires pour que le récepteur puisse acquérir la synchronisation. Il existe le besoin d'un procédé de codage qui résolve les problèmes identifiés ci-dessus en fournissant un équilibre idéal entre la complexité, l'efficacité, les fonctions et les performances. RESUME DE L'INVENTION Un système et procédé pour coder et décoder des données binaires pour une transmission série sur un support physique qui procure un procédé de codage hautement efficace et moins complexe tout en garantissant des informations de synchronisation et en garantissant une disparité qui ne dépasse pas un pour des mots de cinq bits. Le système et le procédé de la présente invention comprennent un codeur 4/5 qui permettent à chaque quarté d'être codé et décodé indépendamment l'un de l'autre. Le système de codage et le procédé de la présente invention garantissent une disparité NRZ(I) ayant une valeur qui ne dépasse pas un pour chaque mot d'après NRZ(I) tout en procurant au moins un mot qui présente une propriété de "virgule de NRZ(i)". Le procédé pour coder convertit un premier ensemble de codes à un second ensemble de codes et comprend les étapes consistant à : regrouper ledit premier code en groupes de n bits, et convertir chaque groupe de n bits en un groupe correspondant de n + a bits, dans lequel chaque groupe de n + a bits est choisi parmi 2na options dans lequel chaque groupe choisi de n + a bits présente la caractéristique d'avoir une disparité NRZ(I) inférieure ou égale à m et dans lequel au moins un groupe choisi de n + a bits présente la propriété de virgule NRZ(I). Le procédé pour décoder convertit un second ensemble de codes en un premier ensemble de codes et comprend les étapes du procédé de conversion d'un second ensemble de codes en un premier ensemble de codes comprenant les étapp consistant à: recevoir ledit second ensemble de codes par groupe de n + a bits dans lequel chaque groupe de n + a bits est choisi parmi 2n+a options, dans lequel chaque groupe choisi de n + a bits présente la caractéristique d'avoir une disparité NRZ(i) inférieure ou égale à m et dans lequel au moins un groupe choisi de n + a bits présente la propriété de virgule NRZ(I) et convertir chaque groupe de n + a bits en un groupe correspondant de n bits. Les systèmes pour coder et décoder sont inclus dans un système pour communiquer un premier ensemble de codes d'un premier dispositif de réseau à un second dispositif de réseau par l'intermédiaire d'un support de transmission de réseau, ledit système comprenant un premier dispositif de réseau et un second dispositif de réseau, ledit premier dispositif de réseau comprenant un moyen de conversion d'un premier ensemble de codes à un second ensemble de codes comprenant: un moyen pour regrouper ledit premier ensemble de codes en groupes de n bits, un moyen pour convertir chaque groupe de n bits en un groupe correspondant de n + a bits, dans lequel chaque groupe de n + a bits est choisi parmi 2n+a options, dans lequel chaque groupe choisi de n+a bits présente la caractéristique d'avoir une disparité NRZ(I) inférieure ou égale à m et ou au moins un groupe choisi de n + a bits présente la propriété de virgule NRZ(I) et un moyen pour transmettre ledit second ensemble de codes sur ledit support de transmission de réseau, ledit second dispositif de réseau comprenant un moyen pour recevoir ledit second ensemble de codes transmis, le moyen pour convertir ledit second ensemble de codes au premier ensemble de codes comprenant un moyen pour recevoir ledit second ensemble de codes par groupes de n + a bits et un moyen pour convertir chaque groupe de n + a bits en un groupe correspondant de n bits. BREVE DESCRIPTION DES DESSINS La figure 1 décrit des exemples de représentations de données b*nalresqui uc=-rlSet Ies procee-osae-cOdage au niveau support de la technique antérieure. La figure 2 décrit un réseau qui comprend un dispositif de réseau utilisant le système de codage et le procédé de la présente invention. La figure 3 décrit, sous forme d'un schéma logique, un mode de réalisation du codeur et de l'interface de support de transmission de la présente invention. La figure 4 décrit, sous forme d'un schéma logique, un mode de réalisation de décodeur et d'interface de support de réception de la présente invention. DESCRIPTION DETAILLEE Le système et le procédé de la présente invention procurent la transmission de données sous un format qui convient à l'utilisation dans un circuit série à haute vitesse, tel que dans un réseau ATM. Le système et le procédé de la présente invention réalisent de plus la réception de données formatées transmises en série et le décodage des données reçues. En utilisant le système et le procédé de la présente invention, les données réellement transmises sur le support présentent une disparité que ne dépasse pas un de manière à ce que le décalage en courant continu et la gigue correspondante soient minimisés. En outre, en utilisant les configurations du codeur de la présente invention, au moins un mot présente une propriété de "virgule NRZ(I)" de manière à ce que le récepteur puisse synchroniser son décodeur. La figure 2 illustre sous forme d'un schéma logique un réseau de communication 10 qui comprend un support de transmission de réseau 12 et des dispositifs de réseau 14 et 16. Le dispositif de réseau 16 est représenté légèrement plus en détail comme comportant une interface de support de réception 18, un décodeur 20, un générateur/récepteur de données 22, un codeur 24 et une interface de support d'émission 26. L'interface de support de réception 18 agit pour interfacer les circuits du dispositif de réseau 16 avec le réseau 12. Elle réalise des fonctions telles que la réception d'un flux de bits émis, le rétablissement de la synchronisation de l'unité d'émission de manière à ce que le récepteur puisse se synchroniser avec l'émetteur et l'expédition du flux de données reçu et de la synchronisation vers le décodeur 20. En outre, l'interface de support de réception 18 convertit les données reçues à partir du procédé de codage au niveau support, de l'inversion par non retour à zéro (NRZ(I), vers la forme NRZ et en outre à partir d'une forme série vers un format à 5 bits. 12p Le décodeur 20 reçoit le mot de 5 bits de l'interface de support de réception (comme représenté par la flèche de direction) et décode le mot afin de produire un quarté de quatre bits plus un bit auxiliaire. Ce quarté à 4 bits et ce bit auxiliaire sont expédiés au générateur/récepteur de données 22. Le générateur/récepteur de données 22 représente le "client" de cet environnement. Il procure simplement les données binaires à émettre à travers le réseau ou reçoit les données binaires qui ont été acheminées vers lui par l'intermédiaire du réseau. Il ne s'intéresse pas à la manière dont les données sont émises ou reçues. Dans cet exemple, le générateur/récepteur de données 22 est configuré de manière à recevoir et à émettre les données binaires dans un format parallèle à 4 bits plus un bit auxiliaire supplémentaire. Ceci est utilisé simplement à titre d'illustration dans la mesure o d'autres formats peuvent être mis en oeuvre. En outre, le générateur/récepteur de données 22 est simplement une représentation logique de toute unité qui souhaite expédier les données sur un support de transmission de réseau 12 qui utilise un dispositif de réseau 16. I1 peut en réalité être tout dispositif de communication, qui peut recevoir des données d'un côté sous un format et les reformater sous le format de quarté à quatre bits plus un échappement de l'autre côté. Par exemple, le générateur/récepteur de données peut être un dispositif d'acheminement (router) relié à un réseau local. Le codeur 24 reçoit le quarté à 4 bits et le bit auxiliaire du générateur/récepteur 22 et le code en un mot à 5 bits qui doit être acheminé à l'interface de support d'émission 26. Le codeur 24 réalise en fait la fonction opposée de celle du décodeur 20. L'interface de support d'émission 26 reçoit le mot à 5 bits (comme représenté par la flèche de direction) et le convertit d'un format parallèle en un format série, le convertit d'une forme NRZ en une forme NRZ(I), et alimente l'interface de support physique par l'intermédiaire de circuit d'attaque de ligne et analogues. La figure 3 illustre l'interface de support de réception 18 et le décodeur 20 plus en détail. L'interface de support de réception 18 reçoit le flux de données série en utilisant les circuits d'interface ("circuits d'interface de ligne de réception" 28 et récepteur de ligne 30) en se conformant au protocole de support physique utilisé. Les circuits d'interface convertissent le flux de données sous une forme utilisable par le reste du système. Le flux de données reçu est acheminé à la fois vers le circuit de rétablissement de synchronisation 32 et les circuits NRZ(I) vers NRZ 34. Les circuits de rétablissement de synchronisation de récepteur 32 rétablissent la synchronisation de l'émetteur. Un procédé courant de rétablissement de synchronisation utilise les techniques de boucle verrouillée en phase. La synchronisation d'émetteur est utilisée pour synchroniser la partie restante des circuits du récepteur. Les circuits NRZ(I) vers NRZ 34 convertissent le code NRZ(I) sous une forme NRZ. Par exemple, dans le cas de NRZ(I), un procédé de codage au niveau support par inversion, les diverses transitions de ligne ou bits de ligne, sont converties sous une forme à niveau standard dans laquelle, par exemple, un signal au niveau haut représente un 1 et un signal au niveau bas représente un 0. La synchronisation de bits reçus est envoyée à la fois à un convertisseur série parallèle 36 et à un circuit diviseur par 5 42. Le circuit diviseur par 5 42 divise la synchronisation de bit reçue par 5 afin de synchroniser le récepteur pour des mots de 5 bits. Le flux de données converti est acheminé à partir des circuits NRZ vers NRZ(I) 34 vers le convertisseur série parallèle 36. Le flux de données est synchronisé dans le convertisseur série parallèle 36 en utilisant la synchronisation de bits reçue. Le convertisseur série parallèle 36 fait simplement passer les données reçues d'un format série à un format parallèle. Les données sous format parallèle (sous format 5 bits) sont acheminées vers le décodeur 20 et vers un détecteur de virgule 38. Le détecteur de virgule 38 examine le flux de données qui est sous la forme de mots de 5 bits, les bits circulant individuellement dans le convertisseur série parallèle 36. Dans l'exemple représenté, une porte ET à 5 accès 40 est utilisée dans laquelle le mot à 5 bits est "0 0 0 1 n0". Celui-ci est le mot à 5 bits qui présente une propriété de virgule NRZ(I). Comme présenté ci-dessus, cette chaine à 5 bits n'apparaitra nulle part ailleurs dans le flux de données et est uniquement réservée à ce mot. Des chaines à 5 bits représentant chacun des autres mots de la configuration de codage préférée peuvent apparaitre dans le flux de données même si le mot particulier à 5 bits n'est pas émis. Par exemple, deux bits à la fin d'un mot pris avec les premiers trois bits d'un autre mot peuvent former l'un des mots à 5 bits spécifié de l'ensemble de configuration de codage. Ceci ne peut jamais arriver avec le mot présentant la propriété de virgule NRZ(I). Ainsi, le mot présentant la propriété de virgule NRZ(I) peut synchroniser le récepteur afin de recevoir les mots à 5 bits émis. La sortie de la détection de virgule 38 est entrée de manière à activer le circuit diviseur par 5 42. Cette impulsion d'horloge du récepteur synchronisé est acheminée vers le décodeur 20. Le décodeur 20 reçoit les mots à 5 bits, synchronisé par l'horloge du récepteur et décode les mots suivant la configuration de codage préférée représentée sur le tableau 1 ci-dessous. (Le tableau de correspondance représenté ci-dessous peut être redéfini de manière à ce que le mot de code corresponde à un autre quarté de données mais reste fonctionnellement équivalent dans la mesure o ces mots de code 17 sont utilisés pour représenter les mots de données 16 plus le mot auxiliaire "d'échappement"). TABLEAU 1 Table de décodaqe Mot de code Quarté de données 00 1 1 1 1 1 0000 01 1 0 1 11 0 0 0 1 02 1 1 1 01 0 0 1 0 03 10101 0 0 1 1 04 1 1 0 10 0 1 0 0 10010 0 1 0 1 06 1 1 0 01 0 1 1 0 07 1 1 0 11 0 1 1 1 08 0 1 1 10 1 0 0 0 09 00111 1 0 0 1 0 1 1 01 1 0 1 0 11 0 1 1 1 1 0 1 1 12 01010 1 1 0 0 13 (0 0 0 10) 1 1 0 1 14 01 0 01 1 1 1 0 01011 1 1 1 1 1 1 1 10 Echappement Ces mots de code présentent les propriétés de transmission requises lorsque ils sont codés en NRZ(I) (ou par un autre procédé de codage au niveau support du type par inversion, ou différentiel). Ceci sera présenté plus en détail en liaison avec la description du codeur. Le décodeur 20, qui peut être une mémoire morte 44 ou un circuit logique, décode les mots de code & 5 bits en quarté de données à 4 bits compatibles avec le générateur/récepteur de données 22. Les quartés à 4 bits décodés plus le bit d'échappement auxiliaire sont acheminés vers le générateur/récepteur de données. Dans l'autre sens, lorsque le générateur/récepteur de données 22 souhaite émettre des données sur le réseau 12, les quartés à 4 bits plus un bit d'échappement sont acheminés vers le codeur 24. Le codeur 24 est illustré sous forme d'un schéma logique sur la figure 4. Comme on peut le voir, le codeur 24 reçoit les quartés à 4 bits et le bit d'échappement du générateur/récepteur de données 22. Le codeur 24 code chacun des quartés à 4 bits reçus 16 dans le mot à 5 bits correspondant suivant la configuration de codage représentée sur le tableau 2 ci-dessous en utilisant, par exemple, une table de recherche dans une mémoire morte 46. En outre, le bit d'échappement est codé dans le mot à 5 bits de manière à ce que des mots à 5 bits 17 soient définis pour les quartés de données 16 et le bit d'échappement unique correspondant. Comme on peut le voir, le quarté de données 13, soit "11 0 1", est codé sous forme du mot présentant la propriété de virgule NRZ(I) "O O O 1 01". TABLEAU 2 Table de codage Signal de ligne réel Quarté Mot de code Signal Signal de données de ligne de ligne Bit Bit précédent (0) précédent (1) 00 0 0 0 0 1 11 1 1 1 1 0 0 0 1 0 0 01 0 0 0 1 0 1 1 1 1010 0 01 0 1 02 0 0 1 0 11 0 1 1 1 01 0 10 01001 03 0 0 1 1 0 1 0 1 1 1 0 0 1 0 01 1 0 04 0 1 0 0 1 1 0 0 10 11 01100 05 0 1 1 10 0 1 0 1 1 1 00 0 0 0 1 06 0 1 1 0 1 0 0 1 0 0 0 1 0 1110 07 0 111 1 1 0 1 1 1 0 0 1 0 0 10 1 08 1 00 0 11 0 0 10 11 0 01 0 0 09 1 0 0 1 0 0 1 1 1 0 0 1 0 1 1 10 1 0 10 1 0 1 0 0 1 11 0 0 1 00 1 0 1 1 0 il 1 0 1 1 0 1 1 1 1 0 1 0 0 101 010 12 1100 0 1 10 0 1100 1 00 1 1 13 1101 ( 0 0 1 0) 00011 11100 14 1 1 1 0 0 10 1 0 1 1 0 1 0 10 0 1 15 1 1 1 1 0 1 0 1 1 0 1 101 0 0 1 0 Echappement 1 1 1 1 0 0 1 1 0 0 10 1 1 En outre, le tableau 2 donne les détails des valeurs de signaux de ligne réelles après que chacun des mots de 5 bits soient convertis au format NRZ(I) et soient transmis sur un support physique. Du fait que le procédé de codage au niveau support à utiliser ait un procédé de codage par inversion ou différentiel, il y a deux résultats possibles pour les valeurs de signaux de ligne réelles pour chacun des mots de données & 5 bits, chacun des bits du second résultat possible étant opposé en valeur numérique & son correspondant dans le premier résultat possible. Un examen attentif du tableau montre que la disparité des mots :19 de code qui ont été convertis en un format NRZ(I) ne dépassent jamais un en ce qu'il y en a toujours trois d'une valeur numérique et deux de l'autre. Ceci assure que l'équilibre en courant continu est maintenu de telle manière que l'intégrité des données de transmission soit maximum de même que la gigue soit minimum. En outre, il existe une densité élevée de transitions, c'est- à-dire qu'une moyenne de 3,1 transitions pour 5 éléments de signaux. De plus, la longueur de la suite de tout ensemble de 1 ininterrompu ou de 0 ne dépasse jamais 5. Ceci permet une synchronisation facile de l'unité de réception. Enfin, l'un des mots de code après conversion NRZ(I) ("0 0 0 1 0") présente une propriété de virgule NRZ(I) du fait que cette séquence de bits ne peut jamais se produire dans aucune partie d'aucune combinaison des autres mots de code. La propriété de virgule NRZ(I) permet à un récepteur d'acquérir immédiatement la synchronisation par mots de code par une simple correspondance d'une configuration à 5 bits (comme représenté sur le détecteur de virgule 38), à chaque fois que le mot est utilisé. Les mots de code de l'ensemble de codes préféré présentant la caractéristique d'avoir une disparité NRZ(I) de 1 lorsque converti au format NRZ(I) peut être estimé dans le cadre de ce document comme ayant une "disparité NRZ(I)" de 1. Le mot de code de l'ensemble de code préféré qui possède la propriété de virgule lorsque il est converti au format NRZ(I) peut être estimé dans le cadre de ce document comme ayant une "propriété de virgule NRZ(I)". (Comme représenté sur la figure 1, le format NRZ(I) peut être soit un repère soit un espace). Le procédé de codage préféré a été conçu pour réaliser des transmissions d'octets qui prennent place, parmi d'autres environnements, dans les sous systèmes de transmissions des réseaux locaux. Par exemple, un quarté de données suivi d'un quarté d'échappement peut indiquer l'un des 16 symboles de commande. Les séquences de commande peuvent alors être identifiées avec chacun des 16 quartés comme nécessaire pour chaque protocole. En outre, deux quartés d'échappement à la suite peuvent prendre une signification particulière d'être que de représenter un symbole nul qui permet de faire fonctionner les systèmes qui nécessitent un symbole d'inactivité. Enfin, le cadrage d'octets peut être accompli en posant la convention de positionner tous les symboles d'échappement immédiatement à la suite d'un octet entier. Ceci permet au récepteur de facilement établir les limites de l'octet. La sortie du codeur 24 (5 bits) est acheminée à l'interface du support d'émission 26. Le mot de données parallèle est converti sous un format série par un convertisseur parallèle série 48 qui met simplement le mot de 5 bits sous un format série. Le flux de données série est cadencé à la sortie du convertisseur par la série 48 par une cadencement d'émetteur (qui vaut 5 fois le cadencement de quarté qui cadence les données dans le convertisseur parallèle série 48) vers le circuit NRZ vers NRZ(I) 50 qui convertit le format NRZ du flux de données en format NRZ(I) dans le but de l'émission sur le réseau 12. Le circuit d'attaque de ligne 52 et les circuits d'interface de ligne d'émission 54 préparent le flux de données pour l'interface physique réelle de manière à ce qu'il ait les valeurs de tension appropriées, d'impédance de sortie, etc.. Ainsi, on peut voir que le procédé et le système de la présente invention permettent le codage et le décodage de données binaires pour la transmission série sur un support physique de manière hautement efficace et moins complexe tout en garantissant les informations de synchronisation et en garantissant une disparité NRZ(I) qui ne dépasse pas 1 par mot de 5 bits. Le codeur 4/5 permet à chaque quarté d'être codé et décodé indépendamment l'un de l'autre tout en garantissant une disparité NRZ(I) ayant une valeur qui ne dépasse pas 1 pour tout mot d'après NRZ(I) tout en procurant au moins un mot présentant la propriété de "virgule NRZ(I)". Bien que l'invention ait été présentée en particulier et décrite par référence au mode de réalisation préféré de celle-ci, l'homme de l'art comprendra que diverses autres modifications de forme et de détail peuvent être faites sans sortir de la portée de l'invention. REVENDICATIONS: 1. Procédé de conversion d'un premier ensemble de codes & un second ensemble de codes comprenant les étapes consistant à : regrouper ledit premier code en groupes de n bits, et convertir chaque groupe de n bits en un groupe correspondant de n + a bits, dans lequel chaque groupe de n + a bits est choisi parmi 2n+a options dans lequel chaque groupe choisi de n + a bits présente la caractéristique d'avoir une disparité NRZ(I) inférieure ou égale à m et dans lequel au moins un groupe choisi de n + a bits présente la propriété de virgule NRZ(I). 2. Procédé défini dans la revendication 1 dans lequel n est égal au nombre entier 4. 3. Procédé défini dans la revendication 1 dans lequel a est égal au nombre entier 1. 4. Procédé défini dans la revendication 1 dans lequel m est égal au nombre entier 1. 5. Procédé défini dans la revendication 1 dans lequel ladite étape de conversion comprend l'étape consistant à formater ledit groupe choisi de n + a bits dans le format du procédé de codage au niveau support (NRZ(I)) par inversion et non retour à zéro. 6. Procédé défini dans la revendication 5 dans lequel n est égal à 4, a est égal au nombre entier 1 et m est égal au nombre entier 1 et dans lequel en outre ledit groupe choisi de n + a bits comprend les groupes 1 1 1 1 1, 1 0 1 1 1, 1 1 1 0 1, 1 0 1 0 1, 1 1 0 1 0, 1 0 0 1 0, 1 1 0 0 1, 1 1 0 1 1, 0 1 1 1 0, 0 0 1 1 1, 0 1 1 0 1, 0 1 1 1 1, 0 1 0 1 0, (0 0 0 1 0), 0 1 0 0 1, 0 1 0 1 1 et 1 1 1 1 0 et dans lequel (0 0 0 1 0) présente la propriété de virgule NRZ(I). 7. Procédé défini dans la revendication 1, dans lequel ledit premier ensemble de codes comprend en outre un bit auxiliaire et ledit procédé comprend de plus l'étape consistant à convertir ledit bit auxiliaire en un groupe correspondant de n + a bits. 8. Procédé de conversion d'un second ensemble de codes en un premier ensemble de codes comprenant les étapes consistant à: recevoir ledit second ensemble de codes par groupe de n + a bits dans lequel chaque groupe de n + a bits est choisi parmi 2na options, dans lequel chaque groupe choisi de n + a bits présente la caractéristique d'avoir une disparité NRZ(i) inférieure ou égale à m et dans lequel au moins un groupe choisi de n + a bits présente la propriété de virgule NRZ(I) et convertir chaque groupe de n + a bits en un groupe correspondant de n bits. 9. Procédé défini dans la revendication 8, dans lequel n est égal au nombre entier 4. 10. Procédé défini dans la revendication 8, dans lequel a est égal au nombre entier 1. 11. Procédé défini dans la revendication 8, dans lequel m est égal au nombre entier 1. 12. Procédé défini dans la revendication 8, dans lequel ladite étape de conversion comprend l'étape consistant à formater ledit groupe choisi de n + a bits depuis un format de procédé de codage au niveau support (NRZ(I)) par inversion et non retour à zéro à un format (NRZ) de non retour à zéro. 13. Procédé défini dans la revendication 12, dans lequel n est égal à 4, a est égal au nombre entier 1 et m est égal au nombre entier 1 et dans lequel en outre ledit groupe reçu de n + a bits comprend les groupes 1 1 1 1 1, 1 0 1 1 1, 1 1 1 0 1, 1 0 1 0 1, 1 1 0 1 0 1 0 0 1 0, 1 00, 111 0 1 1 0 00 11, 1 1 0 1 1, 0 1 1 1 0, 1 1 1, 2Q 0 1 i 0 1, 0 1 1 1, 0 1 0 i 0, (O O 0 1 O), 0 i 0 0 1, 0 i 0 1 1 et 1 1 1 1 0 et dans lequel (0 0 0 1 0) présente la propriété de virgule NRZ(I). 14. Système de conversion d'un premier ensemble de codes en un second ensemble de codes caractérisé en ce qu'il comprend un moyen mettant en oeuvre le procédé de l'une quelconque des revendications 1 à 7. 15. Système de conversion d'un second ensemble de codes à un premier ensemble de codes caractérisé en ce qu'il comprend un moyen mettant en oeuvre le procédé de l'une quelconque des revendications 8 à 13. 16. Système pour communiquer un premier ensemble de codes d'un premier dispositif de réseau à un second dispositif de réseau par l'intermédiaire d'un support de transmission de réseau, ledit système comprenant un premier dispositif de réseau et un second dispositif de réseau, ledit premier dispositif de réseau comprenant un moyen de conversion d'un premier ensemble de codes à un second ensemble de codes comprenant: un moyen pour regrouper ledit premier ensemble de codes en groupes de n bits, un moyen pour convertir chaque groupe de n bits en un groupe correspondant de n + a bits, dans lequel chaque groupe de n + a bits est choisi parmi 2na options, dans lequel chaque groupe choisi de n+a bits présente la caractéristique d'avoir une disparité NRZ(I) inférieure ou égale à m et ou au moins un groupe choisi de n + a bits présente la propriété de virgule NRZ(I) et un moyen pour transmettre ledit second ensemble de codes sur ledit support de transmission de réseau, ledit second dispositif de réseau comprenant un moyen pour recevoir ledit second ensemble de codes transmis, le moyen pour convertir ledit second ensemble de codes au premier ensemble de codes comprenant un moyen pour recevoir ledit second ensemble de codes par groupes de n + a bits et un moyen pour convertir chaque groupe de n + a bits en un groupe correspondant de n bits. 17. Système défini dans la revendication 16, dans lequel n est égal au nombre entier 4. 18. Système défini dans la revendication 16, dans lequel a est égal au nombre entier 1. 19. Système défini dans la revendication 16, dans lequel m est égal au nombre entier 1. 20. Système défini dans la revendication 16, dans lequel ledit premier moyen de conversion de dispositif de réseau comprend un moyen pour formater ledit groupe choisi de n + a bits en un format de procédé de codage au niveau support par inversion (NRZ(I)) et non retour à zéro. 21. Système défini dans la revendication 20, dans lequel n est égal à 4, a est égal au nombre entier 1 et m est égal au nombre entier 1, et dans lequel en outre ledit groupe choisi de n + a bits comprend les groupes 1 1 1 1 1, 1 0 1 1 1, 1 1 1 0 1, 1 0 1 01, 1 0 1 0, 1 0 0 1 0, 1 1 0 0 1, 11011, 0 1 1 1 0, O O 1 1 1, 0 1 1 0 1, 0 1 1 1 1, 0 1 0 1 0, (0 0 0 1 0), 0 1 0 0 1, 0 1 0 1 1 et 1 1 1 1 0 et dans lequel (0 0 0 1 0) présente la propriété de virgule NRZ(I).