Code en bloc 4B5B
# Code en bloc 4B5B

4B5B est un code en bloc pour la transmission de données dans le domaine des télécommunications. 4B5B transpose un groupe de 4 bits en un groupe de 5 bits, avec la présence d'au moins 1 « bit à 1 » dans le groupe de 5 bits. Les 5 bits sont prédéterminés dans une table d'encodage.

Un effet collatéral de ce code en bloc est que plus de bits (5 bits) sont nécessaires pour transmettre 4 bits.

En fonction des spécifications du standard du protocole étudié, il peut il y avoir un certain nombre de caractères 4B5B inutilisé. La présence de ces caractères dans une trame permet d'indiquer qu'il y a eu une erreur quelque part durant la transmission.

4B5B a été popularisé par son utilisation dans le FDDI au milieu des années 1980, puis par la suite par l'Ethernet 100BASE-TX défini par le standard IEEE 802.3u en 1995, et enfin par le MADI.

Dans le domaine des fibres optiques, les données 4B5B sont encodés en NRZI. Pour le FDDI sur cuivre (CDDI) et l'Ethernet 100BASE-TX, les données 4B5B sont encodées en MLT-3.

## Table d'encodage

| Name | 4B | 5B | Description |
| - | - | - | - |
| 0 | 0000 | 11110 | Nombre hexadécimal 0 |
| 1 | 0001 | 01001 | Nombre hexadécimal 1 |
| 2 | 0010 | 10100 | Nombre hexadécimal 2 |
| 3 | 0011 | 10101 | Nombre hexadécimal 3 |
| 4 | 0100 | 01010 | Nombre hexadécimal 4 |
| 5 | 0101 | 01011 | Nombre hexadécimal 5 |
| 6 | 0110 | 01110 | Nombre hexadécimal 6 |
| 7 | 0111 | 01111 | Nombre hexadécimal 7 |
| 8 | 1000 | 10010 | Nombre hexadécimal 8 |
| 9 | 1001 | 10011 | Nombre hexadécimal 9 |
| A | 1010 | 10110 | Nombre hexadécimal A |
| B | 1011 | 10111 | Nombre hexadécimal B |
| C | 1100 | 11010 | Nombre hexadécimal C |
| D | 1101 | 11011 | Nombre hexadécimal D |
| E | 1110 | 11100 | Nombre hexadécimal E |
| F | 1111 | 11101 | Nombre hexadécimal F |
| Q | - | 00000 | Silencieux (Signal perdu) |
| I | - | 11111 | Occupé |
| J | - | 11000 | Début #1 |
| K | - | 10001 | Début #2 |
| T | - | 01101 | Fin |
| R | - | 00111 | Reset |
| S | - | 11001 | Set |
| H | - | 00100 | Arrêt |

Notez que les symboles hexadécimaux ne comportent pas plus de 2 zéros consécutifs, ce qui les rend plus facile à transmettre quand ils sont codés en NRZI ou MLT-3.

## Caractères de commande

| Caractère de commande | Symbole 5B | Utilisation |
| - | - | - |
| JK | 11000 10001 | Synchronisation / Délimiteur de début pour le FDDI et pour le 100BASE-TX |
| II | 11111 11111 | - |
| TT | 01101 01101 | Délimiteur de fin pour le FDDI |
| TS | 01101 11001 | - |
| IH | 11111 00100 | SAL |
| TR | 01101 00111 | Délimiteur de fin pour le 100BASE-TX |
| SR | 11001 00111 | - |
| SS | 11001 11001 | - |
| HH | 00100 00100 | HDLC0 |
| HI | 00100 11111 | HDLC1 |
| HQ | 00100 00000 | HDLC2 |
| RR | 00111 00111 | HDLC3 |
| RS | 00111 11001 | HDLC4 |
| QH | 00000 00100 | HDLC5 |
| QI | 00000 11111 | HDLC6 |
| QQ | 00000 00000 | HDLC7 |
