Scrambler con todos los ceros en la entrada

0

Varios estándares de comunicación utilizan codificadores aleatorios (multiplicativos) basados en LFSR que nunca se restablecen a un estado inicial después del encendido inicial. Por ejemplo, 10GBASE-R Ethernet especifica el siguiente aleatorizador:

Segúnlacláusula49deIEEE802.3-2015,"no hay ningún requisito sobre el valor inicial para el aleatorizador", sin embargo, parece claro que el valor inicial no debe ser cero, de lo contrario, una señal de ralentí mantendrá la salida en cero para toda la eternidad.

No he realizado los cálculos matemáticos, pero supongo que el circuito garantiza que una señal de todo cero (idle) nunca hará que el LFSR vuelva a cero, dado un estado distinto de cero. Sin embargo, parece claro que siempre hay algún patrón que hará que vuelva a cero. Si sigue una señal de todo cero, la salida se rompe esencialmente hasta que se envía otro paquete, que puede ser nunca.

Me doy cuenta de que la técnica de aleatorización es fundamentalmente imperfecta, ya que puede proporcionar largas series de ceros o unos, pero ¿no es esta situación más seria considerando que posiblemente nunca se resolverá por sí misma?

    
pregunta pc3e

3 respuestas

3

Eche un vistazo a la Figura 49-7 en la cláusula 49:

Losidlesontipodecódigodecontrol.Alenviarcódigosdecontrolenunbloque,debeiniciarelbloqueconun"campo de tipo de bloque" para indicar la mezcla de control y octetos de datos en el bloque. El valor del campo de tipo de bloque es distinto de cero.

Por lo tanto, el aleatorizador nunca verá una secuencia de todos los ceros, incluso si los ralentí se envían continuamente.

    
respondido por el The Photon
1

Depende de la cantidad de XOR o XNOR según el tipo de registro Restablecer o Establecer si elige paridad impar o incluso retroalimentación de paridad, y luego elige Retroalimentación Inv o No Inv. Por lo tanto, la condición inicial de todos los 0 o 1 puede satisfacerse con una u otra implementación, mientras que el complemento es imposible

    
respondido por el Tony EE rocketscientist
0

Los principios detrás de los Registros de Cambio de Retroalimentación Lineal significan que un LFSR de n bits alternará cada valor en 2 ^ n una vez, excepto por un valor: todos los ceros para aquellos con términos de realimentación XOR, todos para aquellos con términos de retroalimentación XNOR .

Es bastante sencillo agregar una lógica de detección a un LFSR que cambie en el 1 o el 0 requerido si ha adquirido su valor ilegal de todos los ceros o de todos. Un LFSR nunca generará este valor ilegal por sí mismo. Es concebible que un circuito amenazado por una gran inestabilidad, como el suministro de ruido o partículas alfa, pueda considerar esta protección. Pero dudo que te encuentres con un LFSR con tal protección en un producto pronto.

Por cierto, es tentador imaginar que el uso de un LFSR para mezclar un flujo de datos mediante XORing a menudo puede producir largos recorridos de 1s o 0s. En realidad, las probabilidades en contra de correr el tiempo suficiente para causar un problema continuo son inmensas. Encontrará un texto en la interweb que cubre esto, no lo intentaré aquí. Eche un vistazo a la codificación 64 / 66b, es un buen comienzo.

    
respondido por el TonyM

Lea otras preguntas en las etiquetas