Brevet FR2817683A1 — publié le 20020607

L'invention concerne un procédé de codage/décodage de données numériques transmises via des liaisons séries. Elle concerne notamment un procédé de codage/décodage du type dit "8B/10OB", la lettre "B" étant l'abréviation de "bit". Elle s'applique plus particulièrement à des liaisons de type série sur de courtes distances et à haut débit. L'invention concerne encore un dispositif pour la mise en oeuvre de ce procédé. Dans le cadre de l'invention, le terme "données numériques" doit être compris dans son sens le plus général. Il inclut les notions de messages, mots binaires, etc., de façon générale, toutes séquences d'éléments binaires ou bits, dont la longueur est déterminée par l'application particulière envisagée. Les transmissions du type précité se caractérisent notamment par le fait qu'elles ne sont pas associées à une horloge, contrairement, par exemple, aux transmissions de données numériques de type parallèle. Dans ce dernier cas, tous les bits composant un mot binaire par exemple, sont transmis en simultanéité, sur autant de liaisons physiques. Il s'ensuit que, dans le cas d'une liaison série, il est nécessaire d'adopter des mesures permettant de récupérer sur le récepteur des informations d'horloge. Une autre contrainte qui doit généralement être respectée est le besoin de garantir un taux préétabli de transitions parmi tous les bits constituant une séquence binaire. De façon typique, on désire obtenir un taux moyen de 30 % pour une séquence de 1000 bits. Une autre contrainte encore est relative à la fixation d'un paramètre particulier connu sous la dénomination anglo-saxonne "Maximum Run-Length" ("MRL") ou nombre de bits successifs maximum susceptibles de rester à une même valeur, "0" ou "1" logique. Dans l'art connu, pour satisfaire simultanément ces exigences, on recourt le plus souvent à des codes dits "DC balanced", selon la terminologie anglo-saxonne, c'est-à-dire des codes n'induisant pas de composante continue, du moins sur un intervalle de temps préétabli. Une des caractéristiques de ces codes est d'incorporer des mots de contrôle et/ou de commande qui permettent notamment de récupérer des signaux d'horloge à l'extrémité réceptrice des séquences binaires émises, mais aussi commandent les modalités d'émission et de réception des dispositifs situés aux deux extrémités de la chaîne (émetteur et récepteur). Cependant, si ce type de codes permet de résoudre, au moins partiellement, les problèmes évoqués ci-dessus, cette technique n'est pas sans inconvénients. Ces codes impliquent notamment la mise en oeuvre de circuits très complexes. En pratique, ils sont essentiellement utilisés pour des liaisons "longue distance". Or, un des besoins qui se fait sentir dans les technologies récentes de l'information est lié à la multiplication, au sein d'un même dispositif, voire sur une même carte de circuits électroniques, de liaisons séries asynchrones. A titre d'exemple, dans un même dispositif, il s'agit de liaisons cartes à cartes. Sur une même carte, il s'agit de liaisons entre modules ou circuits intégrés ("chips"). Pour fixer les idées, le nombre de liaisons peut atteindre plusieurs dizaines d'unités, par exemple typiquement 72 liaisons séries asynchrones entre deux "chips". Dans ce cadre d'application préférée de l'invention, les transmissions considérées ont pour caractéristique essentielle de s'effectuer sur de courtes distances, quelques centimètres, voire quelques millimètres. D'autre part, les technologies actuelles permettent la mise en oeuvre de fréquences très élevées, couramment supérieures à 2,5 Mbits/s. On comprend que, dans ces conditions, les solutions de l'art connu, notamment la mise en oeuvre de codes dits "DC balanced" impliquant une grande complexité en terme de circuits électroniques, ne puissent être satisfaisantes, ce d'autant plus que la proximité des circuits et/ou modules n'imposent pas l'incorporation de mots de commande dans les séquences binaires transmises. La figure 1, placée en annexe de la présente description, illustre schématiquement un exemple d'architecture de liaisons séries asynchrones, 1l et 12, entre deux cartes de circuits électroniques, Ci et C2 respectivement, placées à proximité l'une de l'autre dans une même unité 1. Une troisième carte de circuits électroniques, que l'on appellera "carte de gestion" CM transmet des mots de commande MtC, par exemple via un bus unique, aux deux cartes électroniques, Cl et C2, qui sont en relation de proximité. S'il n'est pas obligatoire, pour des liaisons à courte distance, d'incorporer des mots de commande dans les séquences binaires transmises, il est par contre nécessaire, quel que soit le procédé de codage mis en oeuvre, de satisfaire toutes les autres exigences rappelées. Il est en outre important que le procédé de codage ne multiplie pas les erreurs si un ou plusieurs bits se mettent en erreur (inversion de leurs états logiques). Cette exigence est notamment importante si on met en ceuvre des dispositions de détection et de correction d'erreurs (codes dits "ERC" ou "Error Recovery Code"). En réception, le message décodé et traité par les circuits "ERC" doit être identique au message d'origine émis, même si des erreurs se sont produites en cours de transmission. L'invention vise à pallier les inconvénients des dispositifs et systèmes de l'art connu, et dont certains viennent d'être rappelés, tout en satisfaisant aux besoins qui se font sentir. En particulier, le procédé selon l'invention permet de simplifier grandement les circuits de codage nécessaires à sa mise en oeuvre, ce sans dégradation de la qualité des transmissions. De façon plus particulière, mais non exclusivement, les applications préférées de l'invention concernent un codage du type dit "8B/10B". Comme il a été indiqué la lettre "B" signifie "bits". Ce type de code est particulièrement intéressant, car il permet de traiter le cas d'octets comportant précisément 8 bits, que l'on qualifiera "d'utiles", car véhiculant de l'information. On complète l'octet par 2 bits surnuméraires, dans des états logiques "1" ou "0" particuliers. De tels codes sont connus en soi. Un exemple peut être trouvé dans le brevet américain US 5 025 256 A (International Computers Limited). L'invention a donc pour objet principal un procédé de codage/décodage de données numériques destinées à être transmises sur une liaison série, lesdites données numériques comprenant une première séquence de bits dite de données et une deuxième séquence de bits dite de "label", caractérisé en ce que, lesdites premières et deuxièmes séquences ayant des première et deuxième longueurs de bits déterminées, il comporte au moins une phase de codage comprenant au moins une étape de contrôle d'au moins une tranche d'au moins deux bits consécutifs, chacune desdites tranches étant située dans une zone prédéterminée de ladite première séquence de bits, de manière à réaliser un découpage de celle-ci en parties de longueurs sensiblement égales, ledit contrôle consistant à effectuer un test pour déterminer si les bits consécutifs de chacune desdites tranches sont dans un même état logique, "O" ou "1", une deuxième étape consistant à positionner les bits de ladite deuxième séquence à des configurations d'états logiques prédéterminés en relation biunivoque avec le résultat dudit test, et une étape d'inversion d'au moins un bit desdites tranches lorsque le résultat dudit test est positif et de transmission de ladite première séquence de bits sans modifications lorsque le résultat dudit test est négatif. L'invention a encore pour objet un dispositif pour la mise en oeuvre de ce procédé. L'invention va maintenant être décrite de façon plus détaillée en se référant aux dessins annexés, parmi lesquels: - la figure 1 illustre schématiquement une architecture de liaisons séries asynchrones entre deux cartes de circuits électroniques; - La figure 2 illustre un mot binaire codé selon le procédé "8B/10OB"; - les figures 3A et 3B illustrent des exemples de circuits de détection de configuration particulière du mot de la figure 2 utilisable dans un codeur pour la mise en oeuvre du procédé de l'invention; - la figure 4 illustre un exemple de réalisation d'un codeur complet selon l'invention incorporant l'un ou l'autre des circuits des figures 3A ou 3B; - la figure 5 illustre un exemple de circuit de détection utilisable dans un décodeur pour la mise en oeuvre du procédé de l'invention pour un mot codé par le circuit de la figure 4; - les figures 6 et 7 illustrent des exemples de circuits détecteurs d'erreurs dans les mots codés reçus par le décodeur; et - les figures 8A et 8B illustrent des mots codés selon l'invention de longueurs quelconques. On va maintenant décrire de façon plus détaillée un exemple de réalisation préférée du procédé de codage de données numériques transmises sur une liaison série asynchrone selon l'invention. Pour fixer les idées, dans un premier temps et sans que cela soit limitatif à quel que titre que ce soit de sa portée, on se placera dans le cadre des applications préférées de l'invention, à savoir un codage de type "8B/10OB". La figure 2 illustre un mot binaire 2 de dix bits, notés b1 à b10. Les positions de bits 20, b1 à b8, que l'on a référencé "A" à "H", constituent les bits de données proprement dites ou données utiles (octet) . Les positions "A" à "H" peuvent prendre, chacune, les états logiques "1" ou "0". Les deux bits surnuméraires 21, b9 et b10, sont référencés "X1" et "X2" sur la figure 2. On peut appeler ces bits "label" ou "pattern", selon la terminologie anglo-saxonne. Dans un mode de réalisation préféré, ces bits sont simplement concaténés aux huit autres bits de l'octet 2. L'état logique, "1" ou "0", des deux bits, be et b10, dépend des valeurs logiques d'au moins certains des autres bits, b1 à b8, du mot 2, et obéit à des règles qui vont être précisées. Dans le cas général, les huit bits, b1 à b8, de l'octet 20 sont transmis tel quel et les bits de label 21 prennent alors les états logiques "01" (b9b10). Le label 21 peut être concaténé indifféremment devant ou derrière les bits de l'octet 20, le bit ("A" étant supposé être émis en pre.mier des bits de I'octet 20. Le mot binaire complet 2 prend donc la configuration logique "ABCDEFGH01" Par contre, dans le cas o trois bits consécutifs de la zone centrale de l'octet 20 sont au même état logique ("0" ou "1" respectivement), on inverse le bit central de cette zone pour augmenter la densité de transition. On choisit soit le triplet de bits b3b4b5 (positions "CDE"), soit le triplet de bits b4b5b6 (positions "DEF"). Le bit central est donc le bit b4 (position "D") dans le premier cas ou le bit b5 (position "E") dans le second cas. Le choix des trois bits est effectué a priori une fois pour toute pour une réalisation donnée. Dans ce cas, on impose au label 21 la configuration logique "10" (bgb1l0). A titre d'exemple, si l'octet 20 a la valeur logique "11111000", le mot complet est codé comme suit: "11101000-10", étant entendu que le tiret est simplement utilisé pour mettre en évidence la séparation entre l'octet 20 et le label 21, mais qu'il n'a pas d'existence physique, les deux suites de bits étant émises l'une à la suite de l'autre sans, a priori, d'intervalle de temps les séparant. On constate que le bit b4 (position "D") a été inversé par rapport à sa valeur logique originelle. Par le procédé de codage selon l'invention, les caractéristiques suivantes sont obtenues: - fréquence minimale de transition: 2 pour 10 bits, soit 20 %; - nombre maximum de bits identiques consécutifs ou "max run lenght": 6, lorsque la détection de non-transition porte sur 3 bits consécutifs d'une zone centrale (voir figures 3A et 3B ci-après) et 5, lorsque cette même détection porte sur 2 bits seulement (voir figure 7 ci- après); et - non-multiplication des erreurs et respect des codes "ERC" transmis. En effet, en ce qui concerne cette dernière caractéristique, si les données (octet 20) sont entachées d'une ou plusieurs erreur(s), cette ou ces erreur(s) est(sont) simplement transmise(s). Par contre, dans le cas d'un transcodage selon l'art connu, il existe un risque réel de multiplication des erreurs. En outre, le dispositif nécessaire pour obtenir le codage est très simple à réaliser. La figure 3A illustre un premier exemple de réalisation à base d'une porte logiques "ET", 30, et de deux portes logiques "OU", 31 et 33, et d'un inverseur 32. Sur la figure 3A, on a supposé que les trois positions de bit centrales "CDE" ont été retenues. Les portes logiques "ET" 30 et "OU" 31 ont trois entrées, recevant chacune l'un des trois signaux du triplet "CDE". La sortie de la porte logique "OU" 31 est reliée à l'entrée de l'inverseur 32. La sortie de l'inverseur 32 est relié à une première entrée de la porte logique "OU" 33. Une seconde entrée reçoit directement la sortie de la porte logique "ET" 30. Comme illustré sur la figure 3A, la porte logique "ET" 30 détecte l'apparition simultanée de bits à l'état "1" logique (sortie de cette porte à l'état "1" logique") et la porte logique "OU" 31 détecte l'apparition simultanée de bits à l'état "0" logique (sortie de cette porte à l'état "0" logique"). Dans ces deux cas, la porte logique "OU" 33 reçoit un "1" logique sur l'une ou l'autre de ses entrées. La sortie S de cette porte passe alors au "1" logique, ce qui indique que les trois bits centraux, b3b4b5 (positions "CDE" dans l'exemple), sont dans un même état logique (soit "111", soit "000"). L'application des règles bien connues de la logique combinatoire montre que, dans tous les autres cas, la sortie S est au "0" logique, ce qui indique que ces trois bits centraux ne sont pas dans un même état logique et que l'octet 20 peut être transmis tel quel. La figure 3B illustre un autre exemple de réalisation d'un circuit logique 3' remplissant la même fonction que le circuit 3 de la figure 3A, c'est-à- dire le test des bits du triplet dans un même état logique. Ce circuit est constitué de deux portes logiques "OU-EXCLUSIF" à deux entrées, 30' et 31', la première recevant sur ses entrées les bits des positions "C" et "D" (ou "D" et "E" si le triplet "DEF" avait été choisi), la seconde recevant sur ses entrées les bits des positons "D" et "E" " (ou "E" et "F" si le triplet "DEF" avait été choisi). Les sorties des portes "OU-EXCLUSIF", 30' et 31', sont transmises aux deux entrées d'une porte logique "OU" 33, jouant un rôle similaire à la porte de même référence de la figure 3A, dont la sortie est référencée S. Cependant, dans le cas du circuit de la figure 3A, la sortie S délivre un signal à l'état logique "0" pour une configuration dans laquelle tous les bits du triplet d'entrée sont dans un même état logique (soit "111", soit "000"). Si le signal en sortie de cet inverseur doit prendre l'état logique "1" pour cette même configuration logique, il y lieu de faire suivre la porte "OU" 33 d'un inverseur (non représenté). Le signal en sortie S sert à commander l'inversion du bit b4 (position "D"), ou b5 (position "E") selon les cas. On va décrire maintenant un exemple de circuit complet de codage selon l'invention et ses circuits annexes par référence à la figure 4. On suppose que l'octet 21 est tout d'abord stocké dans un registre 5 ou tout autre organe similaire (bascules de type "JK", positions de mémoire vive, etc.). Les positions "A" à "H" sont enregistrées dans huit cellules de ce registre 5, soit 5A à 5H. Les sorties des cellules centrales 5C à 5E (par exemple) sont transmises aux entrées des circuits 3 (figure 3A ou 3' figure 3B), que l'on peut appeler détecteur. A l'exception de la sortie de la cellule 5D (position "D"), les sorties des autres cellules, 5A à 5C et 5E à 5H, sont également transmises aux entrées correspondantes des cellules, 6A à 6C et 6E à 6H d'un second registre 6. Il s'ensuit que les positions A à C et E à H sont les simples copies des positions correspondantes du registre 5. Par contre la sortie de la cellule 5D (position "D") est transmise à l'entrée de la cellule 6D via une porte logique de type "OU-EXCLUSIF" 4. Celle-ci reçoit dont sur une première entrée la sortie de la cellule 5D et sur une seconde entrée la sortie S des circuits détecteurs 3. La position de mémoire de la cellule 6D du registre 6 est référencée D', car elle n'est plus une simple copie de la position D. Si la sortie S est à l'état logique "0", "D" et "D'" sont identiques (tous deux au "0" logique, par exemple). C'est le cas général. Par contre, si les circuits 3 détectent trois bits consécutifs au même état logique (voir figure 3A), la sortie S passe au "1" logique et le bit correspondant à "D" est inversé. Dans l'exemple illustré sur la figure 4, le registre 6 comporte deux cellules supplémentaires, 6X1 et 6X2, destinées à stocker les bits de label (positions référencées X, et X2). Ces bits peuvent être générés simplement à partir de la sortie S. il suffit de relier celle-ci directement à l'entrée de la première cellule supplémentaire 6X1 et, par l'intermédiaire d'un inverseur 7, à l'entrée de la seconde cellule supplémentaire 6X2. Dans le cas général, S est à l'état logique "0". Il s'ensuit que X1 est à l'état logique 0" et X2 à l'état logique "1" grâce à l'inverseur 7. Lorsque S est à l'état logique "1", on obtient la situation duale de la précédente, soit "10". Une fois codé, le mot binaire codé complet 2 (figure 2: octet 20 et label 21) est émis et transmis par une liaison série Is à un organe récepteur (non représenté). Les circuits nécessaires à la bonne transmission du mot binaire 2 dépendent de l'application précise envisagée et sont bien connus en soi de l'Homme de Métier. Il est inutile de les décrire plus avant. En réception, le processus inverse doit être réalisé. Si le label 21 a la configuration logique "01", cela signifie qu'il n'y a pas eu de codage à proprement parlé. L'octet 20 peut être accepté tel quel, sans inversion du bit central b4 (position "D"). Par contre, si la configuration est "10", cela signifie que le bit central doit être inversé. La figure 5 illustre schématiquement un exemple de réalisation d'un circuit logique 8 permettant, à la fois, la détection nécessaire et l'opération d'inversion sélective. Ce circuit 8 comprend une porte logique "ET" 80, dont une entrée 800 est inverseuse et l'autre, 801, directe, et qui reçoivent les bits de label, X2 et X1, respectivement. La sortie de cette porte logique "ET" 80 est transmise à une première entrée, 810, d'une porte logique "OU-EXCLUSIF" 81, recevant sur une seconde entrée, 811, le bit transmis correspondant à la position "D' ". En appliquant les règles de la logique combinatoire, on constate aisément que le bit en sortie (position "D") du circuit logique 8 n'est pas modifié si la configuration "X1X2" est "01" et inversé si configuration est "10". Le mot disponible sur l'organe récepteur, en particulier la partie "utile" correspondant à l'octet d'information 20, est donc bien reconstitué correctement. Dans une première variante supplémentaire du procédé selon I'invention, on peut également vérifier certaines erreurs associées au label 21. En effet, dans l'exemple décrit, il ne peut prendre que les configurations logiques "01" et 10". Les configurations "00" et 11" ne sont donc pas possibles et indiquent que ce label 21 est entaché d'erreur. Un circuit logique simple, similaire à celui de la figure 3A, par exemple, permet de détecter ces deux configurations. Au lieu d'utiliser des portes logiques "ET" à trois entrées (figure 3A: 30 et 31), on utilise des portes logiques à deux entrées. Cellules-ci reçoivent les bits des positions "X1" et "X2". A cette exception près, la configuration du circuit de détection d'erreur sur le label 21 peut être identique à celle du circuit de la figure 3A. La sortie de la porte logique "OU" (figure 3A: 33) à l'état logique "1" indique une erreur. En effet, pour obtenir ce résultat, il est nécessaire que les bits des positions "X1" et "X2" soient dans un même état logique, "1" ou "0". On peut constater également qu'une erreur double sur le label 21 se traduit par une erreur simple sur la partie données (octet 20), dont par une réduction d'erreur et non une multiplication. Dans une deuxième variante de réalisation, on effectue avantageusement un contrôle supplémentaire sur les bits de données (octet 20). En effet, si la configuration de label ("10") a provoqué l'inversion du bit central en réception (par exemple de la position "D"), on doit retrouver trois bits centraux (positions "CDE") dans un même état logique "000" ou "111". L'une ou l'autre de ces configurations peut être détectée très simplement. Le circuit logique de la figure 6 illustre un exemple de circuit 8a permettant cette détection. Dans la pratique, le circuit 8a peut être constitué par l'association d'une porte logique "ET" 80a, avec une entrée directe 801a et une entrée inverseuse 800a, recevant les bits de positions "X1" et "X2", et un circuit logique 81a identique à celui de la figure 3A (ou 3B) par exemple. En effet, ce dernier doit délivrer sur sa sortie, comme dans le cas de la figure 3A (ou 3B), un signal à l'état logique"1" seulement, et seulement si, toutes ses entrées sont au même état logique "1" ou "0". La porte logique 80a détecte la configuration logique "10" des bits de positions "X1X2" et délivre, dans ce cas, un signal à l'état logique "1". On compare ces deux signaux de sortie à l'aide d'un "OU-EXCLUSIF" 82a qui les reçoit sur ses entrées, 820a et 821a, et qui délivre sur sa sortie S' un signal à l'état logique "0" seulement, et seulement si, ses deux entrées sont au même état logique "1" ou "0", et à l'état logique "1", dans les cas contraires, ce qui indique qu'il y a erreur. En effet, les deux entrées à l'état logique "1" indiquent que les bits des positions "CDE" sont tous au même état logique ("1" ou "0") et qu'il y a eu inversion (configuration de "XX2" = "10"), et les deux entrées à l'état logique "0" indiquent que les bits des positions "CDE" sont dans des états logiques différents et qu'il n'y a pas eu inversion (configuration de "X1X2" = "01"). Ces deux cas indiquent, a priori, qu'il n'y a pas d'erreurs. On remarque que la porte logique 80a peut être omise. En effet, il suffit de transmettre la sortie de la porte logique 80 (figure 5) aussi à l'entrée 820a de la porte logique "OU-EXCLUSIF" 82a, ce qui constitue une simplification supplémentaire. Dans une autre variante de réalisation encore du procédé selon l'invention, on vérifie seulement qu'il n'y a pas de transition entre deux bits centraux successifs, par exemple les bits b4 et b5 (positions "D" et "E") si on se reporte de nouveau à la figure 2. Ces deux positions sont à fixer à l'avance. La figure 7 illustre un exemple de réalisation d'un circuit logique 9 permettant d'obtenir une telle détection. Ce circuit est réalisé à l'aide d'une simple porte logique "OU-EXCLUSIF" 90, à deux entrées, 900 et 901. Dans l'exemple décrit, les bits des positions "D" et "E" sont transmis à ces entrées. L'état de la sortie S" du circuit 9 permet de détecter l'absence ou la présence de transitions entre les bits des positions "D" et "E". Jusqu'à ce point de la description, on a supposé que le segment "utile" du mot, c'est-à-dire les données d'information, occupaient un octet et que l'on se plaçait dans le cadre des applications préférées de l'invention, à savoir le codage dit "8B/10OB". Cependant, comme il a été indiqué, le procédé selon l'invention ne se limite pas à cette seule application. Le mot codé et la partie données d'information peuvent naturellement se présenter sur des longueurs différentes, notamment plus importantes. La figure 8A illustre, de façon générale, un mot à coder 2' de structure conforme à l'invention. Les données d'information 20' occupent une séquence de longueur arbitraire m bits et le label 21' une séquence de longueur p bits. Pour assurer notamment un "Maximum Run-Length" ("MRL"), ou nombre de bits successifs maximum prédéterminé qui sont susceptibles de rester à une même valeur, "0" ou "1" logique, il est nécessaire de surveiller la configuration d'une ou plusieurs tranche(s) de n bits consécutifs dans des zones prédéterminées de la séquence 20'. Sur la figure 8A on a représenté deux tranches de bits, 20'a et 20'b. la longueur de chacune des tranches est au minimum de deux bits consécutifs. Le paramètre "MLR" dépend du nombre de bits surveillé et de la répartition des tranches. Il est avantageux de les rendre équi-réparties sur la séquence de m bits (données d'information 20'), ou pour le moins sensiblement équi- réparties. De cette façon, les tranches découpent la séquence de m bits (données d'information 20') de façon sensiblement régulière. Les tranches, 20'a et 20'b, sont donc situées (au moins approximativement) au tiers et deux tiers de la séquence de m bits, celleci étant découpée en trois parties sensiblement de mêmes longueurs. De façon similaire, s'il existe trois tranches (exemple non représenté), celles-ci seront situées approximativement au quart, à la moitié et au trois quarts de la séquence de m bits, celle-ci étant découpée en quatre parties sensiblement de mêmes longueurs. Enfin, si t est le nombre de tranches surveillées, le nombre de bits surnuméraire (label 21') est rendu égal à p, avec p > t. En choisissant p = t+1, on peut garantir au moins une transition dans le label 21'. Cette configuration constitue un cas particulier qui vient d'être décrit de façon détaillée pour un codage du type "8B/10OB". Cette transition systématique peut servir de point de repère pour l'équirépartition du découpage des tranches. En choisissant p=t+2, on peut garantir au moins deux transitions dans le label 21'. Le nombre de transitions augmente corrélativement à la valeur de p. Une telle solution s'applique avantageusement lorsque le nombre de tranches et donc la valeur de p sont élevés. La figure 8B illustre le cas le plus général. Le mot 2" comprend comme précédemment une séquence de données 20" de m bits et un label 21" de p bits. Les circuits de surveillance et de détection (par exemple figure 3A ou figure 7) contrôlent la configuration d'au moins une tranche 20"a d'au moins 2 bits consécutifs, de façon générale une tranche de n bits. De façon similaire à ce qui a été précédemment décrit, on inverse au moins un bit déterminé de tranche lorsque tous les bits sont détectés dans un même état logique, "O" ou "1". Les configurations de tranches sont forcées à des configurations logiques prédéterminées en fonction de cette détection. Le décodage s'effectue aussi de la manière décrite pour le cas "8B/10B" sur l'examen de la configuration du label. Il s'ensuit également que l'on peut effectuer aussi des tests supplémentaires en détectant des configurations logiques non permises du label. Ce dernier, en fonction de sa longueur en bit peut prendre un ensemble de configurations logiques possibles. Les combinaisons autorisées forment un premier sous-ensemble,les combinaisons non autorisées un second sous- ensemble, dual du premier. On peut enfin tester, au décodage, lorsqu'il y a eu inversion de bit si tous les bits de tranches sont au même état logique. A la lecture de ce qui précède, on constate aisément que l'invention atteint bien les buts qu'elle s'est fixés. Le procédé selon l'invention permet notamment de garantir - un taux de transitions préétablies parmi tous les bits constituant une séquence binaire; - un "Maximum Run-Length" ("MRL") ou nombre de bits successifs maximum susceptibles de rester à une même valeur, "O" ou "1" logique; et - une non-multiplication d'erreurs des données transmises. En outre, selon une caractéristique très avantageuse, ces propriétés sont obtenues en ne mettant en oeuvre que des circuits logiques très simples, ce qui permet d'accommoder de nombreuses liaisons séries dans un même dispositif, voir sur une même carte de circuits intégrés ("chips") sans en augmenter le prix de revient, ni la complexité de façon importante. Il doit être clair cependant que l'invention n'est pas limitée aux seuls exemples de réalisations explicitement décrits, notamment en relation avec les figures 3A à 8. Elle n'est pas non plus limitée, comme il a été indiqué, seulement au codage de type "8B/1 OB". REVENDICATIONS 1. Procédé de codage/décodage de données numériques destinées à être transmises sur une liaison série, lesdites données numériques comprenant une première séquence de bits dite de données et une deuxième séquence de bits dite de "label", caractérisé en ce que, lesdites première (20, 20') et deuxième (21, 21') séquences ayant des première (m) et deuxième ((p) longueurs de bits déterminées, il comporte au moins une phase de codage comprenant au moins une étape de contrôle (3, 3', 9) d'au moins une tranche (CDE, 20'a-20'b) d'au moins deux bits consécutifs, chacune desdites tranches étant située dans une zone prédéterminée de ladite première séquence de bits (20, 20'), de manière à réaliser un découpage de celle-ci en parties de longueurs sensiblement égales, ledit contrôle (3, 3', 9) consistant à effectuer un test pour déterminer si les bits consécutifs de chacune desdites tranches (CDE, 20'a-20'b) sont dans un même état logique, "0" ou "1", une deuxième étape (7) consistant à positionner les bits (X", X2) de ladite deuxième séquence (21, 21') à des configurations d'états logiques prédéterminés en relation biunivoque avec le résultat dudit test, et une étape d'inversion (4) d'au moins un bit desdites tranches ("CDE, 20'a- 'b) lorsque le résultat dudit test est positif et de transmission de ladite première séquence de bits (20, 20') sans modifications lorsque le résultat dudit test est négatif. 2. Procédé selon la revendication 1, caractérisé en ce que le nombre de bits (p) de ladite deuxième séquence est plus grand ou égal au nombre desdites tranches (t). 3. Procédé selon la revendication 1, caractérisé en ce que, ledit codage étant du type dit "8B/1 OB", ladite première séquence (20) ayant une longueur de 8 bits, de manière à former un octet de données dont les positions successives (A... H) sont numérotées 1 à 8, et ladite deuxième séquence (21) une longueur de 2 bits, il comprend le contrôle d'une tranche de 3 bits (CDE) incluant le bit numéro 5, et en ce que lesdits bits (Xl, X2) de ladite deuxième séquence (21) sont positionnés suivant la configuration logique "10" lorsque le résultat dudit contrôle indique que lesdits trois bits (CDE) de ladite tranche sont au même état logique "0" ou "1" et suivant la configuration logique "01"dans le cas contraire. 4. Procédé selon la revendication 1, caractérisé en ce qu'il comporte une phase de décodage desdites données numériques codées comprenant au moins une étape de contrôle (8) de la configuration de l'état logique des bits (X1, X2) de ladite deuxième séquence et une étape d'inversion sélective d'au moins un bit (D') desdites tranches sur détection, lors dudit contrôle, de configurations logiques prédéterminées de ladite deuxième séquence, de manière à rétablir ladite première séquence dans son état originel. 5. Procédé selon la revendication 4, caractérisé en ce que lesdites configurations logiques pouvant être prises par les bits (X", X2) de ladite deuxième séquence étant comprises dans un premier sous-ensemble de toutes les combinaisons possibles permises par le nombre de bits constituant cette séquence, il comprend une étape de détection de configurations d'états logiques non permis, constitué par un deuxième sous- ensemble dual du premier, indiquant au moins une erreur survenue sur ladite deuxième séquence. 6. Procédé selon la revendication 4, caractérisé en ce que lorsque ladite étape de contrôle de la configuration de l'état logique des bits (X", X2) de ladite deuxième séquence montre la présence d'une inversion de bit lors du codage, dans au moins une desdites tranches (CDE), il comprend une étape supplémentaire (8a) consistant, après décodage, à vérifier que tous les bits de ladite tranche sont dans un même état logique, "1" ou "0". 7. Dispositif de codage/décodage de données numériques destinées à être transmises sur une liaison série, lesdites données numériques comprenant une première séquence de bits dite de données et une deuxième séquence de bits dite de "label", caractérisé en ce que, lesdites première (20, 20') et deuxième (21, 21') séquences ayant des première (m) et deuxième (p) longueurs de bits déterminées, il comprend un codeur comprenant au moins un premier organe (3, 3', 9) pour le contrôle d'au moins une tranche d'au moins deux bits consécutifs (CDE), chacune des dites tranches étant située dans une zone prédéterminée de ladite première séquence de bits (20, 20'), de manière à réaliser un découpage de celle-ci en parties de longueurs sensiblement égales, ledit premier organe (3, 3', 9) effectuant un test pour déterminer si les bits consécutifs de chacune desdites tranches sont dans un même état logique, "0" ou "1", et délivrant sur sa sortie (S, S") un signal à un premier état logique déterminé lorsque ledit test est positif et à un second état logique déterminé lorsque ledit test est négatif, un deuxième organe (4) recevant le signal de sortie (S, S") dudit premier organe (3, 3', 9) sur une première entrée et un bit déterminé (D) desdites tranches (CDE) sur une seconde entrée, de manière à le transmettre inchangé lorsque ledit test est négatif et à l'inverser lorsque ledit test est positif, et un troisième organe (7) commandé par ledit signal de sortie pour générer des configurations logiques prédéterminées, en relation biunivoque. 8. Dispositif selon la revendication 7, caractérisé en ce que, ledit codage étant du type dit "8B/10OB", ladite première séquence (20) ayant une longueur de 8 bits, de manière à former un octet de données (A... H) dont les positions successives sont numérotées I à 8, ladite deuxième séquence (21) une longueur de 2 bits (X1, X2) et ladite tranche (CDE) une longueur de 3 bits, ledit premier organe (3) comprend une porte logique "ET" (30) et une porte logique "OU" (31) en parallèles, chacune à trois entrées, de manière à recevoir sur chacune de leurs entrées un des 3 bits de ladite tranche (CDE), incluant le bit numéro 5, et une porte logique "OU" (33) à deux entrées, recevant directement le signal de sortie de ladite porte logique "ET" (30) et, via un inverseur (32), le signal de sortie de ladite porte logique "OU" (31), de manière à délivrer en sortie (S) un signal à l'état logique "1" si, et seulement si, tous les bits de ladite tranche (CDE) sont dans un même état logique, "0" ou "1", en ce que ledit deuxième organe est une porte logique "OU- EXCLUSIF" (4) à deux entrées, recevant, sur une première entrée, le signal de sortie (S) dudit premier organe (3) et, sur une seconde entrée, le bit central (D) de ladite tranche de 3 bits (CDE), de manière à le transmettre inchangé lorsque ledit test est négatif et à l'inverser lorsque ledit test est positif, et en ce que ledit troisième organe comprend un inverseur (7) recevant en entrée ledit signal de sortie (S) dudit premier organe (3), ladite deuxième séquence étant constituée d'un premier bit (X,) au même état logique que ce signal (S) et un second bit (X2) au même état logique que le signal de sortie dudit inverseur (7). 9. Dispositif selon la revendication 7, caractérisé en ce qu'il comprend un décodeur comprenant au moins un organe de contrôle (8) de la configuration des bits (X", X2) de ladite deuxième séquence de manière à inverser sélectivement au moins un bit (D') desdites tranches sur détection de configurations déterminées indiquant que ce bit a été inversé lors du codage et à rétablir ladite première séquence dans son état originel. 10. Dispositif selon la revendication 9, caractérisé en ce que ledit codage étant du type dit "8B/10B", ladite première séquence (20) ayant une longueur de 8 bits, de manière à former un octet de données dont les positions successives sont numérotées 1 à 8, ladite deuxième séquence (21) une longueur de 2 bits, et ladite tranche (CDE) une longueur de 3 bits, ledit organe de contrôle (8) comprend une porte logique "ET" (80) ayant une entrée directe (801) et une entrée inverseuse (800), les bits (X", X2) de ladite deuxième séquence étant transmis à ces entrées respectives, et une porte logique "OU-EXCLUSIF" (81) à deux entrées, recevant, sur une première entrée (810), le signal de sortie de ladite porte logique "ET" (80) et, sur une seconde entrée (811), le bit central (D') de ladite tranche de trois bits, de manière à le transmettre inchangé lorsque la configuration logique de ladite seconde séquence est "01" et à l'inverser lorsque la configuration logique de ladite seconde séquence est "10". 11. Dispositif selon la revendication 9, caractérisé en ce qu'il comprend un premier organe supplémentaire pour la détection d'erreur de la configuration des bits (X1, X2) ladite deuxième séquence (21) par la détection d'une configuration logique prédéterminée. 12. Dispositif selon la revendication 9, caractérisé en ce qu'il comprend un deuxième organe supplémentaire (8a) pour détecter une configuration erronée de ladite tranche (CDE) après décodage, lorsque la configuration logique des bits (X1, X2) de ladite deuxième séquence indique que ledit bit a été inversé lors dudit codage, ladite configuration erronée apparaissant lorsque les 3 bits de ladite tranche sont au même état logique.