Entendimiento 8b10b

1

Estoy intentando desarrollar un enlace serial con el protocolo 8b10b. Según mi entendimiento, después de cada conversión necesito enviar un carácter de coma para identificar el límite del marco.

Si las cosas se hacen de esta manera, en cada 20 bits, 10 bits pertenecerán a caracteres de coma y 10 bits serán datos con una sobrecarga de 2 bits. ¿Significa que la utilización de mi canal es solo 8/20 = 40%? Si esto es cierto, entonces ¿por qué 8b10b se utiliza con tanta frecuencia.

Tengo dificultades para comprender la implementación del codificador y decodificador 8b10b. ¿Cómo se realiza el encuadre y el desempañado en este esquema de codificación? ¿Existen alternativas para encuadrar y desajustar los datos en paralelo a las conversiones de enlace en serie? Por favor, avíseme si no tengo claridad en algún punto.

    
pregunta Falcon98

1 respuesta

2

Me temo que suena como si estuvieras en una tecnología que no entiendes muy bien. Primero, busque el siguiente informe de IBM en Internet y léalo todo:

Un código de transmisión de 8B / 10B con bloque dividido y con equilibrio de CC   A. X. WidmerP. A. Franaszek

Explica que la codificación 8b / 10b permite que suficientes conjuntos de patrones con equilibrio de DC codifiquen los valores 0..255 y 12 'caracteres especiales', nombrados como Knn.m, donde n y m son números diferentes.

Algunos patrones se designan 'comas', como usted habla. Estos se utilizan normalmente para sincronizar de forma fiable el enlace. La mayoría de las veces se insertan como relleno entre los marcos de datos comunicados, por lo que el receptor no tiene mucho tiempo antes de que pueda volver a sincronizar "si lo pierde".

Como dice el IBM WP: "Para ser útil, la secuencia de coma debe ser singular y debe ocurrir con una alineación uniforme con respecto a los límites de bytes. En ausencia de errores, la coma no debe aparecer en ninguna otra posición de bit, ni dentro de los caracteres ni a través de la superposición de caracteres ".

De los 12 caracteres especiales, tres cumplen con estos requisitos: K.28.1, K.28.5 y K.28.7.

Así que no envías una coma cada otro byte. Los caracteres especiales se colocan como reposo entre los marcos de comunicación y las comas son la mejor opción debido a la resincronización garantizada si la calidad de bits recibida es suficiente.

Lea la especificación de PCI Express '. Aunque la codificación 8b / 10b no se usa en versiones PCIe más recientes, se usa en v1.x y más, y la especificación 'describirá todo esto con buen detalle. Le dará un ejemplo práctico de uso adecuado de 8b / 10b. (8b / 10b también se usa en uno de los Ethernets y en todos los tipos, pero PCIe funcionará bien aquí).

Por cierto, es un hecho de 8b / 10b que solo obtiene el 80% de su tasa de bits utilizable para datos, antes de ver lo que pierde a través de caracteres especiales entre cuadros y todo tipo. Pero los beneficios de la sincronización, el balance de DC y la capacidad de superar a la pareja transformadora esta pérdida para muchas aplicaciones.

    
respondido por el TonyM

Lea otras preguntas en las etiquetas