4B5B
From Wikipedia, the free encyclopedia
In telecommunication, 4B5B is a form of data communications line code. 4B5B works by mapping groups of four bits onto groups of 5 bits. Since there are 32 possible combinations of 5 bits and only 16 combinations of 4 bits, the 16 groups of 5 bits with the most transitions in are used in order to provide as many transitions as possible. This is done as the transitions provide clocking information for the signal.4B/5B guarantees at least one transition per block (4 input bits/5 output bits) which is plenty to allow the clock signal to be recovered. Unfortunately the use of 5 bits to represent 4 bits does mean that the bandwidth needed to transmit the data is increased by 25%.
Depending on the standard or specification of interest, there may be several 4b5b characters left unused. The presence of any of the "unused" characters in the data stream can be used as an indication that there is a fault somewhere in the link. Therefore, the unused characters can actually be used to detect errors in the data stream.
4B5B is used in the following standards:
- 100BASE-TX standard defined by IEEE 802.3u in 1995.
- AES10-2003 MADI[1] (Multichannel Audio Digital Interface)
[edit] An example of mapping can be the following:
Name | 4b | 5b | Description |
---|---|---|---|
0 | 0000 | 11110 | hex data 0 |
1 | 0001 | 01001 | hex data 1 |
2 | 0010 | 10100 | hex data 2 |
3 | 0011 | 10101 | hex data 3 |
4 | 0100 | 01010 | hex data 4 |
5 | 0101 | 01011 | hex data 5 |
6 | 0110 | 01110 | hex data 6 |
7 | 0111 | 01111 | hex data 7 |
8 | 1000 | 10010 | hex data 8 |
9 | 1001 | 10011 | hex data 9 |
A | 1010 | 10110 | hex data A |
B | 1011 | 10111 | hex data B |
C | 1100 | 11010 | hex data C |
D | 1101 | 11011 | hex data D |
E | 1110 | 11100 | hex data E |
F | 1111 | 11101 | hex data F |
I | -NONE- | 11111 | Idle |
J | -NONE- | 11000 | SSD #1 |
K | -NONE- | 10001 | SSD #2 |
T | -NONE- | 01101 | ESD #1 |
R | -NONE- | 00111 | ESD #2 |
H | -NONE- | 00100 | Halt |
SSD= Start of Stream Delimiter (100BASE-TX Ethernet)
ESD= End of Stream Delimiter (100BASE-TX Ethernet)
[edit] The following character sets are sometimes referred to as command characters:
Control Character | 5b symbols | Purpose |
---|---|---|
JK | 11000 10001 | Sync, SSD |
II | 11111 11111 | Not Used |
TT | 01101 01101 | Not Used |
TS | 01101 11001 | Not Used |
IH | 11111 00100 | SAL |
TR | 01101 00111 | ESD |
SR | 11001 00111 | Not Used |
SS | 11001 11001 | Not Used |
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 |
00000 00000 | HDLC7 |
(HDLC = High-Level Data Link Control)