Sei sulla pagina 1di 36

Universidad Distrital "Francisco Jos de Caldas, Facultad Tecnolgica

Tecnologa Electrnica 1. Cdigos de lnea En el presente trabajo se muestra la implementacin de los cdigos NRZ-L (RS232), AMI, Manchester, Manchester diferencial (espacio y marca) y HDB3, utilizando un circuito con controlador y el anlisis espectral con el software Fluke View que viene con el Osciloscopio Fluke. Este software permite analizar en el PC las ondas presentes en el osciloscopio mediante la captura de datos utilizando una comunicacin serial y generando su espectro de amplitud. El trabajo se dividi en tres partes: 1) Implementacin del circuito, 2) Desarrollo del programa en Assembler y 3) Anlisis espectral utilizando Fluke View y Mathcad. 2. Contenido 2.1. Generalidades Para la transmisin de informacin digital es necesario representar sta a travs de una seal. A las diversas formas en que puede representarse la informacin digital como seales se les denomina Cdigos de Lnea. Las caractersticas de un cdigo de lnea son entre otras: Auto sincronizacin: Contenido suficiente de seal de temporizacin (reloj) que permita identificar el tiempo correspondiente a un bit.
1 0 1 0 1 0 0 1

Cdigos de lnea

Capacidad de deteccin de errores: La definicin del cdigo incluye el poder detectar un error y en ocasiones, corregirlo Inmunidad al ruido: Capacidad para detectar adecuadamente el valor de la seal ante la presencia de ruido, baja probabilidad de error. Densidad espectral de potencia: Igualacin entre el espectro de frecuencias de la seal y la respuesta en frecuencia del canal de transmisin. Ancho de banda: Contenido suficiente de seal de temporizacin (reloj) que permita identificar el tiempo correspondiente a un bit. Transparencia: Independencia de las caractersticas del cdigo en relacin a la secuencia de unos y ceros que se transmita Terminologa bsica de los cdigos de lnea: Seal Polar: Enva pulso o el negativo del pulso Seal Unipolar: Enva pulso o cero Seal Bipolar: Representa el uno alternando el signo del pulso. NRZ: No retorno a cero. El pulso dura todo el perodo del bit RZ: Retorno a cero. El pulso dura menos que el perodo del bit.

Informacn digital binaria

Conversin de valores lgicos a seal elctrica

Canal

Regeneracion de seal elctrica y conversin a valores lgicos RX

Informacin digital binaria

TX

Seal elctrica

Pg. 1

Codificacin de datos

2.2. Descripcin de los cdigos de lnea Cdigo RNZ-L - RS232 La norma RS 232 C, similar a la V24 de CCITT define la transmisin fsica entre un Terminal DTE - Data Terminal Equipment y un Modem DCE - Data Communication Equipment. La norma realiza estados de las velocidades de transmisin 110 Bits/s (Teletipo), adems para los Modems: 150, 300, 600, 1200 Bits/s, etc. Igualmente, la seal elctrica define el "1" lgico como comprendido entre -3V y -15V y el "0" entre +3V y +15V. En modo asncrono, la primera transicin de "1" a "0" es llamada Start Bit, que ser seguida, por 5, 6, 7 u 8 bits de datos. Se puede definir el octavo bit como el bit de paridad. En ese caso, se transferir el caracter en 7 bits. Al final de la transmisin del carcter, la seal debe obligatoriamente regresar a "0", esto se llama el Stop Bit, para atender el prximo Start Bit. Se puede definir 1, 1.5 o 2 Stop bits. Antes se utilizaban los Stop Bits para generar una demora delante del carcter siguiente, para dejar el tiempo a los componentes mecnicos de posicionarse en su lugar.
Start V+ bit Stop 0 1 2 3 4 5 6 7 8 bits

El uno (1) binario se representa como un pulso positivo o negativo. Los pulsos correspondientes a los unos (1) deben tener una polaridad alternante. No hay componente en continua de la seal. Ventajas No hay componente continua Uso eficiente del ancho de banda Deteccin de errores aislados Inconvenientes Problemas de sincronizacin. Menor eficacia (hay que distinguir entre tres niveles). Ms vulnerable al ruido.
1 0 1 1 0 1 1 1 0 1 1 1 1 0

Cdigo Manchester Transicin en mitad del intervalo de duracin del bit La transicin sirve como procedimiento de sincronizacin y de transmisin de datos. El uno (1) binario se representa como una transicin de bajo a alto. El cero (0) binario se representa como una transicin de alto a bajo Ventajas Sincronizacin: siempre existe transicin durante el intervalo de duracin correspondiente a un bit. No hay componente continua Deteccin de errores por ausencia de transicin Inconvenientes La mxima velocidad de modulacin es el doble que en los NRZ, por tanto el ancho de banda necesario es mayor.

VEl octavo bit es de datos o paridad

Cdigo AMI (Alternative Mark Inversion) Un cero (0) binario se representa por ausencia de seal.

Pg. 2

Pares: bit de relleno con polaridad contraria a la de la ltima transicin y violacin con la misma polaridad del bit de relleno.
1 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

1 Transicin Tb / 2 0 Transicin Tb / 2

+V -V -V +V

+ Impar +

V Impar V

+ Impar +

V B Par + V

B Par +

Manchester diferencial de marca


0 0 1 1 0 0 0 1 1 1 1 0 1

PB Impar Impar Par Par

PUB + +

0 0 + -

C.S 0 0 0 0 0 0 0 0

+ + -

0 0 B B

F.P. 0 0 0 0 0 0 0 0

V V V V

1 No cambia de forma inmediata 0 Transicin Tb / 2 inmediata Manchester diferencial de espacio


0 0 1 1 0 0 0 1 1 1 1 0 1

2.3 Software utilizado para el anlisis espectral

1 Transicin Tb / 2 inmediata 0 No cambia de forma inmediata Cdigo HDB3 (High density bipolar) 1) Similar a AMI pero con dos reglas Si hay cuatro 0s consecutivos: 2) Impares: violacin en la misma polaridad del ltimo uno. Fluke View es un software desarrollado para la captura y anlisis espectral de seales con el osciloscopio Fluke.

Pg. 3

Osciloscopio

El espectro de amplitud se genera utilizando el comando Espectrum del men Options. Las graficas mostradas se pueden editar utilizando las funciones adecuadas: color, description, grids, labels y plot parameters, entre otras.

Software

Computador Sistema de adquisicin y anlisis espectral se seales

Posee una interfaz de comunicacin RS-232 que permite la comunicacin del osciloscopio con el computador en el cual este instalado el software. Se pueden utilizar todos los puertos del PC a la velocidad de transmisin deseada.

2.4. Circuito implementado El circuito que genera los diferentes tipos de cdigos de lnea se implemento con el micro controlador 16F628 de Microchip. Los bloques contractivos de este circuito se describen a continuacin. El selector: Consta de un arreglo de tres dip_switch que pueden proporcionar hasta ocho posibles cdigos. Su funcin dentro del sistema es la de permitirnos escoger entre los diferentes cdigos de lnea uno para su anlisis didctico. 1: AMI 2: Manchester 3: Manchester diferencial de marca 4: Manchester diferencial de espacio 5: HDB3 Generador dato de ocho bits: Consta de un arreglo de ocho dip_switch que nos permite ingresar al sistema un dato de ocho bits, simulando el mensaje de una fuente de datos. RX1: Es un puente de resistencias de 1K que ofrecen la funcin de pull_up para asegurar un

El software es muy sencillo y solo basta con observar la seal proveniente de un generador o cualquier otra fuente en el osciloscopio, abrir el programa, seleccionar el puerto de comunicaciones y cargar la seal al PC.

Pg. 4

estado lgico bajo cuando los respectivos contactos de dip_switch se encuentren abiertos. Fuente de poder: Se alimenta de la red de 110V y consta de un rectificador de media onda y un condensador que derivan una tensin promedio de alimentacin de 80V DC, que luego es regulada por dos diodos zener de 12V que en conjunto entregan 24V pero que al ser tomado el ctodo del primero como referencia de todo el circuito se obtienen tensiones relativas de -12V y 12V respectivamente y que corresponden a los niveles lgicos con los cuales se trabajan los cdigos de lnea que son objeto de nuestro estudio en este laboratorio, por otra parte derivamos de los 12V la regulacin de 5V y obtenemos no solo la alimentacin del microcontrolador sino tambin los niveles lgicos TTL apropiados para generar las palabras de control y los datos de alimentacin del sistema. Puente de potencia: Esta compuesto por dos opto_osciladores PC817 que operan como un amplificador complementario y cuya nica restriccin es que no se encuentren en conduccin simultnea. La parte positiva de la seal de salida es entregada cuando se introduce en los nodos de los acopladores el cdigo 01 y la parte negativa se entrega con el cdigo 10, el nivel de cero voltios es forzado a la salida con la resistencia de 1K y cuando ninguno de los acopladores esta en conduccin (cdigo 00). Podemos ver que el cdigo 11 no se utiliza puesto que averiara seriamente el puente de potencia. Microcontrolador: En este caso se trata de un PIC16F628 que trabaja con oscilador interno a una frecuencia de 4Mhz y ofrece un bajo consumo de potencia. La entrada de los 8 bits correspondientes al dato a procesar estn comprendidas entre los pines 6 al 13 (puerto

B), los tres bits asignados al selector estn entre los pines 1, 17 y 18. En el Anexo No. 3., se muestra el esquema del circuito con todos sus componentes y en el Anexo No. 4., los diagramas de flujo del programa elaborado en Assembler para el micro controlador. 3. Conclusiones Las grficas obtenidas con Fluke View se muestran en el Anexo No. 1. En el se presentan la grfica en el tiempo y el espectro de amplitud para cada una de las tramas de datos utilizados. Todas estas diversas formas en que se represento la informacin digital como seales, corresponden a Cdigos de Lnea estandarizados y comunes en la transmisin de datos. La eleccin y uso de cada uno depende de la aplicacin, tipo, cantidad de datos, velocidad de transmisin, etc. Cada uno presenta ventajas y desventajas que los hacen caractersticos y diferentes. En algunos tipos es importante el nivel y la polaridad de cada bit y en otros se tiene en cuenta es la transicin entre estados (1 y 0). Adems el uso de dos polaridades y la alternancia entre ellos permiten disminuir el nivel DC de cada trama de datos y la utilizacin de la deteccin de flancos de subida y bajada hacen que los Tb sean pequeos y ahorrar consumo de potencia. Si se analiza la grfica de espectros se logra observar que la componente armnica de mayor magnitud se puede decodificar y utilizar como seal de reloj en un sistema de transmisin de datos cuando se manejan codificacin Manchester. La codificacin HDB3 se analizo utilizando el software matemtico Mathcad, el cual es una herramienta muy verstil para estos tipos de anlisis. Ver Anexo No. 2.

Pg. 5

Es ms que evidente que la utilizacin de equipos y software especializados en el anlisis de seales, arroja mejores resultados que los basados en mtodos numricos y operaciones del clculo que se utilizaban aos atrs de forma manual. La evolucin de estas nuevas herramientas permiten una mayor precisin y ahorro de tiempo considerable. 4. Bibliografa [1]Dorf, Svoboda, Circuitos Elctricos: Introduccin al anlisis y diseo, Editorial Alfaomega , 3ra Edicin, Mxico, 2000, Pginas 771 a 837. [2]Tokheim, Roger L., Principios Digitales, Editorial McGraw Hill, Mxico, 1982, Pginas 240 a 250. [3] Apuntes de clase: Comunicaciones Digitales, Profesor Hermes Eslava, 2004. 5. Autores Jos Garca, Javier Zarate, Jairo Vargas Caleo, Agustn Murcia, estudiantes de Tecnologa Electrnica, Sexto Semestre, Asignatura Comunicaciones Digitales, Laboratorio 1, Profesor: Hermes Eslava, Marzo de 2004, Bogot, Colombia.

Pg. 6

Universidad Distrital "Francisco Jos de Caldas, Facultad Tecnolgica


Tecnologa Electrnica

Cdigos de lnea

ANEXO No. 1. Anlisis de espectros utilizando Fluke View

Cdigo NRZ-L Seal de entrada: carcter ASCII "U" (DEC = 85), (BIN = 10101010)

Pg. 1

Dato 10101010 AMI

Pg. 2

Manchester

Pg. 3

Manchester diferencial de marca

Pg. 4

Manchester diferencial de espacio

Pg. 5

Dato 11100111 AMI

Pg. 6

Manchester

Pg. 7

Manchester diferencial de marca

Pg. 8

Manchester diferencial de espacio

Pg. 9

Dato 00011000 AMI

Pg. 10

Manchester

Pg. 11

Manchester diferencial de marca

Pg. 12

Manchester diferencial de espacio

Pg. 13

ANEXO No. 2. CODIGO HDB3 1) Teniendo el siguiente dato 1, 0, 0, 0, 0, 0, 0, 1 y asumiendo que el ltimo bit del dato anterior fue una pulso negativo T := 5 10
3 6

Tb := 625 10

Vp := 12

i := 0 .. 7 D :=
i

d( t) := Vp ( ( t) ( t 1 Tb) )

1 0 0 0 1 0 0 1

f ( t) :=

d( t i Tb) D

i= 0 14 10 6 2 2 0 6 10 14

f ( t)

6.25 .10

0.00125

0.00187

0.0025

0.00313

0.00375

0.00438

0.005

:= 2 A :=
0

T
T

= 1256.63706 a :=
n

n := 1 .. 100
T

j :=

1 f ( t) dt T
0

2 f ( t) cos( n t) dt T
0

b :=
n

2 f ( t) sin( n t) dt T
0

A = 1.5
0

DC := A

DC = 1.5

=
2.70095 1.90986

1.11877 5.72958 2.17356 5.72958 1.30413 1.90986 0.15982 0

0.90032 1.4003910 -15 0.54019 0.63662 0.38585 5.06410 -15

g( t) :=

1 2

A +
0

n= 1

(ancos(nt) + bnsin(nt))

100

n := 1 .. 24

18 12 6 g( t) 6 12 18 t 0 6.25 .10
4

0.00125 0.00187 0.0025 0.00313 0.00375 0.00438 0.005

C :=
n

(an) + (bn)
2

C =
n 2.92349 6.03951 2.35264 5.72958 1.41158 2.01317 0.41764 5.0936210 -15

9 8 7 6 5 Cn 4 3 2 1 1 3 5 7 9

Espectro de f(t)

11

13 n

15

17

19

21

23

25

2) Teniendo el siguiente dato 0, 0, 0, 0, 1, 0, 0, 0 y asumiendo que el ltimo bit del dato anterior fue una pulso positivo T := 5 10
3 6

Tb := 625 10

Vp := 12

i := 0 .. 7 D :=
i

d( t) := Vp ( ( t) ( t 1 Tb) )

1 0 0 1 1 0 0 0

f ( t) :=

d( t i Tb) D

i= 0

f ( t)

14 10 6 2 2 0 6 10 14

6.25 .10

0.00125

0.00187

0.0025

0.00313

0.00375

0.00438

0.005

:= 2 A :=
0

T
T

= 1256.63706 a :=
n

n := 1 .. 100
T

j :=

1 f ( t) dt T
0

2 f ( t) cos( n t) dt T
0

b :=
n

2 f ( t) sin( n t) dt T
0

A = 1.5
0

DC := A

DC = 1.5 =
2.70095 1.90986 0.90032

=
3.35631 1.90986 6.52067 1.90986 3.9124 0.63662 0.47947

1.3009110

-15

0.54019 0.63662 0.38585 0 100

4.575710 -15

g( t) :=

1 2

A +
0

n= 1

(ancos(nt) + bnsin(nt))

n := 1 .. 20

18 12 6 g( t) 6 12 18 t 0 6.25 .10
4

0.00125 0.00187 0.0025 0.00313 0.00375 0.00438 0.005

C :=
n

(an) + (bn)
2

C =
n 4.30812 2.70095 6.58253 1.90986 3.94952 0.90032 0.61545 4.6092510 -15 0.47868 0.54019 Cn

9 8 7 6 5 4 3 2 1 1 3 5 7 9

Espectro de f(t)

11

13 n

15

17

19

21

23

25

ANEXO No. 3 CIRCUITO GENERADOR CDIGOS DE LNEA


1 VCC 1k 2 3 U3 PS2561 U4 PS2561 4

SELECTOR 1k RA0 MCLR RA1 RA2 OSC1/CLK RA3 14 VDD RA4/T0CLK RB0/INT RB1 RB2 RB3 C1 RB4 RB5 10uf RB6 5 VSS RB7 OSC2/CLKOUT 4 16 PIC16F628 17 18 1 2 3 6 7 8 9 10 11 12 13 15 1k 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2

1 2

SALIDA

PUENTE DE POTENCIA 3 R24 1k

1N4001 D3

R21 3.3k LM7805

1 110Vac

D2 12V

C3 100uf

100uf

DATO 8 BITS

470uf D1 12V C2 100uf

RX1

10k

ANEXO No. 4. DIAGRAMAS DE FLUJO

INICIO

CONFIGURACION

ADQUISICION DATO 8 BITS

ADQUISICION DATO SELECTOR

SELECTOR = 1? NO SELECTOR = 2? NO SELECTOR = 3? NO SELECTOR = 4? NO SELECTOR = 5? NO

SI VAYA A AMI

SI VAYA A MANCHESTER

SI

VAYA A MANCHESTER DE ESPACIO

SI

VAYA A MANCHESTER DE MARCA

SI VAYA A HDB3

AMI

AMI

CARGAR AUX CON 8

DECREMENTAR AUX

ROTAR DATO

CARRY = 0? NO CARRY = 1? NO AUX = 0? NO

SI VAYA A CERO

SI VAYA A UNO

SI RETORNE

AMI

CERO

CARGAR SALIDA CON 00

RETARDO DE 2ms

RETORNE

UNO

INCREMENTAR AUX2

SI BIT 0 DE AUX2 = 0? NO CARGAR SALIDA CON 10

CARGAR SALIDA CON 01

RETARDO DE 2ms

RETORNE

MANCHESTER

MANCHESTER

CARGAR AUX CON 8

DECREMENTAR AUX

ROTAR DATO

CARRY = 0?

SI VAYA A CERO1

NO CARRY = 1? NO AUX = 0? NO SI RETORNE SI VAYA A UNO1

MANCHESTER

CERO1

CARGAR SALIDA CON 10

RETARDO DE 1ms

CARGAR SALIDA CON 01

RETARDO DE 1ms

RETORNE

UNO1

CARGAR SALIDA CON 01

RETARDO DE 1ms

CARGAR SALIDA CON 10

RETARDO DE 1ms

RETORNE

MANCHESTER DIFERENCIAL DE ESPACIO

MANCHESTER DE ESPACIO

CARGAR AUX CON 8

DECREMENTAR AUX

ROTAR DATO

CARRY = 0?

SI VAYA A CERO2

NO CARRY = 1? NO AUX = 0? NO SI RETORNE SI VAYA A UNO2

MANCHESTER DIFERENCIAL DE ESPACIO

CERO2

RETARDO DE 1ms

INCREMENTAR AUX2

SI BIT 0 DE AUX2 = 0? NO CARGAR SALIDA CON 10

CARGAR SALIDA CON 01

RETARDO DE 1ms

RETORNE

MANCHESTER DIFERENCIAL DE ESPACIO

UNO2

INCREMENTAR AUX2

SI BIT 0 DE AUX2 = 0? NO CARGAR SALIDA CON 10

CARGAR SALIDA CON 01

RETARDO DE 1ms

INCREMENTAR AUX2

SI BIT 0 DE AUX2 = 0? NO CARGAR SALIDA CON 10

CARGAR SALIDA CON 01

RETARDO DE 1ms

RETORNE

MANCHESTER DIFERENCIAL DE MARCA

MANCHESTER DE MARCA

CARGAR AUX CON 8

DECREMENTAR AUX

ROTAR DATO

CARRY = 0?

SI VAYA A CERO2

NO CARRY = 1? NO AUX = 0? NO SI RETORNE SI VAYA A UNO2

MANCHESTER DIFERENCIAL DE ESPACIO

UNO2

RETARDO DE 1ms

INCREMENTAR AUX2

SI BIT 0 DE AUX2 = 0? NO CARGAR SALIDA CON 10

CARGAR SALIDA CON 01

RETARDO DE 1ms

RETORNE

10

MANCHESTER DIFERENCIAL DE MARCA

CERO2

INCREMENTAR AUX2

SI BIT 0 DE AUX2 = 0? NO CARGAR SALIDA CON 10

CARGAR SALIDA CON 01

RETARDO DE 1ms

INCREMENTAR AUX2

SI BIT 0 DE AUX2 = 0? NO CARGAR SALIDA CON 10

CARGAR SALIDA CON 01

RETARDO DE 1ms

RETORNE

11

Potrebbero piacerti anche