LABORATORIO # 2: CODIGOS DE LINEA (MANCHESTER, MILLER, HDB3) Daniela Ramírez Trujillo Nicolás Ruiz Moncada Andrés Malpica Gutiérrez Yeider Camilo Ariza
RESUMEN: El presente documento contiene la práctica realizada sobre códigos de línea, donde se utiliza el software PICC para programar un microcontrolador (PIC), en el cual se genero un programa que permite obtener tres códigos de línea: Manchester, Miller Y HDB-3 mediante una serie de 8 bits posteriormente ingresados PALABRAS CLAVES: Ancho de banda, Códigos de línea, Frecuencia. ABSTRACT: This document contains practice made on line codes, where the PICC software is used to program a microcontroller (PIC), in which a program to obtain three line codes was genre: Manchester, Miller and HDB-3 by a 8-bit serial subsequently admitted. KEY WORDS: Bandwidth, Line codes, frequency. 1 INTRODUCCION El siguiente documento contiene información teórica acerca de los códigos de línea Manchester, Miller Y HDB-3 con el fin de ayudar a comprender mejor el concepto y funcionamiento de estos. Adicionalmente para apoyar estos conocimientos se incluye la práctica realiza aplicando el software PICC, el montaje del circuito, las señales obtenidas y las respectivas simulaciones en Scilab.
20162373255 20162373263 20142373015 20151373014
2 MARCO TEORICO 2.1 CÓDIGOS DE LINEA Esta surge de la necesidad de representar una señal en formato digital a través de diversos medios de transmisión. Para esto se le asignan formas de onda arbitrarias a cada bit o símbolo que representa la señal, generando cambios inmediatos en los parámetros más importantes de la señal como lo son la Potencia de Transmisión, el Ancho de Banda requerido por el canal, nivel DC, entre otros. Antes de definir los códigos de línea más usados en los sistemas de Comunicaciones, repasaremos algunos conceptos fundamentales que facilitarán el entendimiento del tema: 2.1.1 Ancho de Banda (BW): En el ámbito de las comunicaciones, el ancho de banda representa el rango (en Hertz, Hz) de frecuencias en donde se concentra la mayor parte de la potencia de la señal que se está usando. A partir de este punto se podrá calcular el ancho de banda en las simulaciones usando la transformada de Fourier, cuando se expresa la señal original en el dominio de la frecuencia. Matemáticamente se pudiera definir como en la Ecuación 1: Ecuación 1
Siendo fcs y fci las frecuencias de corte Superior e Inferior, respectivamente.
2.1.2 Tiempo de bit (Tb): Está definido como el tiempo empleado para la representación y transmisión de un bit en el sistema. 2.1.3 Intervalo de impulso (τ): Es la duración mínima del impulso usado para representar la información. 2.1.4 Velocidad de Transmisión (Vt): Se define como el número máximo de cambios por segundo que experimenta la señal o el número de impulsos que pueden transmitirse en un segundo. Matemáticamente viene expresado en la Ecuación 2: Ecuación 2
2.1.5 Tasa de Bits (R): Número de bits transmitidos por segundo. Su unidad son los bps (bits por segundo) y se representa matemáticamente en la Ecuación 3: Ecuación 3
2.2 PROPIEDADES DESEABLES DE LOS CÓDIGOS DE LÍNEA Un espectro adecuado para el canal: Por ejemplo, si el canal es acoplado de ca, la densidad espectral de potencia de la señal de codificación de líneas será insignificante a frecuencias cercanas a cero. Ancho de banda del canal de transmisión: Debe ser tan pequeño como sea posible. Esta facilita la transmisión de la señal en forma individual o la multicanalización. Capacidad de detección de errores: Debe ser posible poner en práctica esta característica con facilidad para la adición de codificadores y
decodificadores de canal, o debe incorporarse al código de línea. Transparencia: El protocolo de datos y el código de líneas están diseñados de modo que toda secuencia posible de datos se reciba fiel y transparente. 2.3 FORMATOS DE SEÑALIZACIÓN BINARIAS 2.3.1 Unipolar: Usando lógica positiva, el “1” binario se representa con un nivel alto de voltaje (+A Volts) y un “0” binario con un nivel de cero Volts. 2.3.2 Polar: Los “1” y los “0” binarios se representan por medio de nivel positivo + y negativo – de igual voltaje. 2.3.3 Bipolar: Los “1” binarios se representan por medio de valores alternadamente (-+). El “0” binario representa con un nivel cero. El término pseudoternario se refiere al uso de tres niveles de señales codificadas para representar datos de dos niveles (binarios). [1]
2.4 MANCHESTER Manchester este esquema asegura que todos los bits presentan una transición en la parte media, proporcionando así un excelente sincronismo entre el receptor y el transmisor. Una desventaja de este tipo de transmisión es que se necesita el doble del ancho de banda para la misma información que el método convencional.
Las señales de datos y de reloj, se combinan en una sola que autosincroniza el flujo de datos. Cada bit codificado contiene una transición en la mitad del intervalo de duración de los bits. Una transición de negativo a positivo representa un 1 y una transición de positivo a negativo representa un 0.
Un ejemplo claro de esta codificación se ve en la Figura 1.
significativos. [3] Un ejemplo se ve en la Figura 2.
Figura 1. Codificación Manchester
Los códigos Manchester tienen una transición en la mitad del periodo de cada bit. Cuando se tienen bits iguales y consecutivos se produce una transición al inicio del segundo bit, la cual no es tenida en cuenta por el receptor al momento de decodificar, solo las transiciones separadas uniformemente en el tiempo son las que son consideradas por el receptor. Hay algunas transiciones que no ocurren a mitad de bit. Estas transiciones no llevan información útil, y solo se usan para colocar la señal en el siguiente estado donde se llevará a cabo la siguiente transición. Aunque esto permite a la señal auto-sincronizarse, en realidad lo que hace es doblar el requerimiento de ancho de banda. [2]
2.5 MILLER Este código emplea para la transición de un uno, una transición en la mitad del intervalo significativo. Para el caso de un cero, existe una transición al final del intervalo si el bit siguiente es cero, en caso contrario no habrá transición alguna. El código Miller permite reducir considerablemente la contribución de las bajas frecuencias (y por lo tanto el problema que ello significa), y garantiza un número mínimo de transiciones de la señal en banda base como para recuperar la señal de reloj. Por lo menos habrá una transición cada dos intervalos
Figura 2. Codificación Miller
2.6 HDB-3 (High Density Binary) El código HDB3 pertenece a los códigos de línea llamados Técnica de Altibajos. Consisten en sustituir secuencias de bits que provocan niveles de tensión constantes por otras que garantizan la anulación de la componente continua y la sincronización del receptor. Los objetivos en el diseño de estas técnicas son: -Evitar la componente continua -Evitar las secuencias largas que correspondan a señales de tensión nula -No reducir la velocidad de datos -Capacidad para detectar errores En el esquema HDB3, se reemplazan las cadenas de cuatro ceros por cadenas que contienen uno o dos pulsos. En este caso, el cuarto cero se sustituye por un estado de señal no permitido en el código, este procedimiento se denomina violación del código. En las violaciones siguientes, se considera una regla adicional para asegurar con ello que tengan una polaridad alternante y así no introducir componente en continua. Si la última
violación fue positiva, la siguiente debe ser negativa y viceversa. Esta condición se determina dependiendo si el número de pulsos desde la última violación es par o impar y dependiendo de la polaridad del último pulso anterior a la aparición de los cuatro ceros La mayor parte de la energía se concentra en una región estrecha en torno a la frecuencia correspondiente a la mitad de la razón de datos. Por tanto, estos códigos son adecuados para la transmisión a altas velocidades. [4] Un ejemplo de la codificación HDB3 se ve en la Figura 3.
Figura 3. Codificación HDB3
2.7 SCILAB Es un paquete de software libre de código abierto para computación científica, orientado al cálculo numérico, a las operaciones matriciales y especialmente a las aplicaciones científicas y de ingeniería. Puede ser utilizado como simple calculadora matricial, pero su interés principal radica en los cientos de funciones tanto de propósito general como especializadas que posee así como en sus posibilidades para la visualización gráfica. Scilab posee además un lenguaje de programación propio, muy próximo a los habituales en cálculo numérico (Fortran, C,…) que permite al usuario escribir sus propios scripts (conjunto de comandos escritos en un fichero que se pueden ejecutar con una única orden) para resolver un problema concreto y también escribir nuevas funciones con, por
ejemplo, sus propios algoritmos. Scilab dispone, además, de numerosas Toolboxes, que le añaden funcionalidades especializadas. Inicialmente desarrollado por el INRIA (Institut National de Recherche en Informatique et Automatique), actualmente está a cargo de un Consorcio de universidades, empresas y centros de investigación. [5]
3 SIMULACIONES Las simulaciones fueron realizadas con la herramienta Scilab generando un código con el cual se puede ingresar un vector de entrada de n posiciones el cual se codificara en los distintos códigos de línea como lo son Manchester, Miller Y HDB-3. A continuación se presentaran algunos ejemplos de codificación haciendo uso del software descrito anteriormente, estos ejemplos se realizaran usando señales de entrada de 8 bits para poder asemejarlos más al montaje practico que se realizo y poder comparar los resultados obtenidos NOTA: Estos códigos podrán encontrarse en los anexos al documento
3.1 MANCHESTER En Manchester se observa una transición en la mitad del periodo de cada bit. Cuando se tienen bits iguales y consecutivos se produce una transición al inicio del segundo bit. Para la codificación Manchester se uso la señal de entrada 1 0 1 1 0 0 0 1 teniendo en cuenta las condiciones dadas anteriormente se obtuvo como resultado la señal de salida que observamos en la Figura 4.
Figura 5, en esta también se observa la codificación AMI puesto que esta fue tomada como base para HDB3.
Figura 4. Codificación Manchester en Scilab
3.2 MILLER El código de línea MILLER, siendo un código polar con parámetros (+V,-V) donde, uno representa ½ tiempo de bit y cero 1 tiempo de bit, no se genera transmisión pero si se alterna cuando está en presencia de ceros seguidos. Para la codificación Miller se uso la señal de entrada 1 0 1 1 0 0 0 1 teniendo en cuenta las condiciones dadas anteriormente se obtuvo como resultado la señal de salida que observamos en la Figura 5.
Figura 6. Codificación HDB3 en Scilab
4 DESARROLLO En el desarrollo de este laboratorio se utilizo el PIC16F877A y el software PICC para generar un programa el cual toma 8 bits de entrada y dependiendo de la codificación escogida nos muestra el código de línea en la salida por medio del osciloscopio. Se desarrollo el diseño esquemático del montaje por medio del programa ISIS de Proteus con el fin de comprobar tanto el funcionamiento del programa en el PIC como el circuito realizado, teniendo como resultado el esquema mostrado en la Figura 7.
Figura 5. Codificación Miller en Scilab
3.3 HDB3 La codificación HDB3 tiene como base el codigo AMI siendo un código bipolar con los parámetros (+V, 0, -V) pero con la diferencia de que cada que se repite una secuencia de 4 ceros ocurre una violación, teniendo en cuenta los parámetros de la tabla se define su gráfica. Para la codificación HDB3 se uso la señal de entrada 1 1 0 0 0 0 1 0 (con el fin de observar las violaciones) teniendo en cuenta las condiciones dadas anteriormente se obtuvo como resultado la señal de salida que observamos en la
Figura 7. Esquema del montaje final
El funcionamiento de este es muy sencillo, se deben ingresar los 8 bits por medio de el DIP switch que se observa en la Figura 8.
Figura 8. DIP switch para ingreso de b its
Posteriormente se debe tomar el dato y seleccionar el código de línea con el cual se desea codificar los bits con los pulsadores que se ven en la Figura 9.
Figura 11. Señal de entrada Miller Figura 9. Pulsadores “Toma De Datos” y “Selección”
Para ratificar el correcto funcionamiento de todo el montaje se realizo la simulación, un ejemplo de ello se puede ver en la Figura 10. En la cual se codificaran la secuencia de bits 10001001 con el código de línea HDB3.
La señal de salida obtenida se visualiza en el osciloscopio como se ve en la Figura 12.
Figura 12. Señal de salida Miller
5.2 HDB3
Figura 10. Señal de salida del sistema
Los bits de entrada se muestran en la LCD e indican la codificación de salida en este caso HDB3, como se ve en la Figura 13.
5 RESULTADOS Los resultados obtenidos en el laboratorio arrojaron las siguientes imágenes. 5.1 MILLER Los bits de entrada se muestran en la LCD e indican la codificación de salida deseada, como se ve en la Figura 11.
Figura 13. Señal de entrada HDB3
La señal del canal 1 (Señal Amarilla) nos muestra la codificación HDB3, con un voltaje alto que nos representa los unos positivos y el voltaje bajo los unos negativos (Señal Azul), Los unos positivos se ven especificados en la
Figura 14. Mientras que los ceros los observamos en la Figura 15.
el cual controlan la cantidad de ceros para evitar pérdidas. BIBLIOGRAFÍA [1]Códigos de Línea. Tomado el 09 de Octubre de 2016:https://cnx.org/contents/i39fScqX@ 4/4-Cdigos-de-Lnea
Figura 14. Señal de salida con unos
[2]Código Manchester. Tomado el 03 de Octubre de 2016: https://es.wikipedia.org/wiki/Codificaci%C 3%B3n_Manchester [3]Código Miller. 03 de Octubre de 2016:http://alumno.ucol.mx/al995664/pub lic_html/Codigos.htm
Figura 15. Señal de salida con unos negativos
6 CONCLUSIONES Se analizaron los códigos de línea y su diferente codificación (MANCHESTER, HDB3, MILLER). Identificamos las funciones que nos ofrece la herramienta Scilab en el análisis de los diferentes tipos de codificación. Se logró evidenciar la importancia que poseen los códigos de línea al momento de una transmisión generando sincronía en sus diferentes procesos como el del reloj. En el caso el código Miller analizamos que este contribuye con la reducción de las bajas frecuencias y garantiza un número mínimo de transiciones. En el código HDB-3 se tiene el beneficio de no posee la componente continua ni las bajas frecuencias, y la importancia del uso de sus violaciones
[4]Código HDB-3.Tomado el 03 de Octubre de 2016: http://docente.ucol.mx/al000408/public_h tml/HDB3.html [5]Scilab. Tomado el 09 de Octubre de 2016:http://personal.us.es/echevarria/doc ument os/ApuntesScilab.pdf