Вы находитесь на странице: 1из 11

ESCUELA POLITECNICA NACIONAL

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA

ESCUELA
POLITCNICA
NACIONAL

PREPARATORIO DE:
COMUNICACIN DIGITAL
Prctica #: 05

Tema: Comunicacin serial entre dos PCs.

Fecha de realizacin: 2014 / 11 / 07


ao mes da

Realizado por:
Alumno(s):

Jaime Tamayo

(Espacio reservado)
Fecha de entrega:___/___/___
ao

Sancin:

Grupo:

GR5

f.__________________________

mes da

Recibido por:

___________________________________________________________________

Perodo:

Oct Mar ____


Mar Oct ____

ESCUELA POLITCNICA NACIONAL


LABORATORIO DE SISTEMAS MICROPROCESADOS
PREPARATORIO
PRACTICA N 5

TITULO:
COMUNICACIN SERIAL ENTRE DOS PCS.
OBJETIVO

Profundizar los conocimientos de comunicacin serial asincrnica.


Familiarizar al estudiante con los sistemas de transmisin serial.

CUESTIONARIO
1.

Consultar lo referente a la conexin null modem, para la conexin serial


entre computadores utilizando conectores DB9 del interfaz RS-232. Indicar
las seales que intervienen en esta conexin, sus correspondientes pines y
como estas se interconectan, para el caso de transmisin sin handshake y con
handshake.

Null mdem (modem nulo) es un mtodo para conectar dos terminales usando un cable
serie RS-232. En la confeccin null mdem las lineas de transmisin y recepcin estn
cruzadas. Existe ms de una forma de realizar una conexin null mdem ya que no hay
ningn estndar que defina esta conexin.
Estos cables son comnmente usados para la trasferencia de archivos. En el sistema
operativo Microsoft Windows la conexin directa por cable se puede realizar con un

cable null mdem. Las ltimas versiones de MS-DOS traan el programa Interlink. El
mismo permita trabajar con el disco duro de la computadora remota como un disco de
red. Hay que aclarar que no se necesitaba ningn hardware adicional como una placa de
red, la conexin se poda realizar fcilmente con un cable null mdem.

EL ESTNDAR RS-232
El puerto serie RS-232C, presente en todos los ordenadores actuales, es la forma ms
comnmente usada para realizar transmisiones de datos entre ordenadores. El RS-232C
es un estndar que constituye la tercera revisin de la antigua norma RS-232, propuesta
por la EIA (Asociacin de Industrias Electrnicas).
El RS-232 define especificaciones mecnicas, elctricas, funcionales y de
procedimientos tipitos de un protocolo orientado al enlace fsico punto a punto. Este
estndar se basa en comunicacin asncrona es decir que los datos pueden ser
transmitidos en cualquier momento por lo que deben tomarse precauciones para
sincronizar la transmisin y recepcin. Como puede verse en el propio ttulo del
estndar, en la comunicacin serie se distinguen dos tipos de dispositivos: Los equipos
terminales de datos DTE ("Data Terminal Equipment"), y los equipos de comunicacin
de datos DCE ("Data Communication Equipment").
En la terminologa de las comunicaciones serie se denomina "Sexo" de un equipo a su
tipo; en este sentido DTE y DCE son "sexos" contrarios. A efectos prcticos el sexo del
equipo determina que asignacin de seales tendr su conector externo.

Especificaciones mecnicas
El conector normalmente empleado en los interfaces RS-232 es un conector DB-25,
aunque es normal encontrar la versin de 9 pines DB-9 de forma ms difundida (ver
figura 1). El estndar define que el conector hembra se situar en los DCE y el macho
en el DTE. Aunque es fcil encontrar excepciones. Tambin es frecuente que muchos
interfaces slo incorporen parte de los circuitos descritos en la especificacin.

Figura 1. Pinout de cada pin del conector DB9


Para conseguir establecer la comunicacin serial entre dos equipos se puede emplear los
siguientes tipos de alambrado:
Cable null modem sin handshaking
La manera ms simple de usar las lneas de handshaking para una configuracin null modem es
no usarlas todas del todo. En esta situacin, solo las lneas de datos y la seal ground estn
conectadas en el cable de comunicacin null modem. El resto de pines no tienen conexin. Un
ejemplo de esta conexin, denominada sin handshaking se describe a continuacin
Null modem simple sin handshaking

Connector 1
2
3
5

Connector 2
3
2
5

Function
Rx
Tx
Signal ground

Tx
Rx

Problemas de compatibilidad
Hay un problema, si uno de los dos dispositivos revisa las entradas DSR o CD. Estas seales
normalmente definen la capacidad del otro lado para comunicarse. Como estas no estn
conectadas, su nivel de seal nunca llegar a ser alto.
Lo mismo sucede para la secuencia RTS/CTS. Si el software en ambos lados est bien
estructurado, la salida RTS se pondr en high y entonces un ciclo de espera comienza hasta que
una seal de listo sea recibida en la lnea CTS. Esto causa que el software se cuelgue porque
no hay una conexin fsica presente. El nico tipo de comunicacin que es permitido en un
cable null modem es el trfico de datos en las lneas Rx/Tx conectadas.

Esto no significa, que esta configuracin de cable es intil. Este cable puede ser usado
cuando hay comunicacin con dispositivos que no tienen seales de control de modem
como por ejemplo medir el equipo, etc.
Mdem nulo con handshaking de bucle de retorno
El cable null modem simple sin handshaking muestra incompatibilidades con software comn.
El principal problema con este cable es que hay una posibilidad para el software de que se
cuelgue si revisa las lneas de seales del mdem de la manera apropiada.
Para resolver este problema y todava ser posible de usar una comunicacin barata null modem
con solo 3 lneas en l, se crea una distribucin de cable falsa. El cable null modem con
handshaking de bucle de retorno entonces, ha sido creado.

Null modem con handshaking de bucle de retorno

Conector 1
2
3
5
1+4+6
7+8
-

Conector 2
3
2
5
1+4+6
7+8

Rx
Tx
Signal ground
DTR
DTR
RTS
RTS

Funcin
Tx
Rx
CD + DSR
CD + DSR
CTS
CTS

El propsito principal del cable null modem es permitir dejar que el software bien
definido piense que hay un handskaing disponible, con un cable null modem que no lo
tiene.
Null modem con handshaking parcial
El cable simple null modem sin handshaking y el cable null modem con handshaking de bucle
de retorno son tiles, pero no estn diseados para control de flujo de hardware. Si esto es

una necesidad que se tiene, es decir, si se desea realizar el control de flujo de hardware,
el null modem con handshaking parcial puede ser una alternativa.
Null modem con handshaking parcial

Conector 1
1
2
3
4
5
6
7+8

Conector 2
7+8
3
2
6
5
4
1

RTS2
Rx
Tx
DTR
Signal ground
DSR
RTS1

Funcin
CTS2 + CD1
Tx
Rx
DSR
DTR
CTS1 + CD2

Null modem con handshaking


El cable null modem ms caro es aquel que posee handshaking completo. En este cable, los 7
cables se utilizan. Solo la seal indicador ring (RI) y la seal detector de carry (CD) no se
conectan. Las conexiones se muestran en la siguiente figura:

Cable null modem con handshaking

Conector 1
2
3
4
5
6
7
8

Conector 2
3
2
6
5
4
8
7

Funcin
Rx
Tx
Tx
Rx
DTR
DSR
Signal ground
DSR
DTR
RTS
CTS
CTS
RTS

Problemas de compatibilidad
El cable null modem con handshaking no permite la forma de control de flujo anterior. La
principal compatibilidad es la conexin cruzada de los pines RTS y CTS. Originalmente, estos
pines son usados para un control de flujo tipo pregunta/respuesta. Cuando este cable es usado,
no hay ms solicitudes. Las lneas ahora son puramente usadas para decir al otro lado si la
comunicacin es posible.
La principal ventaja de este cable es, que hay dos seales en cada direccin. Ambas, las salidas
RTS y la DTR pueden ser usadas para enviar informacin de control de flujo al otro
dispositivo. Esto hace posible lograr muy altas velocidades de comunicacin con este tipo de
cable, dado que el software ha sido diseado para ello. Debido a una alta posibilidad velocidad
de conexin, el cable null modem con handshaking puede ser usado con Interlink para conectar
2 MS-DOS PCs.
Especificaciones elctricas:
El interfaz elctrico utiliza una conexin elctrica asimtrica con circuitos no equilibrados,
todos referenciados a tierra. La interfaz se utiliza a una razn de menos de 20Kbps para una
distancia menor de 15m. En la prctica se pueden exceder estos lmites utilizando cables de baja
capacidad en entornos elctricamente poco ruidosos.
Especificaciones funcionales:
El RS-232C consiste en un conector tipo DB-25 de 25 pines, aunque es normal encontrar la
versin de 9 pines DB-9, ms barato e incluso ms extendido para cierto tipo de perifricos
(como el ratn serie del PC). En cualquier caso, los PCs no suelen emplear ms de 9 pines en el
conector DB-25.
Cada pin puede ser de entrada o de salida, teniendo una funcin especfica cada uno de ellos.
Las ms importantes son:

Las seales TXD, DTR y RTS son de salida, mientras que RXD, DSR, CTS y DCD son de
entrada. La masa de referencia para todas las seales es SG (Tierra de Seal). Finalmente,
existen otras seales como RI (Indicador de Llamada), y otras poco comunes que se explican
brevemente a continuacin.

Descripcin de las seales:


SG (Signal ground) o GND: Esta lnea debe estar conectada al chasis del PC y desde ah hacer
tierra.
DTR (Data Terminal Ready): Esta seal prepara al modem para conectarse a una lnea de
comunicacin y mantener la conexin establecida. Una vez que modem est conectado a la lnea
este pin debe estar encendido para mantenerse la conexin, si DTR es apagado, provoca una
desconexin de la lnea, interrumpiendo el enlace de datos en progreso. DTR tambin puede
mantenerse encendido para efectuar la transmisin de datos por el pin TXD. Bsicamente DTR
es el pin de control maestro del modem.
DSR (Data Set Ready): Es la lnea que indica que el modem est preparado. Usualmente el
DSR est todo el tiempo encendido porque este valor es un indicador de que el MODEM esta
encendido y listo.
RTS (Request To Send): Es la lnea que dice al modem que el PC quiere enviar datos. El
estndar RS-232 dice que RTS condiciona al modem para la transmisin, en realidad esta es
solo una funcin que sirve de interruptor a un modem half duplex para transmitir o recibir.
Mientras un modem half duplex est recibiendo, el DTE guarda el RTS apagado (cero). Cuando
le toca al DTE el turno de transmitir, este informa al modem que desea transmitir poniendo el

RTS a (uno). El DTE no puede comenzar inmediatamente con el envo de datos al modem
porque este, no puede cambiar inmediatamente el modo de transmisin a recepcin. Despus de
poner a uno RTS el DTE monitorea el pin CTS el cual es apagado por el modem que est en
modo de recepcin, cuando el modem est listo para transmitir, este enciende el CTS en funcin
al DTE que est listo para el envo de datos. Este RTS-CTS (hand shaking), tambin es
permitido en sentido contrario, es decir cuando el transmisor vuelve a recibir. Como en una
comunicacin full duplex hay dos canales no se necesita el RTS-CTS, de esta forma un modem
full duplex pone permanentemente el pin CTS conectado al pin DCD (Data Carrier Detect).
CTS (Clear To Send): Es la lnea que indica que el modem est preparado para recibir datos
desde el PC.
DCD (Data Carrier Detect): Es la lnea que indica que el modem tiene de verdad conexin
remota. Este pin es tambien llamado Receiver Time Signal Detect, es encendido cuando el
modem recibe una seal remota y se mantiene encendido durante el enlace. En conexiones de
modem half duplex el DCD es encendido solamente por el MODEM que est en recepcin.
TXD (Transmit Data): Es la lnea de transmisin de datos serie al modem. El TXD no puede
transmitir datos a menos que los sigtes circuitos hayan sido encendidos:
DTR
DSR
RTS (listo para enviar).
CTS (listo para recibir).
RXD (Receive Data): Es la lnea de recepcin de datos serie desde el modem.
RI (Ring Indicator): Es la lnea que indica que el modem ha detectado la seal de llamada
(se pone en uno ).
RTxC (Transmit/Receive Clock): Reloj comn para transmisiones sincrnicas (solo existe en
algunos PCs).
NOTA: Adems para que dos dispositivos puedan hacer efectivo el intercambio de informacin,
se requiere que cada uno de ellos utilice las mismas caractersticas de transmisin, entre estas
caractersticas estn la velocidad de transmisin, que pueden ser de: 110bps, 300bps, 600bps,
900bps, 1200bps, 2400bps, 4800bps, 9600bps, 19200bps. Estas velocidades han sido ampliadas
en la versin RS-232-E.
El circuito RTS activa y desactiva el circuito de transmisin del modem.
Cuando un terminal detecta que le estn llamando a l activa su seal RTS y queda a la espera
de recibir la seal CTS (listo para enviar) desde el modem antes de enviar su respuesta. Cuando
el terminal ha terminado la transmisin, desactiva la seal RTS, lo que hace que el modem
desactive su transmisor dejando la lnea libre.
Con las seis seales de la tabla se puede establecer una comunicacin punto a punto entre los
dos DTE (por ejemplo dos mdems conectados por un cable).

2. Consultar los comandos set, serial, fopen, out, fscanf, strrep, disp, etc.
SET: set(h, attr, val)

Funcion que modifica las caractersticas de un handle grfico, ya sea una curva, los ejes
de la figura o la misma figura. Los argumentos siempre son, por este orden:
H:
Attr :
Val :

El handle
Un atributo vlido del handle como cadena de caracteres
El nuevo valor del atributo.

En el caso de las curvas o de la propia figura es la propia funcin (plot, semilogx o figure) la
que genera el handle pero tambin podemos utilizar las funciones que devuelven handles como
argumentos de salida.
SERIAL: Crea un puerto serial objeto.
Sintaxis:
obj = serial('port')
obj = serial('port','PropertyName',PropertyValue,...)

Descripcin: obj = serial('port') crea un puerto serial objeto asociado con el puerto serial
especificado en port. Si port no existe, o est en uso, no ser posible conectar el puerto
serial objeto al dispositivo. El nombre del objeto port depender de la plataforma en donde el
puerto serial est encendido.

FOPEN: FID = FOPEN(FILENAME) abre el archivo con el nomre de FILENAME para


acceso de lectura. FILENAME es una string que contiene el nombre del archivo a ser abierto.
FILENAME puede ser un MATLABPATH, una ruta parcial relativa. Si el archivo no es
encontrado en el directorio activo, FOPEN busca por su cuenta en las rutas de bsqueda de
Matlab.
FID es un escalar integrador de valor doble, llamado un identificador de archivo. Se usa FID
como el primer argumento para otro archivo de rutina entrada/salida, como FREAD o FCLOSE.
Si FOPEN no puede abrir el archivo, regresa un valor de -1.
FID = FOPEN(FILENAME,PERMISSION) Abre el archivo con el nomre FILENAME en
el modo especificado en PERMISSION:
'r' abrir archivo para lectura
'w' abre el archivo para escritura
'a' abre o crea un archivo para escritura, anexa los datos al final del archivo
'r+' abre (no crea) archivos para lectura y escritura
'w+' abre o crea archivos para lectura y escritura, descarta contenido existente
'a+' abre o crea archivos para lectura y escritura, anexa datos al final del archivo
'W' abre un archivo para escritura sin flushing automtico
'A' abre un archivo para anexar sin flushing automatico

FSCANF:
La lectura de datos a partir de un fichero ASCII se realiza mediante los comandos:
[A,cont]=fscanf(fid,formato) que lee datos con el formato especificado del fichero abierto
con el identificador fid, en un vector columna de nombre A. cont es el nmero de datos ledos.
[A,cont]=fscanf(fid,formato,size) que lee datos con el formato especificado del fichero
abierto con el identificador fid y los escribe en la matriz A de tamao

size. cont es el nmero de datos ledos.

STRREP: tpico find-and-replace. Reemplaza un string con otro.


S = STRREP(S1,S2,S3) reemplaza todas las existencias del string S2 en el string S1con el string
S3. El nuevo string sale como resultado.

DISP: (disp.(X)) La funcin disp de MATLAB se utiliza para mostrar un escalar, un mensaje
(string), un vector o una matriz en la lnea de comandos.

3. Desarrollar una aplicacin con el GUI de Matlab que permita al usuario el


envo de texto a travs del computador, el cual emular un terminal no
inteligente como el Hyperterminal en el sistema Operativo Windows.
El programa debe permitir al usuario seleccionar:

Numero de bits de datos: 7 y 8.


Tipo de Paridad (Par, Impar).
Numero de bits de parada.
Velocidad de transmisin: 600, 1200, 2400, 9600, 19200.
Escribir el texto a ser transmitido.
Mostrar el texto recibido.

El archivo GUI elaborado es el siguiente:

El cdigo elaborado es:


A=get(handles.paridad,'Value');
if A==2
A='odd';
else
A='even';
end
enviar=get(handles.transmitir,'String'); %Obtiene el texto a enviar a
la hyperterminal

to=str2double(get(handles.bitsparada,'String')); %Se coloca los bits


de parada para la transmisin
Velocidadtx=str2double(get(handles.Vt,'String')); %Se coloca la
velocidad de transmisin, que puede ser
%hasta 19200
datos=str2double(get(handles.numbit,'String')); %Se coloca el nmero
de bits, si son 7 u 8
puerto=serial('COM2');
%Puerto a usar para enviar la informacin
set(puerto,'Parity',A);
%Se establece (enva) el tipo de paridad
de la informacin
set(puerto,'StopBits',to); %Se establece e nmero de bits de parada
set(puerto,'DataBits',datos);%Asignando numero de bit de datos
set(puerto,'Baudrate',Velocidadtx);%Asignando tasa de bit
set(puerto,'FlowControl','none');
fopen(puerto); %Una vez creado el puerto, este empieza su
funcionamiento
fprintf(puerto,enviar); %Se envia toda la informacin a la otra
terminal
fclose(puerto); %Una vez enviado el texto se termina la conexin con
el puerto COM2
delete(puerto); %Se elimina el puerto, para que pueda volver a ser
utilizado

BIBLIOGRAFA:

http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/basico/vectores/salida.html
http://www.lammertbies.nl/comm/info/RS-232_null_modem.html
http://interface-serial-rs232.blogspot.com/
http://es.wikipedia.org/wiki/Null-m%C3%B3dem

Вам также может понравиться