¿Decodificación eficiente de un enlace serial codificado en Manchester?

5

¿Qué es un algoritmo eficiente para recuperar el reloj y decodificar los datos de Manchester

?     
pregunta joeforker

1 respuesta

3

Eso depende de lo que tengas que trabajar. Si está realizando un muestreo excesivo a una velocidad de al menos 4.1x la tasa de bits (2.05x la frecuencia de transición máxima), un método simple es usar una máquina de estados en la que la duración de cada tiempo alto / bajo se compare con 1.5x la duración anterior (si se piensa que la anterior es 'corta') o 0.75x la duración anterior (si se piensa que es 'larga'). Tenga en cuenta que si no sabe si está comenzando con pulsos largos o cortos, puede identificar erróneamente una secuencia continua de pulsos largos como cortos, o viceversa, pero el primer pulso de la "otra" anchura se reconocerá correctamente.

Para aclarar: supongamos que el objetivo es reconocer los datos codificados en Manchester no diferencial codificados por IEEE 802.3. Si se obtiene una transición después de un tiempo "prolongado", el estado de la línea de comunicaciones después de la transición representará un bit de datos. Si se obtiene una transición después de un tiempo "corto", ignórela pero mire la siguiente (que se espera que sea corta); El estado de la línea después de la próxima transición representará un poco de datos.

Para la codificación diferencial, un tiempo "largo" representa un cero; dos tiempos de estado "cortos" representan un 1 (si a un corto le sigue un largo, hay un error de comunicación).

    
respondido por el supercat

Lea otras preguntas en las etiquetas