domingo, 9 de agosto de 2009

el codigo manchester

La codificación Manchester es una técnica de codificación sincrónica que se utiliza para codificar el clock y los datos de un flujo de bits sincrónico. En esta técnica, los datos binarios que se transmiten no se envían como una secuencia de 1 y 0 lógicos (conocida como de no retorno a cero, NRZ). En cambio, los bits se convierten en un formato ligeramente diferente que tiene una serie de ventajas sobre el uso directo de codificación binaria.

Existen dos convenciones empleadas para la codificación Manchester.

La primera de ellas fue publicada por primera vez por Thomas G.E. en 1949 y es seguido por numerosos autores (por ejemplo, Tanenbaum). Especifica que para representar un 0 lógico la señal debe cambiar del nivel Bajo a Alto (suponiendo una amplitud física de codificación de los datos), manteniendo el nivel bajo en la primera mitad del período del bit, y un nivel alto en la segunda mitad. Para un 1 lógico los niveles de la señal deberá cambiar de Alto a Bajo.

La segunda convención es también seguida por numerosos autores (por ejemplo, Stallings), así como por las normas IEEE 802.4 (token bus) y IEEE 802.3 (Ethernet). Afirma que un 0 lógico es representado por una secuencia de señales Alto-Bajo y un 1 logico está representado por una secuencia de señal Bajo-Alto.

Como puede apreciarse si a una señal codificada en Manchester la invertimos, hemos pasado de una convención a la otra.

Entonces, las reglas de codificación según la primera convención son:

  • Si el dato original es un 0, el código Manchester es: 01
  • Si el dato original es un 1, el código Manchester es: 10
  • Cada bit se transmite en un tiempo fijo (el “periodo”).
  • Las transiciones que significan O o 1 se producen en el punto medio de un período.

El proceso para realizar la codicicación es muy simple y solo es necesario efectuar un X-OR entre los datos y el clock para obtener la señal codificada. La decodificación es mucho más compleja y necesita un post aparte.

Datos XOR clock Manchester
0 0 0
0 1 1
1 0 1
1 1 0

En los siguientes ejemplos podemos ver la 2 convenciones de codificación:

Codificación Manchester Norma IEEE

Codificación Manchester Norma IEEE

Codificación Manchester Norma Thomas GE. El patrón de 8-bits: "0 1 1 1 1 0 0 1" se codifica como "01 10 10 10 10 01 01 10". Bit LSB a la izq.

Codificación Manchester Norma Thomas GE. El patrón de 8-bits: "0 1 1 1 1 0 0 1" se codifica como "01 10 10 10 10 01 01 10". Bit LSB a la izq.

La codificación puede ser alternativamente considerada como una codificación de fase, donde cada bit es codificado por una transición de fase de 90º, o 270º grados. Por lo tanto, es común encontrar que se refiera a ella como un Código Biphase.
A su vez la codificación Manchester es un caso especial de binary phase-shift keying (BPSK), donde los datos controlan la fase de una onda cuadrada cuya frecuencia portadora es la velocidad de transmisión de datos. Lo que significa, que es self-cloking, por lo tanto la señal de reloj (clock) puede ser recuperada de los datos codificados.

Desventajas

Se puede observar que hay dos bits de datos codificados en Manchester por cada bit de datos originales. Por lo tanto, la contra de usar una codificación Manchester es que los datos codificados requieren el doble de ancho de banda.

Ventajas

1. Transmisión serial de bits con componente nula de DC.
2. Detección de errores fácil de aplicar.

Usos

El código manchester es utilizado en la capa física de la comunicación LAN ETHERNET donde el ancho de banda adicional no es un impedimento para el cable coaxial. Tambien suele utilizarse cuando se realiza una comunicación por medio de RF para evitar el ruido.

No hay comentarios:

Publicar un comentario