En telecomunicaciones , 4B5B es un código de línea para comunicaciones de datos . Este código asigna grupos de 4 bits de datos a grupos de 5 bits para su transmisión. Estas palabras de 5 bits están predeterminadas en un diccionario y se eligen para garantizar que haya suficientes transiciones en el estado de la línea para generar una señal de sincronización automática . Un efecto secundario de este código es que se necesitan un 25 % más de bits para enviar la misma información.
Una alternativa al uso de la codificación 4B5B es el uso de un codificador . Algunos sistemas utilizan codificadores junto con la codificación 4B5B para asegurar el equilibrio de CC y mejorar la compatibilidad electromagnética .
Dependiendo del estándar o especificación de interés, pueden quedar varios códigos de salida de 5 bits sin usar. La presencia de cualquiera de estos códigos en el flujo de datos puede indicar un fallo en algún punto del enlace. Por lo tanto, los códigos no utilizados pueden emplearse para detectar errores en el flujo de datos.
Aplicaciones
El protocolo 4B5B fue popularizado por la Interfaz de Datos Distribuidos por Fibra (FDDI) a mediados de la década de 1980. Fue adoptado para la transmisión de audio digital por MADI en 1989 [ 1 ] y por Fast Ethernet en 1995.
El nombre 4B5B se suele usar para referirse a la versión FDDI. Se han utilizado otros códigos de 4 a 5 bits para la grabación magnética, conocidos como grabación codificada por grupos (GCR), pero estos son códigos de longitud de ejecución limitada (0,2) , con un máximo de dos ceros consecutivos. El 4B5B permite hasta tres ceros consecutivos (un código RLL (0,3)), lo que proporciona una mayor variedad de códigos de control.
En fibra óptica, la salida 4B5B está codificada en NRZI . En cambio, FDDI sobre cobre (CDDI) utiliza la codificación MLT-3 , al igual que Fast Ethernet 100BASE-TX.
La codificación 4B5B también se utiliza para la comunicación USB Power Delivery (USB-PD), [ 2 ] donde se envía a través del pin CC del USB-C (codificado adicionalmente mediante código de marca bifásico ) o las líneas de alimentación USB-A/B (codificadas adicionalmente mediante modulación por desplazamiento de frecuencia ).
Registro de tiempo
Los códigos 4B5B están diseñados para producir al menos dos transiciones por cada 5 bits de código de salida, independientemente de los datos de entrada. Estas transiciones son necesarias para que el receptor pueda recuperar la señal de reloj . Por ejemplo, una secuencia de 4 bits como 0000 2 , utilizando codificación NRZI, no contiene transiciones, lo que puede provocar problemas de sincronización en el receptor. El código 4B5B resuelve este problema asignando al bloque de 4 bits un código de 5 bits; en este caso, 11110 2 .
Hay ocho códigos de 5 bits que tienen 3 0 consecutivos: 00000, 00001, 00010, 01000, 10000, 00011, 10001, 11000. Esto deja 24 códigos disponibles.
Tabla de codificación
Tres bits cero consecutivos solo aparecen en datos normales cuando un código que termina con dos bits cero (2, E) va seguido de un código que comienza con un bit cero (1, 4, 5, 6, 7), por lo que siempre aparecerán separados por múltiplos de la longitud del símbolo codificado de 5 bits (y nunca separados por un solo símbolo). Las violaciones de esta propiedad se utilizan para códigos de sincronización especiales.
Caracteres de comando
Los siguientes códigos a veces se denominan caracteres de comando. Suelen usarse en pares, aunque USB-PD utiliza secuencias de 4 símbolos para iniciar sus paquetes.
Véase también
Referencias
- ↑ AES10-2008 (r2019): Práctica recomendada de la AES para la ingeniería de audio digital: interfaz digital de audio multicanal en serie (MADI) , Audio Engineering Society
- ↑ "5.3 Codificación de símbolos". Especificación de suministro de energía del bus serie universal . Revisión 2.0 Versión 1.3. USB Implementers Forum . 12 de enero de 2017. pág. 105.
Se
utilizará el código de línea 4b5b
. Este codifica datos de 4 bits en símbolos de 5 bits para su transmisión y decodifica símbolos de 5 bits en datos de 4 bits para su consumo por el receptor.
Enlaces externos
- Simulador - Línea de codificador 4B/5B escrita en Matlab
- CodSim 2.0: Simulador de código abierto para el Modelo de Comunicaciones Digitales de Datos de la Universidad de Málaga, escrito en HTML.
- estándares de telecomunicaciones
- Códigos de línea