Make your own free website on Tripod.com

 

Inicio

Quienes Somos?

Homework

Contactenos

     
 

PUERTO SERIE

Introduccion a las comunicaciones serie

Las comunicaciones serie se utilizan para enviar datos a traves de largas distancias, ya que las comunicaciones en paralelo exigen demasiado cableado para ser operativas. Los datos serie recividos desde un modem o otros dispositivos son convertidos a paralelo gracias a lo qual 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 envia informacion en una sola dirección (p.e. 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, luego empezaremos describiendo este tipo de sistemas. En una transmisión asíncrona, un bit identifica su bit de comienzo y 1 o 2 bits identifican su final, no es necesario ningun caracter de sincronismo. Los bits de datos son enviados al receptor despues del bit de start. El bit de menos peso es transmitido primero. Un caracter de datos suele consistir en 7 o 8 bits. Dependiendo de la configuración de la transmisión un bit de paridad es enviado despues de cada bit de datos. Se utiliza para corregir errores en los caracteres de datos. Finalmente 1 o 2 bits de stop son enviados.

Descripción del puerto

El puerto serie del PC es compatible con el estandar RS-232C. Este estandar 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 modem).

El estandar 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 voltages para un nivel logico alto estan entre -3V y -15V. Un nivel logico bajo tendra un voltage entre +3V and +15V. Los voltages más usados son +12V y -12V.

Las señales más utilizadas se listan a continuación:

  • / DTR (Data-Terminal-Ready): El PC indica al modem que esta encendido y listo para enviar datos.
  • /DSR (Data-Set-Ready): El modem 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 caracter listo para ser enviado.
  • /CD (Carrier-Detect): El modem pone esta señal a 1 cuando ha detectado el ordenador.
  • /CTS (Clear-To-Send): El modem esta preparado para transmitir datos. El ordenador empezara a enviar datos al modem.
  • TxD: El modem recibe datos desde el PC.
  • RxD: El modem 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 tipica 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:

THR: Registro temporal de salida.
TSR: Registro de salida.
RDR: Registro de entrada.
RSR: Registro temporal de entrada.


Cada caracter 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 linea a traves de la señal TD.

Cada caracter recibido des de la linea RD es almacenada en el registro RSR. Los bits de start y stop son eliminados y la UART escribe el caracter en el registro RDR. Para acabar el proceso el caracter es leido por el PC.
Direccionando el puerto.

Hay dos maneras de direccionar el puerto serie, a traves de la interrupción 14H de la BIOS y a traves de la interrupción 21H del DOS.

La interrupción 14H de la BIOS utiliza cuatro funciones para programar el puerto serie. Cada funcion es seleccionada asignando un valor al registro AH del microprocesador. Las cuatro funciones son listadas a continuación:
Funcion 00H: Inicializa el puerto serie y selecciona la velocidad, el numero de bits de datos de start y de stop y los parametros de paridad.

  • Funcion 01H: Envia un caracter al puerto serie especificado.
  • Funcion 02H: Lee un caracter desde el puerto serie especificado.
  • Funcion 003: Devuelve el estado del puerto serie especificado.
  • Hay varias funciones de la interrupción 21H del DOS relacionadas a la operacion del puerto serie:
  • Funcion 03H: Lee un caracter desde el puerto COM1.
  • Funcion 04H: Escribe un caracter desde el puerto COM1.
  • Funcion 40H: Esta funcion envia un numero de bytes des de un buffer a un dispositivo especificado.