Encodage 8b/10b

Encodage 8b/10b

Codage 8b/10b

Le codage 8b/10b (le terme "encodage" est impropre et influencé par l'anglais "encoding") consiste à coder, à l'aide d'une table de correspondance, une série de 8 bits en un symbole de transmission de 10 bits (appelé Transmission Character). Il y a donc 1024 (10 bits) valeurs possibles. Sur ces 1024 valeurs, seules 256 (8 bits) sont retenues. On ne garde que les valeurs comprenant au minimum 4 transitions d'un état logique vers un autre et qui n'ont que 6 zéros ou un consécutifs, même entre symboles.

Par exemple, on ne retient pas les symboles finissant par 4 zéros ou commençant par 3 zéros, car envoyés l'un à la suite de l'autre, ils représentent 7 zéros de suite.

Le codage 8b/10b garantit ainsi une bonne récupération de l'horloge en réception à très haut débit. Cette technique de codage est utilisée pour les transmissions en série, comme l'IEEE-1394, les réseaux Ethernet, S-ATA ...etc.

Le procédé de codage 8b/10b est défini sur deux niveaux. Le premier code les cinq premiers bits de l'octet non codé en un sous-bloc de six bits en utilisant un codeur 5b/6b. L'entrée de ce niveau inclut la valeur de disparité courante (rd : running disparity). Le second niveau utilise un codeur 3b/4b pour coder les trois bits restants et la valeur de disparité en un autre bloc de 4 bits.

La disparité est un paramètre binaire qui peut prendre soit une valeur positive ou négative. La disparité est calculée sur deux sous-blocs où les six premiers bits forment le premier sous-bloc et les quatre derniers bits le second sous-bloc. Le calcul s'effectue de façon suivante :

  • La disparité à la fin de n'importe quel bloc est positive si le sous-bloc contient plus de un que de zéros. Ce sera positif dans le cas 000111 et 0011.
  • La disparité à la fin de n'importe quel bloc est négative si le sous-bloc contient plus de zéros que de uns. Ce sera négatif dans le cas 111000 et 1100.

Si on a autant de zéros que de uns, on garde la disparité précédente. On parle alors de disparité neutre.

Le code 8b/10b va restreindre la génération de 000111,111000,0011 et 1100 pour limiter l'importance de zéros ou de un compris entre les sous-blocs. Les sous-blocs comprenant 000111 et 0011 sont générés seulement quand la disparité au début du sous-bloc est positive. De façon similaire, les sous-blocs comprenant 111000 et 1100 sont générés seulement quand la disparité au début du sous-bloc est négative.

Le tableau suivant illustre le codage 8b/10b pour quelques caractères de données

Input Ouput (ABCDEI) rd'
Dx EDCBA rd+ rd-
D0 00000 011000 100111 -rd
D1 00001 100010 011101
D2 00010 010010 101101
D3 00011 110001 rd
D4 00100 001010 110101 -rd
Input Ouput (FGHJ) rd'
Dx.y HGF rd+ rd-
Dx.1 000 0100 1011 -rd
Dx.2 001 1001 rd

(Tableaux à compléter)

Le codage 8b/10b se fait toujours en fonction de la rd résultant du codage précédent ou de la rd de départ. Maintenant prenons deux exemples :

Initial rd Character Name abcdei output 6bits sub block rd fghj ouput 4bits sub block rd Encoded Character Final rd
- D10.2 010101 - 0101 - 010101 0101 -
+ D11.7 110100 + 1000 - 110100 1000 -

On voit sur cet exemple les différentes disparités calculées.

Pour le caractère D10.2 : D10 correspond à la même valeur de codage quelle que soit la disparité précédente obtenue. Les six premiers bits obtenus sont 010101. Il y a dans ce cas autant de 0 que de 1, on hérite donc de la disparité précédente (négative). Pour le bloc 4 bits, c'est la même chose. La disparité reste la même que la précédente (des 6 bits). La disparité résultante (qui sera la disparité initiale du prochain bloc transmis) est calculée : il y a autant de 0 que de 1. On garde donc la disparité précédente : -.

Le principe est assez simple : en général, quand le nombre de bits à 1 et 0 est différent dans un bloc, deux sous-blocs d'un caractère ont toujours des disparités différentes. Cette vérification permet notamment de détecter certaines erreurs dans une transmission de données.

Liens externes

2 documents définissant ce codage par Franaszek and Widmer :

Ce document provient de « Codage 8b/10b ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Encodage 8b/10b de Wikipédia en français (auteurs)

Игры ⚽ Поможем решить контрольную работу

Regardez d'autres dictionnaires:

  • Codage 8b/10b — Le codage 8b/10b (le terme encodage est impropre et influencé par l anglais encoding ) consiste à coder, à l aide d une table de correspondance, une série de 8 bits en un symbole de transmission de 10 bits (appelé Transmission Character). Il y a… …   Wikipédia en Français

  • PCI Express —  À ne pas confondre avec le port PCI X Port PCI Express (de haut en bas : ×4, ×16, ×1 et ×16), comparé au traditionnel Port PCI 32 bit (en bas) Le PCI Express, abrégé PCI E …   Wikipédia en Français

  • 3615 — Minitel Le Minitel est une technologie de communication télématique développée par la Direction générale des télécommunications française (Ministère des Postes et Télécommunications) et utilisée en France, essentiellement dans les années 1980 et… …   Wikipédia en Français

  • 36 14 — Minitel Le Minitel est une technologie de communication télématique développée par la Direction générale des télécommunications française (Ministère des Postes et Télécommunications) et utilisée en France, essentiellement dans les années 1980 et… …   Wikipédia en Français

  • 36 15 — Minitel Le Minitel est une technologie de communication télématique développée par la Direction générale des télécommunications française (Ministère des Postes et Télécommunications) et utilisée en France, essentiellement dans les années 1980 et… …   Wikipédia en Français

  • 36 17 — Minitel Le Minitel est une technologie de communication télématique développée par la Direction générale des télécommunications française (Ministère des Postes et Télécommunications) et utilisée en France, essentiellement dans les années 1980 et… …   Wikipédia en Français

  • Asomtavruli — Caractéristiques Type Alphabet Langue(s) Géorgien Direction Gauche à droite Historique Époque Avant 430 IXe siècle …   Wikipédia en Français

  • Kutkhovani — Nuskhuri Nuskhuri Caractéristiques Type Alphabet Langue(s) Géorgien Direction Gauche à droite Historique Époque IX …   Wikipédia en Français

  • Minitel — Le Minitel 1, sorti en 1982 Le Minitel est un terminal destiné à la connexion au service français de Vidéotex (service baptisé Télétel). Il a été développé par le Ministère des Postes et Télécommunications et utilisé en France, essentiellement… …   Wikipédia en Français

  • Mkhedruli — Caractéristiques Type Alphabet Langue(s) Langues kartvéliennes (géorgien, etc.) Direction Gauche à droite Historique Époque XI …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”