¿Cuál es el problema con NRZ y cómo la codificación de línea de manchester se maneja fuera de los relojes de sincronización de fecha y hora?

1

Estoy leyendo sobre la capa física del modelo OSI. Específicamente, las diferentes formas en que los bits digitales se pueden representar como niveles de voltaje, entre los múltiples tipos son:

  • NRZ.
  • Codificación de Manchester.

Mi comprensión de la codificación NRZ, cuando se sincronizan tanto el reloj tx como el reloj rx, es el siguiente:

Se indica que los relojes tx y rx podrían desincronizarse, en cuyo caso la codificación NRZ tendrá problemas al descodificar cadenas largas de 0 (o) 1, y la codificación de Manchester resuelve este problema.

Me está costando entender la lógica. Una imagen vale más que mil palabras, así que, por favor, ayúdame a entender esto con un diagrama de reloj / señal que muestra.

  • tx clock.
  • rx clock (drifted)
  • datos tx (nrz)
  • rx data (nrz) - > cómo el reloj a la deriva ha afectado los datos.
  • datos tx (manchester)
  • datos rx (manchester) - > cómo manchester maneja el reloj rx que se desincroniza.
pregunta Vivek Maran

1 respuesta

3

En términos simples, con codificación y recepción NRZ, a menos que tenga relojes perfectamente sincronizados en ambos extremos, no manejará largos períodos de lógica 1 o lógica 0 que se está transmitiendo. Esto se debe a que un reloj se desviará en relación con el otro y, por lo tanto, está limitado a la cantidad de 1 o 0 sucesivos que se pueden decodificar adecuadamente antes de que los relojes pierdan la sincronización y se pierda un poco. Si los datos cambian con bastante frecuencia, entonces el receptor puede volver a sincronizar su reloj generado localmente en los bordes de los cambios de datos.

Con la codificación de Manchester (o aleatorización), el reloj siempre está incrustado con los datos y la lógica inteligente extrae la señal del reloj y, por lo tanto, puede decodificar los datos correctamente. En otras palabras, en presencia de cadenas largas de 1 o 0, la codificación de Manchester produce una salida combinada de datos / reloj que alterna con bastante frecuencia para que el reloj siempre sea decodificable y no se pierda la sincronización.

Con la decodificación NRZ, considere el problema que enfrenta un UART al sincronizar su reloj con el reloj de transmisión. La parte superior del diagrama es cuando la velocidad de reloj del receptor es aproximadamente 16 veces la velocidad de bits del transmisor: -

Laparteinferiordelaimagenmuestraloquesucedecuandolavelocidadderelojdelreceptoresdemasiadolenta(porejemplo).

Normalmente,elreceptorUARTejecutaunrelojqueestácercade16vecesmásaltoquelavelocidadenbaudios.Enunasituaciónperfecta,despuésderecibirelbordeanteriordeunatransmisión(elbitdeiniciosiempreesbajo),elreceptorcuenta8ciclosdesurelojinternoparaestimarlaposicióndelbitmedio.Luego,"toma muestras" de los datos y reinicia su reloj desde este punto para que pueda contar otros 16 para obtener la posición de bit medio del primer bit.

Si los datos son bajos en todo el camino a través del byte UART transmitido, si el reloj del receptor no se desvía demasiado, el último bit (D7) se muestreará en la mitad del bit y todo estará bien.

Sin embargo, si el reloj del receptor básico no se adapta bien a 16 veces la velocidad de transmisión, puede perder un poco o contar un poco más. Este problema se agrava si la longitud de la palabra es más larga que 8 bits (más el bit de inicio y el bit de parada). La mitigación proviene del hecho de que los datos no siempre se mantienen en 1 o 0 y el receptor puede sincronizar su muestreo contando 8 desde cualquier borde de datos.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas