Puedo ver la ventaja del código Manchester sobre NRZ: obtienes reloj y datos en una señal combinada. Pero, ¿qué añade a eso el Manchester diferencial?
Según las respuestas de wiki : -
A diferencia de la codificación Manchester, solo es importante la presencia de una transición, no la polaridad. Los esquemas de codificación diferencial funcionarán exactamente igual si la señal se invierte (los cables se intercambian).
Eso suena una buena característica para mí.
En otra respuesta de wiki, dice que brinda una mejor inmunidad al ruido que la codificación M normal. Y en otro explica cómo lo logra: -
Un bit '1' se indica haciendo 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 al comienzo del tiempo de bit. Un bit '0' se indica haciendo que la primera mitad de la señal sea 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 del tiempo de bit. En medio del tiempo de bits siempre hay una transición, ya sea de alto a bajo o de bajo a alto. Es posible un esquema inverso y no se obtiene ninguna ventaja al usar cualquiera de los dos esquemas.
Siguiendo un pequeño rastreo en la web, pensé en poner este dibujo que modifiqué para mostrar cómo las transiciones de bits indicaban datos lógicos 1 y 0 lógicos: -
Esta es la razón por la cual el flujo de datos se puede invertir y aún 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 ceros codificados (a menos que esté sincronizado). En mi caso, quería que la línea quedara inactiva con una señal conocida y enmarcar 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 diferencial de Manchester, puedo dejar la línea inactiva 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). De este modo; Una de las ventajas de la codificación Manchester diferencial es que el receptor puede bloquearse de forma fiable en un flujo constante de símbolos iguales que no tiene transición en el bit de inicio.
No tengo adiciones teóricas a las respuestas que ya están aquí. Pero esta herramienta da una comprensión intuitiva de las diferencias. Bifase-L es la codificación Manchester. Las otras dos bifases son codificaciones diferenciales de Manchester. En particular, puedes ver la respuesta de @Oyvin en acción.
viejo contador de tiempo