Vés al contingut

Codificació 8b/10b

De la Viquipèdia, l'enciclopèdia lliure

En telecomunicacions, la codificació 8b/10b és un codi de línia que mapeja paraules de 8 bits amb símbols de 10 bits per aconseguir l'equilibri de CC i la disparitat limitada, i alhora proporcionar prou canvis d'estat per permetre una recuperació raonable del rellotge. Això vol dir que la diferència entre els recomptes d'uns i zeros en una cadena d' almenys 20 bits no és superior a dos i que no hi ha més de cinc uns o zeros seguits. Això ajuda a reduir la demanda del límit inferior d'ample de banda del canal necessari per transferir el senyal.[1]

Un codi 8b/10b es pot implementar de diverses maneres, on el disseny es pot centrar en paràmetres específics com ara requisits de maquinari, equilibri de CC, etc. Una implementació va ser dissenyada per K. Odaka per a la gravadora d'àudio digital DAT.[2] Kees Schouhamer Immink va dissenyar un codi 8b/10b per a la gravadora d'àudio DCC.[3] La implementació d'IBM va ser descrita el 1983 per Al Widmer i Peter Franaszek.[4][5]

Com indica el nom de l'esquema, vuit bits de dades es transmeten com una entitat de 10 bits anomenada símbol o caràcter. Els cinc bits inferiors de dades es codifiquen en un grup de 6 bits (la part 5b/6b) i els tres bits superiors es codifiquen en un grup de 4 bits (la part 3b/4b). Aquests grups de codis es concatenen per formar el símbol de 10 bits que es transmet pel cable. Els símbols de dades sovint s'anomenen Dxy on x oscil·la entre 0–31 i y entre 0–7. Els estàndards que utilitzen la codificació 8b/10b també defineixen fins a 12 símbols especials (o caràcters de control) que es poden enviar en lloc d'un símbol de dades. Sovint s'utilitzen per indicar l'inici del fotograma, el final del fotograma, l'enllaç inactiu, l'omissió i condicions similars a nivell d'enllaç. Almenys un d'ells (és a dir, un símbol de "coma") s'ha d'utilitzar per definir l'alineació dels símbols de 10 bits. S'anomenen Kxy i tenen codificacions diferents de qualsevol dels símbols Dxy.

Com que la codificació 8b/10b utilitza símbols de 10 bits per codificar paraules de 8 bits, es poden excloure alguns dels possibles símbols de 1024 (10 bits, 210) per atorgar un límit de longitud d'execució de 5 bits iguals consecutius i per garantir la diferència. entre el nombre de zeros i uns no sigui superior a dos. Algunes de les 256 paraules de 8 bits possibles es poden codificar de dues maneres diferents. Utilitzant aquestes codificacions alternatives, l'esquema és capaç d'aconseguir un equilibri DC a llarg termini en el flux de dades en sèrie. Això permet que el flux de dades es transmeti a través d'un canal amb una característica de pas alt, per exemple, un parell trenat sense blindatge acoblat a un transformador d'Ethernet o receptors òptics que utilitzen control automàtic de guany.

Taules de codificació:

codi 5b/6b (abcdei)

Input RD = −1 RD = +1 Input RD = −1 RD = +1
Code EDCBA a b c d e i Code EDCBA a b c d e i
D.00 00000 100111 011000 D.16 10000 011011 100100
D.01 00001 011101 100010 D.17 10001 100011
D.02 00010 101101 010010 D.18 10010 010011
D.03 00011 110001 D.19 10011 110010
D.04 00100 110101 001010 D.20 10100 001011
D.05 00101 101001 D.21 10101 101010
D.06 00110 011001 D.22 10110 011010
D.07 00111 111000 000111 D.23 † 10111 111010 000101
D.08 01000 111001 000110 D.24 11000 110011 001100
D.09 01001 100101 D.25 11001 100110
D.10 01010 010101 D.26 11010 010110
D.11 01011 110100 D.27 † 11011 110110 001001
D.12 01100 001101 D.28 11100 001110
D.13 01101 101100 D.29 † 11101 101110 010001
D.14 01110 011100 D.30 † 11110 011110 100001
D.15 01111 010111 101000 D.31 11111 101011 010100
not used 111100 000011 K.28 ‡ 11100 001111 110000

Codi 3b/4b (fghj)

Entrada RD = −1 RD = +1 Entrada RD = −1 RD = +1
Codi HGF f g h j Codi HGF f g h j
Dx0 000 1011 0100 Kx0 000 1011 0100
Dx1 001 1001 Kx1 ‡ 001 0110 1 001
Dx2 010 0101 Kx2 010 1010 0101
Dx3 011 1100 0011 Kx3 011 1100 0011
Dx4 100 1101 0010 Kx4 100 1101 0010
Dx5 101 1010 Kx5 ‡ 101 0101 1 010
Dx6 110 0110 Kx6 110 1001 0110
Dx P7 † 111 1110 0001 Kx7 ‡ 111 0111 1 000
Dx A7 † 0111 1000

Referències

[modifica]
  1. Kees Schouhamer Immink IEEE Transactions on Communications, 45, 3, 3-1997, pàg. 293–299. DOI: 10.1109/26.558690. «The dc-balanced or dc-free codes, as they are often called, have a long history and their application is certainly not confined to recording practice.»
  2. Codificació 8b/10b a l'USPTO (anglès) Method and apparatus for encoding binary data, October 1984.
  3. Codificació 8b/10b a l'USPTO (anglès) Method of transmitting information, encoding device for use in the method, and decoding device for use in the method, June 1986.
  4. Al X. Widmer, Peter A. Franaszek «Còpia arxivada». IBM Journal of Research and Development, 27, 5, 1983, pàg. 440–451. Arxivat de l'original el 2009-05-30. DOI: 10.1147/rd.275.0440 [Consulta: 29 desembre 2022].
  5. Codificació 8b/10b a l'USPTO (anglès) Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code, December 1984.