Está en la página 1de 23

ITQ

Electrnica
Ingeniera Electrnica
Comunicaciones Digitales CDF1202
Prctica4. Transmisin FULL-DUPLEX.
Daniel Servn Loyola
Jos Joaqun Castellanos Galindo
12 de Junio de 2014
Resumen
La TRANSMISIN y RECEPCIN es el aspecto principal de esta
prctica la cual por medio de un cdigo cargado en dos
MSP430G2553, utilizando dos DAC TLV5606 y dos computadoras
con HyperTerminal la transmisin full-duplex es el resultado.

OBJETIVO
I MARCO TERICO
- TLV5606
- CONVERTIDORES DIGITAL ANLOGO
- SPI
- LAUNCHPAD
- CORRIMIENTOS

1
1
1
3
5
6
7
8

- RS-232
10
- UART (Universal Asynchronous Receiver-Transmitter)
-CODIFICACIN Y MODULACIN
- TRANSMISIN FULL-DUPLEX
II DESARROLLO
- FULL-DUPLEX
-CDIGO
III CONCLUSIONES
IV FUENTES DE INFORMACIN

OBJETIVO
Lograr tener una transmisin FULL-DUPLEX entre 2 computadoras utilizando la
hiperterminal, la DAC TLV5606 y el MSP430 para alcanzar el objetivo.

MARCO TERICO
TLV5606

11
16
17
17
17
22
22

El TLV5606 tiene una salida de tensin de 10 bits de digital a analgico (DAC) con una
serie de 4-wire serial Interface. La 4-wire serial Interface interfaces de TMS320, SPI, QSPI
y Microwire puerto serie.
El tiempo de establecimiento de la DAC se puede programar para que el diseador para
optimizar la velocidad frente a la disipacin de energa. El tiempo de establecimiento es
elegido por los bits de control dentro de la cadena de entrada en serie de 16 bits. Una alta
impedancia Buffer est integrada en el terminal REFIN para reducir la necesidad de una
unidad de fuente de impedancia baja de la terminal.
El TLV5606 est programado con una serie de serie de 16 bits que contiene 4 controles y
10 bits de datos.
Implementado con un proceso CMOS, el TLV5606 est diseado para la operacin de
alimentacin nica de 2,7 V a 5,5 V. El dispositivo est disponible en un paquete de SOIC
8-terminal. El TLV5606C se caracteriza por el funcionamiento de 0C a 70C. El TLV5606I
se caracteriza por el funcionamiento de-40C a 85C. [2]

Figura 1. Diagrama funcional del TLV5606

Figura 2. Diagrama de Tiempo

Figura 3. Formato de los Datos

CONVERTIDORES DIGITAL ANALGICO


Las dos operaciones E/S relativas al proceso de mayor importancia son la conversin de
digital a analgico D/A y la conversin de analgico a digital A/D.
Bsicamente, la conversin D/A es el proceso de tomar un valor representado en cdigo
digital (cdigo binario directo o BCD) y convertirlo en un voltaje o corriente que sea
proporcional al valor digital. Este voltaje o corriente es una cantidad analgica, ya que
puede tomar diferentes valores de cierto intervalo.
DAC de 4bits. A es el LSB y D es el MSB.
Las entradas digitales D, C, B y A se derivan generalmente del registro de salida de un
sistema digital. Los 24 = 16 diferentes nmeros binarios representados por estos 4 bits se
enlistan en la tabla siguiente. Por cada nmero de entrada, el voltaje de salida del
convertidor D/A es un valor distinto. De hecho, el voltaje de salida analgico Vout es igual
en voltios al nmero binario (no es as en todos los casos). Tambin podra tener dos veces
el nmero binario o algn otro factor de proporcionalidad. La misma idea sera aplicable si
la salida del D/A fuese la corriente Iout.
D

Entrada digital
C
B

Salida analgica
Vout en voltios

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

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

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

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

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

RESOLUCIN DE UN DAC
Se define como la mnima variacin que puede ocurrir en la salida analgica como
resultado de un cambio en la entrada digital. En el caso anterior, se observa que la
resolucin es de 1V. Aunque la resolucin puede expresarse como la cantidad de voltaje o
corriente por etapa, resulta ms til expresarla como un porcentaje de la salida de escala
completa. El DAC descrito en la tabla tiene una escala de 15 - 0 = 15V, el tamao de la
etapa es de 1V (la etapa es el cambio de la seal de salida ante un cambio de la seal de
entrada de un valor a otro consecutivo).
La expresin que describe la operacin de este DAC es la siguiente:
Vout = -( Rf/R1 Vd + Rf/R2 Vc + Rf/R3 Vb + Rf/R4 Va )
ESPECIFICACIONES DAC
Se dispone de una amplia variedad de DAC como circuitos integrados o bien como
paquetes encapsulados autos contenidos. Uno debe estar familiarizado con las
especificaciones ms importantes de los fabricantes a fin de evaluar un DAC en una
determinada aplicacin.
- Resolucin Como se mencion antes, la resolucin porcentual de un DAC depende
nicamente del nmero de bits. Por esta razn, los fabricantes por lo general especifican
una resolucin de DAC como el nmero de bits. Un DAC de 10 bits tiene una resolucin
ms sensible (mayor exactitud) que uno de 8 bits.
- Precisin Los fabricantes de DAC tienen varias maneras de especificar la precisin o
exactitud. Las dos ms comunes se las llama Error de Escala Completa y Error de
Linealidad, que normalmente se expresan como un porcentaje de la salida de escala

completa del convertidor (%FS).


E1 error de linealidad es la desviacin mxima en el tamao de etapa del terico. Algunos
de los DAC ms costosos tienen errores de escala completa y de linealidad en el intervalo
0.01% - 0.1%.
- Tiempo de respuesta La velocidad de operacin de un DAC se especifica como tiempo
de respuesta, que es el tiempo que se requiere para que la salida pase de cero a escala
completa cuando la entrada binaria cambia de todos los ceros a todos los unos. Los valores
comunes del tiempo de respuesta variarn de 50ns a 10s. En general, los DAC con salida
de corriente tendrn tiempos de respuesta ms breves que aquellos con una salida de
voltaje.
- Voltaje de balance En teora, la salida de un DAC ser cero voltios cuando la entrada
binaria es todos los ceros. En la prctica, habr un voltaje de salida pequeo producido por
el error de desbalance del amplificador del DAC. Este desplazamiento es comnmente
0.05% FS. Casi todos los DAC con voltaje tendrn una capacidad de ajuste de balance
externo que permite eliminar el error de desbalance.
APLICACIONES DE LOS DACs
Los DAC se utilizan siempre que la salida de un circuito digital tiene que ofrecer un voltaje
o corriente analgico para impulsar o activar un dispositivo analgico. Algunas de las
aplicaciones ms comunes se describen a continuaciones.
- Control: la salida digital de una computadora puede convertirse en una seal de control
analgica para ajustar la velocidad de un motor, la temperatura de un horno o bien para
controlar casi cualquier variable fsica.
- Anlisis automtico: las computadoras pueden ser programadas para generar las seales
analgicas (a travs de un DAC) que se necesitan para analizar circuitos analgicos. La
respuesta de salida analgica del circuito de prueba normalmente se convertir en valor
digital por un ADC y se alimentar a la computadora para ser almacenada, exhibida y
algunas veces analizada.
- Control de amplitud digital: un DAC multiplicativo se puede utilizar para ajustar
digitalmente la amplitud de una seal analgica. Recordemos que un DAC multiplicativo
produce una salida que es el producto de un voltaje de referencia y la entrada binaria. Si el
voltaje de referencia es una seal que vara con el tiempo, la salida del DAC seguir esta
seal, pero con una amplitud determinada por el cdigo de entrada binario. Una aplicacin
normal de esto es el control de volumen digital, donde la salida de un circuito o
computadora digital puede ajustar la amplitud de una seal de audio. [1]

SPI

SPI es un bus de tres lneas, sobre el cual se transmiten paquetes de informacin de 8 bits.
Cada una de estas tres lneas porta la informacin entre los diferentes dispositivos
conectados al bus. Cada dispositivo conectado al bus puede actuar como transmisor y
receptor al mismo tiempo, por lo que este tipo de comunicacin serial es full duplex. Dos
de estas lneas trasfieren los datos (una en cada direccin) y la tercer lnea es la del reloj.
Algunos dispositivos solo pueden ser transmisores y otros solo receptores, generalmente un
dispositivo que tramite datos tambin puede recibir.
Un ejemplo podra ser unA memoria EEPROM, el cual es un dispositivo que puede
transmitir y recibir informacin.
Los dispositivos conectados al bus son definidos como maestros y esclavos. Un maestro es
aquel que inicia la transferencia de informacin sobre el bus y genera las seales de reloj y
control.
Un esclavo es un dispositivo controlado por el maestro. Cada esclavo es controlado sobre el
bus a travs de una lnea selectora llamada Chip Select o Select Slave, por lo tanto es
esclavo es activado solo cuando esta lnea es seleccionada. Generalmente una lnea de
seleccin es dedicada para cada esclavo. [3]

Figura 4. Especificaciones del Bus

LAUNCHPAD
El LaunchPad es una herramienta de desarrollo de fcil uso pensada para principiantes y
tambin usuarios experimentados que deseen crear aplicaciones basadas en

microcontroladores. Con su bajo costo el LaunchPad ofrece todo lo que necesitas para
empezar tus proyectos.
El LaunchPad es parte de la serie Value Line MSP430 de Texas Instruments. El socket DIP
integrado permite conectar microcontroladores Value Line MSP430 de 14 y 20 pines para
una fcil programacin, depuracin y monitoreo. Incluye software de desarrollo gratuito y
de uso irrestricto para escribir y depurar programas. El LaunchPad puede ser usado para
crear soluciones interactivas gracias a su botones y LEDs integrados y pines de
entrada/salida extra para una fcil integracin con dispositivos externos.
Caractersticas:

De fcil uso, incluye todo el hardware y software necesario para empezar. Dos
microcontroladores pre programados y ejemplos de cdigo ayudan al usuario a
iniciarse rpidamente.

Accesible, el LaunchPad incluye una placa de desarrollo, 2 microcontroladores


MSP430 programables, cable mini USB, conectores PCB para expansibilidad,
cristal externo para mayor exactitud de reloj y software de entorno de desarrollo
integrado (IDEs) irrestrictos, todo lo necesario para un comienzo rpido.

Escalable, El LaunchPad provee una simple introduccin a los microcontroladores


de la familia MSP430. SI una aplicacin requiere cambios, los programas
desarrollados en el LaunchPad pueden ser migrados a dispositivos MSP430 ms
sofisticados.

[4]
CORRIMIENTOS

Los corrimientos son importantes para crear algoritmos tiles, entre sus aplicaciones mas
destacadas estn las de multiplicacin, divisin, registros de corrimiento para
comunicaciones seriales, secuencias de multiplexaje y otras ms que puedes descubrir a
medida que desarrollas aplicaciones.
Hay dos corrimientos lgicos (logical shifts). El corrimiento lgico hacia la izquierda (left
shift) y el corrimiento lgico hacia la derecha (right shift). En el corrimiento lgico los bits
de un registro son corrimientos (movidos) una o ms posiciones hacia la derecha o hacia la
izquierda. Los bit que salen del registro por un extremo se pierden y en el otro extremo del
registro se rellena con un bit cero por cada bit desplazado.
Por ejemplo. Si se tiene en un registro de 8 bits el valor 10110011, y se hace un
desplazamiento hacia la izquierda de un bit, todos los bits se mueven una posicin hacia la
izquierda, el bit de la izquierda se pierde y entra un bit cero de relleno por el lado derecho.
En un desplazamiento de un bit hacia la derecha ocurre algo anlogo, el bit de la derecha se
pierde y el de la izquierda se rellena con un cero [5]:
10110011
1 <-- 0110011 <-- 0
01100110
Desplazamiento
Hacia la izquierda

10110011
0 --> 1011001 --> 1
01011001
Desplazamiento
hacia la derecha

<-- Bits antes del cmi.


<-- corrimiento
<-- Bits despus del cmi.

RS-232
El protocolo RS-232 es una norma o estndar mundial que rige los parmetros de uno de
los modos de comunicacin serial. Por medio de este protocolo se estandarizan las
velocidades de transferencia de datos, la forma de control que utiliza dicha transferencia,
los niveles de voltajes utilizados, el tipo de cable permitido, las distancias entre equipos, los
conectores, etc.
Adems de las lneas de transmisin (Tx) y recepcin (Rx), las comunicaciones seriales
poseen otras lneas de control de flujo (Hands-hake), donde su uso es opcional dependiendo
del dispositivo a conectar.
A nivel de software, la configuracin principal que se debe dar a una conexin a travs de
puertos seriales. RS-232 es bsicamente la seleccin de la velocidad en baudios (1200,
2400, 4800, etc.), la verificacin de datos o paridad (parida par o paridad impar o sin
paridad), los bits de parada luego de cada dato(1 2), y la cantidad de bits por dato (7 8),
que se utiliza para cada smbolo o carcter enviado.

Este protocolo est disponible en los puertos seriales de la mayora de las computadoras
personales (PC).
Conector RS232D (Conector DB9 de 9 pines)
La siguiente tabla muestra el conector de 9 pines serie que se encuentra en la mayora de las
PC de hoy en da.

SIGNAL

PIN No.

Carrier Detect

Receive Data

Transmit Data

Data Terminal Ready

Signal Ground

Data Set Ready

Request To Send

Clear To Send

Ring Indicator

Seales de la RS-232.

Request To Send (RTS) Esta seal se enva de la computadora (DTE) al mdem


(DCE) para indicar que se quieren transmitir datos. Si el mdem decide que esta
OK, asiente por la lnea CTS. Una vez la computadora prende la seal RTS,
esperar que el mdem asiente la lnea CTS. Cuando la seal CTS es afirmado por
el mdem, la computadora empezar a transmitir datos.

Clear To Send (CTS) Afirmado por el mdem despus de recibir la seal de RTS
indica que la computadora puede transmitir.

Data Terminal Ready (DTR) Esta lnea de seal es afirmada por la


computadora, e informa al mdem que la computadora est lista para recibir datos.

Data Set Ready (DSR) Esta lnea de seal es afirmada por el mdem en
respuesta a una seal de DTR de la computadora. La computadora supervisa el
estado de esta lnea despus de afirmar DTR para descubrir si el mdem esta
encendido.

Receive Signal Line Detect (RSLD) Esta lnea de control es afirmada por el
mdem e informa a la computadora que se ha establecido una conexin fsica con
otro mdem. A veces se conoce como detector de portadora (CD). Sera un error que
una computadora transmita informacin a un mdem si esta lnea no est prendida,
es decir si la conexin fsica no funciona.

Transmit Data (TD) es la lnea por donde el dato se transmite de un bit a la vez

Receive Data (RD) es la lnea por donde el dato se recibe de un bits a la vez.

Protocolo de control de flujo: Puede ser por hardware ( handshaking RTS/CTS) o bien por
software (XON/XOFF, el cual no es muy recomendable ya que no se pueden realizar
transferencias binarias). La velocidad del puerto serie no tiene por qu ser la misma que la

de transmisin de los datos, de hecho debe ser superior. Por ejemplo, para transmisiones de
1200 baudios es recomendable usar 9600, y para 9600 baudios se pueden usar 38400 (o
19200).
Por Software: El carcter Xoff (ASCII 19, CTRL-S) es utilizado por el receptor para decir
que su buffer est lleno y el emisor debe esperar. Cuando vuelva a tener espacio en el
buffer, enviara el carcter Xon (ASCII 17, CTRL-Q), dicindole que puede volver a
trasmitir. Esto economiza cables en la interconexin, pero ocupa espacio en el canal
(perfecto para un PDA).
Por hardware: a diferencia del anterior, este tipo de control de flujo requiere que entre su
PC y su MODEM se conecten dos hilos: RTS y CTS. Cuando el buffer del receptor se llena
(supongamos que es un modem lento) le dice al PC que espere, desactivando la seal
CTS. Cuando vuelva a tener espacio en el buffer, activa nuevamente el CTS para decir que
est nuevamente listo (esto puede pasar cuando la UART es ms rpida que el MODEM).

[6]

UART (Universal Asynchronous Receiver-Transmitter)


UART son las siglas de "Universal Asynchronous Receiver-Transmitter" ( en espaol,
Transmisor-Receptor Asncrono Universal ). ste controla los puertos y dispositivos serie.
Se encuentra integrado en la placa base o en la tarjeta adaptadora del dispositivo. Un UART
dual, o DUART, combina dos UARTs en un solo chip. Existe un dispositivo electrnico
encargado de generar la UART en cada puerto serie. La mayoria de los ordenadores
modernos utilizan el chip UART 16550, que soporta velocidades de transmisin de hasta
921,6 Kbps (Kilobits por segundo).
Las funciones principales de chip UART son de manejar las interrupciones de los
dispositivos conectados al puerto serie y de convertir los datos en formato paralelo,
transmitidos al bus de sistema, a datos en formato serie, para que puedan ser transmitidos a
travs de los puertos y viceversa.
Transmisin y recepcin de datos serie
El controlador del UART es el componente clave del subsistema de comunicaciones series
de una computadora. El UART toma bytes de datos y transmite los bits individuales de
forma secuencial. En el destino, un segundo UART reensambla los bits en bytes completos.
La transmisin serie de la informacin digital (bits) a travs de un cable nico u otros
medios es mucho ms efectiva en cuanto a costo que la transmisin en paralelo a travs de
mltiples cables. Se utiliza un UART para convertir la informacin transmitida entre su
forma secuencial y paralela en cada terminal de enlace. Cada UART contiene un registro de
desplazamiento que es el mtodo fundamental de conversin entre las forma serie y
paralelo.
El UART normalmente no genera directamente o recibe las seales externas entre los
diferentes mdulos del equipo. Usualmente se usan dispositivos de interfaz separados para
convertir las seales de nivel lgico del UART hacia y desde los niveles de sealizacin
externos.

Las seales externas pueden ser de variada ndole. Ejemplos de estndares para
sealizacin por voltaje son RS-232, RS-422 y RS-485 de la EIA. Histricamente, se us la
presencia o ausencia de corriente en circuitos telegrficos. Algunos esquemas de
sealizacin no usan cables elctricos. Ejemplo de esto son la fibra ptica, infrarrojo y
Bluetooth (inalmbrico). Algunos esquemas de sealizacin emplean una modulacin de
seal portadora (con o sin cables). Ejemplos son la modulacin de seales de audio con
mdems de lnea telefnica, modulacin en radio frecuencia (RF) en radios de datos y la
DC-LIN para la comunicacin de lnea elctrica. [7]

CODIFICACIN Y MODULACIN
La informacin se transmite en forma de seales, por lo que debe ser transformada antes de
poder ser transportada a travs de un medio de comunicacin fsico. Cmo transformar la
informacin depende de su formato original y del formato usado por el hardware de
comunicaciones. El primer paso es traducir la informacin a patrones digitales acordados
(codificacin de la informacin original) para ser almacenada en una computadora en
forma digital (unos y ceros), para transportarlos fuera de la computadora es necesaria
convertirlos en seales digitales, esto es una conversin digital a digital o codificacin de
los datos digitales dentro de una seal digital.
En general las posibilidades son mayores, en la codificacin de la informacin puede darse
una codificacin de analgico a digital, y en la transmisin de informacin puede darse el
caso de tener que convertir la informacin digital en seal analgica, que se denomina
modulacin de la seal digital, en otras ocasiones es una seal analgica la que se convierte
en seal digital en lo que se conoce como digitalizacin de la seal, e incluso se puede dar
la necesidad de convertir una seal analgica en analgica (modulacin de la seal
analgica).
Conversin digital a digital.
La conversin digital a digital, codifica los unos y ceros en una secuencia de pulsos de
tensin que se puedan propagar por un medio de transmisin.

De todos los mecanismos usados para la codificacin digital a digital, se van a tratar los
ms utilizados para la transmisin de datos, que se pueden agrupar en tres amplias
categoras: Codificacin Unipolar que usa una sola tcnica; Codificacin Polar, que tiene
tres sub categoras NRZ, RZ y bifsica; y la codificacin bipolar que tiene tres variantes
AMI, B8ZS y HDB3.
Codificacin unipolar.

La codificacin es sencilla y primitiva, el sistema de transmisin funciona enviando pulsos


de tensin por el medio de transmisin, habitualmente un hilo, hay un nivel de tensin para
el 0 binario y otro nivel para el 1 binario. La polaridad del impulso indica si es positivo o
negativo. La codificacin se denomina unipolar porque usa nicamente una polaridad, esta
polaridad se asigna a uno de los estados binarios, habitualmente el 1, el otro estado binario,
el 0, se representa por el nivel 0 de tensin. La imagen representa esta codificacin, los 1 se
codifican con valor positivo y los 0 con valor cero. Esta codificacin es muy sencilla y
tiene una implementacin barata.

Sin embargo la codificacin unipolar tiene, al menos, dos problemas que la hacen poco
deseable: una componente de corriente continua DC y la sincronizacin.
Componente DC
La amplitud media de una seal con codificacin unipolar no es cero, eso crea lo que se
llama una componente de corriente continua (seal de frecuencia cero). Cuando una seal
contiene una componente continua, no puede viajar a travs de medios que no pueden
gestionar este tipo de componentes.
Sincronizacin.
Cuando una seal no vara, el receptor no puede determinar el principio y el final de cada
bit, por tanto la codificacin unipolar puede tener problemas de sincronizacin siempre que
el flujo de datos contenga una larga serie ininterrumpida de ceros o unos.
Codificacin Polar.
La codificacin polar usa dos niveles de tensin, uno positivo y otro negativo, gracias al
uso de dos niveles, en la mayora de los mtodos de codificacin polar se reduce el nivel de
tensin medio de la lnea y se alivia el problema de la componente DC existente en la
codificacin unipolar, en incluso anulando la completamente.
De las muchas variantes existentes, las ms populares son: Sin Retorno a Cero (NRZ, Nor
Return to Zero), Retorno a Cero (RZ Return to Zero) y bifsica. La codificacin NRZ
incluye dos mtodos: sin retorno a cero, nivel (NRZ-L) y sin retorno a cero invertido
(NRZ-I). El mtodo bifsico tambin tiene dos variantes: Manchester y Manchester
diferencial.

Sin Retorno a Cero (NRZ)


En la codificacin NRZ, el nivel de la seal es siempre positivo o negativo, los dos
mtodos ms usuales son:
NZR-L. En esta codificacin, el nivel de la seal depende del tipo de bit que
representa, habitualmente un valor de tensin positiva indica que el bit es un 0 y un
valor de tensin negativa indica que el bit es un 1 (o viceversa), por tanto el nivel de
la seal depende del estado del bit. Pero cuando hay un flujo grande de ceros o unos
en los datos puede surgir el problema de la sincronizacin.
NZR-I. En esta codificacin, una inversin de la tensin representa un bit, es la
transicin entre el valor de la tensin positiva y negativa, no la tensin en si misma,
lo que representa un bit. Un bit 0 se representa sin ningn cambio. NZR-I es mejor
que NZR-L debido a la sincronizacin implcita provista por el cambio de seal
cada vez que se encuentra un 1. La existencia de unos en el flujo de datos permite al
receptor sincronizar su temporizador con la llegada real de la transmisin. Las tiras
de ceros todava pueden causar problemas.

La figura muestra las representaciones NZR-L y NZR-I de la misma serie de bits. En la


secuencia NZR-L las tensiones positiva y negativa tienen un significado especfico:
positivo para el 0, negativo para el 1. En la secuencia NZR-I, las tensiones no tienen
significado por si mismas, es el cambio de nivel la base para reconocer los unos. El
siguiente enlace explica con mayor profundidad este modelo codificacin NZR
Con retorno a cero (RZ)
Si los datos originales contienen tiras de unos o ceros, el receptor puede sufrir prdidas por
sincronizacin. Otra de las soluciones es incluir de alguna forma la sincronizacin dentro
de la seal codificada, algo similar a la solucin de NZR-I pero capaz de manejar tiras de

unos y de ceros.

Para asegurar la sincronizacin debe haber un cambio de seal para cada bit, sea ste un 1
o un 0, el receptor puede usar estos cambios para construir, sincronizar o actualizar su reloj.
La codificacin RZ usa tres valores, una tensin positiva, una negativa y el nivel nulo de
tensin. En RZ, la seal cambia durante cada bit, de modo que al igual que en NZR-L un
nivel positivo indica un 1 y un nivel negativo un 0, pero, a diferencia de NZR-L, a mitad
del bit, la seal vuelve al nivel nulo de tensin. Por tanto un 1 se representa por una
transicin del nivel +V a 0V, y un bit 0 por la transicin del nivel -V a 0V. La principal
desventaja de la codificacin RZ es que necesita dos cambios de seal para codificar un bit.
Bifsica.
En este mtodo, la seal cambia en medio del intervalo de bit pero no vuelve al nivel nulo
de tensin, sino que contina al nivel opuesto. Estas transiciones intermedias permiten la
sincronizacin. En esta codificacin existen dos mtodos: Manchester y Manchester
diferencial.
Manchester. La codificacin Manchester usa la inversin en mitad de cada intervalo
de bit para sincronizar y representar los bits. Una transicin de positivo a negativo
indica un 1 y una de negativo a positivo un 0. La codificacin Manchester logra el
mismo nivel de sincronizacin que RZ pero con slo dos valores de tensin.
Manchester diferencial. En esta codificacin, la inversin en la mitad del bit se usa
para la sincronizacin pero la presencia o ausencia de una transicin al principio del
intervalo se usa para identificar al bit: una transicin indica un 0 mientras que la
ausencia indica un 1. Esta pgina detalla ms cmo funciona la codificacin:
codificacin manchester

Codificacin Bipolar
La Codificacin bipolar usa tres niveles de tensin como la Polar RZ: positivo, nulo y
negativo. Pero, a diferencia de sta, el nivel tensin cero se usa para representar el bit 0. El
bit 1 se representa alternando los niveles positivos y negativos, de forma que si el primer 1
se indica con tensin positiva, el segundo 1 tendr tensin negativa, y el tercero volvera a
tener tensin positiva. Hay tres tipos de codificacin bipolar:
Bipolar con inversin de marca alternada AMI
Esta codificacin bipolar es la ms sencilla, en el nombre inversin de marca alternada,
la palabra marca viene de la telegrafa y significa 1, por lo que AMI significa inversin a 1
alterno, siendo el valor de tensin nula o cero el bit 0, la figura muestra un ejemplo de esta
codificacin.

Existe una variante de esta codificacin AMI bipolar denominada pseudoternaria en la que

el bit 0 alterna entre valores positivos y negativos. Sin embargo si bien la codificacin AMI
resuelve el problema de la componente DC, y la sincronizacin cuando hay una larga serie
de bits 1, no lo hace cuando la serie es de bits 0. Por ello se han desarrollado dos variantes
para resolver este problema especialmente en las transmisiones a larga distancia, la primera
se usa en Norteamrica y se denomina bipolar con sustitucin de 8 ceros B8ZS, y la
segunda, usada en Europa y Japn, denominada bipolar 3 de alta densidad HDB3.[8]
TRANSMISION FULL DUPLEX
La transmisin de datos full-duplex significa que los datos pueden ser transmitidos en
ambas direcciones sobre una transportadora de seales al mismo tiempo. Por ejemplo, en
una red de rea local (LAN) con una tecnologa que disfrute de transmisin full-duplex,
una estacin de trabajo puede estar enviando datos en la lnea mientras que otra estacin de
trabajo est recibiendo otros datos.
La transmisin full-duplex necesariamente implica una lnea bidireccional (es decir, que
pueda transportar datos en ambas direcciones).
Un sistema telefnico estndar es un ejemplo de una transmisin full-duplex.
Full/Full-duplex (F/FDX)
Con una operacin full/full-duplex, es posible transmitir y recibir simultneamente, pero no
necesariamente entre las mismas dos ubicaciones (es decir, una estacin puede transmitir a
una segunda estacin y recibir de una tercera estacin al mismo tiempo).
Las transmisiones full/full-duplex se utilizan casi exclusivamente con circuitos de
comunicaciones de datos.
El Servicio Postal de Estados Unidos es un ejemplo de una operacin full/full-duplex. [9]

Figura 5. Ambas direcciones al mismo tiempo en FULL-DUPLEX

II DESARROLLO

FULL-DUPLEX

En esta parte y ya la ultima parte de la prctica se realiz el receptor (decodificacin) y la


transmisin full-duplex. En el receptor se nos complic mucho la sincronizacin con los
relojes, la solucin a esto fue tomando los tiempos tanto en el transmisor (930 s) como en
el receptor, modificando este ltimo para que coincidiera con el tiempo del transmisor,
tambin se nos complico como colocar las muestras para que coincidieran con la
codificacin.
En la parte ya del full-duplex y uniendo la codificacin y la decodificacin se colocaron
banderas, en el receptor cuando recibiera algo esa bandera se habilitara y te mandara
directo a la parte del receptor, en el transmisor la bandera estara habilitada para que
siempre estuviera mandando 512, y cuando se quisiera transmitir se lograra. Hubo
problemas a la hora de sincronizar las transmisiones de un lado al otro, para solucionar este
problema primero se prob la transmisin y recepcin en un sentido hasta que se diera y
luego al contrario, ya logrado esto se prosigui a colocar el programa completo en ambos
micros para as ya lograr la transmisin full-duplex.

Figura 6. Diagrama a bloques de la comunicacin

III CDIGO

#include <msp430g2553.h>
unsigned int i=0,cont=0,x=0,uno=0,muestra=0;
unsigned int cero=0,flag=0,flg=0,s=0;
unsigned char car=0;
unsigned int M[10];
#define TIMED 977
int j=1;
volatile unsigned int z=0, a=0, b=0, envia=0;
volatile unsigned char guarda=0;

void Transmit(void);
void ADC(void);
void SP1();
void DACALTO(){
P1OUT=1;
P1OUT=0;
envia= 1023 >> 6;
UCB0TXBUF=envia;
__delay_cycles(3);
envia= 1023 << 2;
UCB0TXBUF=envia;
__delay_cycles(TIMED);
}
void DACBAJO(){
P1OUT=1;
P1OUT=0;
UCB0TXBUF=0;
__delay_cycles(3);
UCB0TXBUF=0;
__delay_cycles(TIMED);
}
void CERO(){
P1OUT=1;
P1OUT=0;
envia= 512 >> 6; //Mientras no haya transmisin
UCB0TXBUF=envia; //enva un valor medio de voltaje.
__delay_cycles(3);
envia= 512 << 2;
UCB0TXBUF=envia;
__delay_cycles(5);
}
int main(void)
{
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 = CALBC1_16MHZ;
DCOCTL = CALDCO_16MHZ;
SP1();
ADC();

// Stop watchdog

for(;;)
{
CERO(); //Todo el tiempo se mantiene en 512 para la transmisin
if(flg==1)//bandera se habilitada cuando llegue un valor en la entrada
analgica
{
for(i=0;i<=9;i++)
{
M[i] = ADC10MEM;

_delay_cycles(1500); //Delay que se modifica para


sincronizar el receptor con el transmisor
}
s++;
if(s==8)
{
flg=0;
s=0;
}
for(i=10;i>=1;i--)
{
if(M[i] >= 800)
{
uno++;
}
if(M[i] <= 200)
{
cero++;
}
}
if(uno>=6)
{
if(cont == 0)
{
x = 1;
}
if(cont != 0)
{
x = x * 2;
}
car = car + x;
cont=cont+1;
}
if(cero>=6)
{
if(cont == 0)
{
x = 1;
}
if(cont != 0)
{
x = x * 2;
}
cont=cont+1;
}
if(cont==8)
{
flag=1;
cont=0;
}
if(flag == 1)

Transmit();
car=0;

i=0;
uno=0;
cero=0;
}
if(j==0)//bandera habilitada TX
{
for(b=1;b<=8;b++){
a = z&1;
if(b==1){
z = guarda;
if(a == 1){
DACALTO();

}
if(a == 0){
DACBAJO();
}
}
if(b>=2 && b<=8){
z=guarda>>b;
if(a == 1){
DACALTO();
}
if(a == 0){
DACBAJO();

j=1;
}

}
}
}
}
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
muestra=ADC10MEM;
if((muestra>=800)||(muestra<=200))
{
flg=1;
}
}
void Transmit()
{
UCA0TXBUF = car;

flag=0;
}
void ADC()
{
ADC10CTL1 = INCH_3 + ADC10DIV_3 + SHS_1 + CONSEQ_2; // Input channel
select.(A3), ADC10 clock divider (/4),Sample-and-hold source select. (Timer_A.OUT1),
Conversion sequence mode select (10 Repeat-single-channel)
ADC10CTL0 = ADC10SHT_3 + ADC10IE + REFON + ADC10ON; //sample-andhold time (11 64 ADC10CLKs), ADC10 interrupt enable (1 Interrupt enabled),
Reference generator on
ADC10CTL0 |= ENC;
TACCTL1 = OUTMOD_4;
// Toggle on EQU1 (TAR = 0)
TACTL = TASSEL_2 + MC_1;
// SMCLK, cont-mode
TACCR0 = 918;
__enable_interrupt();
}
void SP1()
{
P1DIR |= 0x01;
P1OUT = 0x01;
P1SEL= BIT1 + BIT2 + BIT5 + BIT6 + BIT7;
P1SEL2=BIT1 + BIT2 + BIT5 + BIT6 + BIT7;
UCB0CTL0 = UCCKPL + UCMSB + UCMST + UCSYNC; // 3-pin, 8-bit SPI master
UCB0CTL1 = UCSSEL_3 + UCSWRST;
// SMCLK
UCB0BR0 = 0;
UCB0BR1 = 0;
UCA0CTL1= UCSSEL_2;
UCA0BR0 = 104;
// 1MHz 9600
UCA0BR1 = 6;
// 1MHz 9600R
UCA0MCTL = UCBRS0;
// Modulation UCBRSx = 1
IE2 = UCA0RXIE;
UCA0CTL1 &= ~UCSWRST;
// **Initialize USCI state machine**
UCB0CTL1 &= ~UCSWRST;
// **Initialize USCI state machine**
__enable_interrupt();
__delay_cycles(10);
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
guarda=UCA0RXBUF;
j=0; //Permite que se pueda entrar al ciclo.
UCA0TXBUF = guarda;
}

III CONCLUSIONES
An con todos los problemas que se tuvieron y con el tiempo encima se logr completar la
prctica logrando conocer conceptos de una comunicacin llevndolos a la prctica, a
programar un nuevo microcontrolador, a mi parecer nuestro nivel de programacin
aumento, bsicamente se logr el objetivo que era lograr una transmisin full-duplex

pasando por todas las etapas de comunicacin. Se logr sincronizar modificando los relojes
y tambin con delays.

IV FUENTES DE INFORMACIN
[1] Jos Eduardo Nio. (Junio de 2003). CONVERTIDORES DIGITAL ANALGICO
Y ANALGICO - DIGITAL. Recuperado el 07-03-2014 de
http://www.angelfire.com/al4/pc/tad.htm

[2] DATASHEETDIR. (s/f). 10-Bit, 3 Or 9 Us DAC, Serial Input, Pgrmable Settling


Time/Pwr Consumption, Ultra Low Power. Recuperado el 14-03-2014 de
http://www.datasheetdir.com/TLV5606+10bit-Digital-Analog-Converter
[3] Ing. Eric Lpez Prez. (s/f). Protocolo SPI (Serial Peripherical Interface).
Recuperado el 14-03-2014 de http://www.i-micro.com/pdf/articulos/spi.pdf
[4] Javier Luque Ordez. (S/F). LaunchPad Details. Recuperado el 07-03-2014 de
http://tecbolivia.com/index.php/venta-de-componentes-electronicos-11/tableros-deexperimentacion/kit-msp-exp430g2-launchpad-detail
[5] S/A. (21 de Febrero de 2014). Operador a nivel de bits. Recuperado el 21-03-2014 de
http://es.wikipedia.org/wiki/Operador_a_nivel_de_bits
[6] S/A. (S/F). RS 232. Recuperado el 04-04-2014 de
http://rdedatos.tripod.com/rs232.htm
[7] S/A. (9 de marzo de 2013). Universal Asynchronous Receiver-Transmitter.
Recuperado el 21-03-2014 de
http://es.wikipedia.org/wiki/Universal_Asynchronous_Receiver-Transmitter
[8] S/A. (S/F). Codificacin y Modulacin. Recuperado el 23-05-2014 de
https://sites.google.com/site/sistemasdemultiplexado/arquitecturas-de-las-redes-de-comunicacin-caractersticas/5---codificacin-y-modulacin
[9] S/A. (S/F). Comunicacin. Recuperado el 12-05-2014
dehttp://www.fotonostra.com/digital/comunicacion.htm

También podría gustarte