REPORTE DE PRACTICA CON PUERTO SERIE

INTRODUCCION

Las comunicaciones serie se utilizan para enviar datos a través de largas distancias, ya que las comunicaciones en paralelo exigen demasiado cableado para ser operativas. Los datos serie recibido desde un módem u otros dispositivos son convertidos a paralelo gracias a lo cual pueden ser manejados por el bus del PC.


Los equipos de comunicaciones serie se pueden dividir entre simplex, half-duplex y full-duplex.

Una comunicación serie simplex envía información en una sola dirección (como una emisora de radio comercial). Half-duplex significa que los datos pueden ser enviados en ambas direcciones entre dos sistemas, pero en una sola dirección al mismo tiempo. En una transmisión full-duplex cada sistema puede enviar y recibir datos al mismo tiempo. Hay dos tipos de comunicaciones:

síncronas o asíncronas. En una transmisión síncrona los datos son enviados en bloques, el transmisor y el receptor son sincronizados por un o más caracteres especiales llamados caracteres sync. El puerto serie del PC es un dispositivo asíncrono. En una transmisión asíncrona, un bit identifica su bit de comienzo y 1 o 2 bits identifican su final, no es necesario ningún carácter de sincronismo. Los bits de datos son enviados al receptor después del bit de start. El bit de menos peso es transmitido primero.

Un carácter de datos suele consistir en 7 o 8 bits. Dependiendo de la configuración de la transmisión un bit de paridad es enviado después de cada bit de datos. Se utiliza para corregir errores en los caracteres de datos. Finalmente 1 o 2 bits de stop son enviados.

 

 

 


TEORIA

 

El puerto serie del PC es compatible con el estándar RS-232C. Este estándar fue diseñado en los 60s para comunicar un equipo terminal de datos o DTE (Data Terminal Equipment, el PC en este caso) y un equipo de comunicación de datos o DCE (Data Communication Equipment, habitualmente un módem).


El estándar especifica 25 pins de señal, y que el conector de DTE debe ser macho y el conector de DCE hembra. Los conectores mas usados son el DB-25 macho, pero muchos de los 25 pins no son necesarios. Por esta razón en muchos PC modernos se utilizan los DB-9 macho. Luego, encontrareis uno o mas de estos conectores en el panel trasero del PC.

 

Los voltajes para un nivel lógico alto estan entre -3V y -15V. Un nivel lógico bajo tendrá un voltaje entre +3V and +15V. Los voltajes más usados son +12V y -12V.

Entre las señales mas utilizadas para las comunicaciones de datos son :

/DTR (Data-Terminal-Ready): El PC indica al módem que esta encendido y listo para enviar datos.

/DSR (Data-Set-Ready): El módem indica al PC que esta encendido y listo para transmitir o recibir datos.

/RTS (Request-To-Send): El PC pone esta señal a 1 cuando tiene un carácter listo para ser enviado.

/CD (Carrier-Detect): El módem pone esta señal a 1 cuando ha detectado el ordenador.

/CTS (Clear-To-Send): El módem esta preparado para transmitir datos. El ordenador empezara a enviar datos al módem.

TxD: El módem recibe datos desde el PC.

RxD: El módem transmite datos al PC.


El circuito integrado que convierte los datos de paralelo a serie y viceversa se llama UART (Universal Asynchronous Receiver-Transmitter). La UART típica para un PC es el Intel 8251A, este circuito integrado puede ser programado para realizar comunicaciones serie síncronas o asíncronas. Ocho bits de datos (D0-D7) conectan al 8251A al bus de datos del PC. La entrada de chip select (/CS) habilita el circuito integrado cuando es seleccionado por el bus de control del PC.

Este circuito integrado tiene dos direcciones internas, una dirección de control y una de datos. La dirección de control queda seleccionada cuando la entrada C-/D esta seleccionada a nivel alto. La dirección de datos queda seleccionada cuando la entrada C-/D esta a nivel bajo. La señal de RESET resetea el circuito integrado. Cuando /RD esta a nivel bajo el ordenador lee un byte de control o de datos byte. La señal /WR es habilitada por PC para escribir un byte. Las dos señales
estan conectadas a las señales de control del sistema con los mismos nombres.


El UART incluye cuatro registros internos:


Cada carácter a transmitir es almacenado en el registro THR. La UART añade los bits de start y stop. Luego copia todos los bits (datos, start and stop bits) al registro TSR. Para acabar el proceso los bits son enviados a la línea a través de la señal TD. Cada carácter recibido des de la línea RD es almacenada en el registro RSR. Los bits de start y stop son eliminados y la UART escribe el carácter en el registro RDR. Para acabar el proceso el carácter es leído por el PC.


En cuanto al direccionamiento el puerto, hay dos maneras de hacerlo, a través de la interrupción 14H de la BIOS y a través de la interrupción 21H del DOS.


La interrupción 14H de la BIOS utiliza cuatro funciones para programar el puerto serie. Cada función es seleccionada asignando un valor al registro AH del microprocesador. Las cuatro funciones son listadas a continuación:

 

Función 00H: Inicializa el puerto serie y selecciona la velocidad, el numero de bits de datos de start y de stop y los parámetros de paridad.

 

Función 01H: Envía un carácter al puerto serie especificado.

 

Función 02H: Lee un carácter desde el puerto serie especificado.

 

Función 003: Devuelve el estado del puerto serie especificado.


Hay varias funciones de la interrupción 21H del DOS relacionadas a la operación del puerto serie:

Función 03H: Lee un carácter desde el puerto COM1.

Función 04H: Escribe un carácter desde el puerto COM1.

Función 40H: Esta función envía un numero de bytes desde un buffer a un dispositivo especificado.

 

 

 

 

 

DESCRIPCIÓN DEL PROGRAMA

Este programa envía el archivo carácter por carácter a la otra computadora.

El desarrollo del programa consiste básicamente en habilitar o manipular lo puertos seriales de la computadoras, para inicializar los puertos utilizamos las siguientes funciones:

_bios_Serialcom(int cmd, int port, char a byte).

Que definen por medio de sus parámetros:

Cmd.- El numero de bits a transmitir.

Port.- Puerto que se habilita (com1).

Byte.- La operación a realizar ya sea entrada o salida.

 

Las funciones de manipulación de puertos usa el Bios con la Interrupción 0X14.

 

Algunas de las funciones que mas utilizamos para manipular los puertos seriales:

 

FUNCIONES PARA ENVIAR EL ARCHIVO

_bios_serialcom( COMINIT, COM1, SETTINGS)

  Esta función es para tener el puerto disponible para enviar los caracteres a la otra computadora.

 

_bios_serialcom(_COM_SEND, COM1, in)

Esta función es utilizada para enviar el carácter a la otro puerto de la computadora.

 

FUNCIONES PARA RECIBIR EL ARCHIVO

 

_bios_serialcom(_COM_STATUS, COM1, 0)

_bios_serialcom(_COM_RECEIVE, COM1, 0)

_bios_serialcom(_COM_SEND, COM1, 0)

 

 

Además utilizamos algunas funciones extras, para saber la ruta del archivo a buscar. La realizamos con la función busca().Dentro de esta función utilizamos una subfuncion llamada Searchpth(nombre del archivo), esta función busca el archivo en el directorio actual.

 

 

Luego utilizamos otras funciones como:

Enviar archivo con la función enviar().

En esta función se encuentra la función de busca(), después que encontró el archivo lo envía al otro puerto carácter por carácter.

Nota.- La computadora que va a recibir el archivo debe estar en modo de recibir.

 

Recibir el archivo recibir().

En esta función esta recibiendo los caracteres en el puerto, después es colocado en pantalla y hasta el final es grabado en el disco.

 

 

 

 

 

 

DESCRIPCIÓN DEL CABLE

 

DESCRIPCION DEL CABLE

 

 

 

 

 

PROBLEMAS TECNICOS Y FORMA DE SOLUCIONARLOS

 

Algunos de los problemas que más se nos presentaron fueron:

 

 

 

 

CONCLUSIONES Y RECOMENDACIONES

 

Podemos concluir de la siguiente de practica, que la comunicación de dos computadoras mediante un cable DB 9 o DB 25, es una gran ventaja ya que permite la interacción entre dos computadoras las cuales pudieron intercambiar archivos. Se puede decir que en la actualidad la intercomunicación entre computadoras, puede ser mas fácil si se utiliza un cable " null módem".

Concluimos además que el cable RS-232 esta diseñado para conectar DCEs a DTEs.

Además es muy útil esta cable por se puede conectar la impresora como a la PC que tienen interfaces de tipo DTE, se puede conectar el módem a la impresora, y luego conecte los dos modems con el cable telefónico.

 

 

BIBLIOFRAFIA

 

 

LENGUAJE C Y ESTRUCTURA DE DATOS

Juan F. García de sola

Vicente Garceran Hdez. 

Ed. Mc Graw Hill

 

 

 

 

 

Guía Completa de Mantenimiento y

Actualización de la PC 

  Mark Minasi

Ed. VENTURA

 

 

 

 

REGRESA A LA PAG. PRINCIPAL