Puedo ver la ventaja del código de Manchester sobre NRZ: obtienes el reloj y los datos en una sola señal combinada. Pero, ¿qué añade el diferencial de Manchester a eso?
Puedo ver la ventaja del código de Manchester sobre NRZ: obtienes el reloj y los datos en una sola señal combinada. Pero, ¿qué añade el diferencial de Manchester a eso?
Según respuestas de wiki : -
A diferencia de la codificación de Manchester, solo la presencia de una transición es Importante, no la polaridad. Los esquemas de codificación diferencial funcionarán exactamente igual si la señal se invierte (se intercambian los cables).
Eso me parece una buena característica.
En otra respuesta wiki dice que proporciona mejor inmunidad al ruido que la codificación M normal. Y en otro explica cómo lo consigue: -
Un bit '1' se indica al hacer que la primera mitad de la señal sea igual a la última mitad de la señal del bit anterior, es decir, sin transición en el inicio del bit-time. Un bit '0' se indica al hacer la primera mitad de la señal opuesta a la última mitad de la señal del bit anterior es decir, un bit cero se indica mediante una transición al comienzo de la tiempo de bit En el medio del bit-tiempo siempre hay una transición, ya sea de alto a bajo, o de bajo a alto. Un esquema invertido es es posible, y no se obtiene ninguna ventaja utilizando cualquiera de los dos esquemas.
Siguiendo una pequeña red de arrastre en la web, pensé que pondría este dibujo en el que modifiqué para mostrar cómo las transiciones de bits indican los datos de lógica 1 y lógica 0: -
Esta es la razón por la que el flujo de datos se puede invertir y aún se puede decodificar correctamente.
Un "problema" con la codificación normal de Manchester es que un flujo constante de ceros codificados se ve exactamente como un flujo constante de codificados (a menos que esté sincronizado). En mi caso, quería que la línea esté inactiva con una señal conocida y que enmarque los paquetes con un solo bit de inicio (= uno). (Quería evitar un preámbulo más largo para acortar el tiempo de respuesta). Al usar la codificación manchester diferencial, puedo dejar la línea en cero y estar seguro de que el receptor estará sincronizado cuando envíe el primer bit de inicio (uno). (tenga en cuenta que he definido Sin transición en el bit de inicio como "0" y transición en el bit de inicio como "1" = opuesto a la imagen de arriba). Así; Una ventaja de la codificación manchester diferencial es que el receptor puede bloquearse de manera confiable en un flujo constante de símbolos iguales que no tiene transición en el bit de inicio.
Lea otras preguntas en las etiquetas communication encoder transmitter manchester-coding