WikiCiencia - Informática y Computación - Hardware - Puertos paralelo y serie

Firenox
PRINCIPALELECTRONICAINFORMATICATECNOLOGIANOTICIASDESTACADOS
 

Puertos paralelo y serie


Si le resulta útil el contenido de este portal, por favor considere hacer una donación a Cáritas Argentina. Muchas gracias.

El puerto paralelo

El puerto paralelo adapta la velocidad del ordenador a la del periférico (es más lento), y establece un control de flujo hardware para que el ordenador no inunde de información al periférico.

Mediante el puerto paralelo se puede establecer un mayor control por parte del ordenador sobre el periférico. En cambio, en el puerto serie la velocidad esta preestablecida y no existe tanto control como con el puerto serie. 

Conexión física del puerto 

El interfaz puerto paralelo se basa en un conector hembra de 25 pins. La tabla 1 muestra las líneas del puerto paralelo y su significado lógico en una conexión PC-impresora:  

Pin del ordenador

Nombre Línea 

Significado 










10 
11 
12 
13 
14 
15 
16 
17 
18-25

STROBE 
D0 
D1 
D2 
D3 
D4 
D5 
D6 
D7 
ACK 
BUSY 
PE 
SLCT 
AUTO FEED 
ERROR 
INIT 
SLCT IN 
GND

Indica Transmisión 
Línea de datos Bit 0 
Línea de datos Bit 1 
Línea de datos Bit 2 
Línea de datos Bit 3 
Línea de datos Bit 4 
Línea de datos Bit 5 
Línea de datos Bit 6 
Línea de datos Bit 7 
Ultimo carácter aceptado 
Impresora ocupada 
Impresora sin papel 
Impresora en ON LINE 
CR Automático después de LF 
Error en la transmisión de datos 
Realizar reset de la impresora 
Activar ON LINE en la imp. 
Masa

Como se puede observar en la tabla existen una serie de líneas de datos las cuales son unidireccionales, es decir, solo son de salida del ordenador hacia la impresora, y una serie de líneas de control que nos permiten un intercambio de información entre el ordenador y el periférico, pero las líneas de control impresora-ordenador son sólo cinco. Aquí se nos presenta un problema, el intercambio de información entre ordenadores a través del puerto paralelo, el cual resolveremos en el siguiente artículo. 

Programación del puerto 

El puerto paralelo se puede programar mediante un acceso a la BIOS del PC o mediante la programación directa del puerto. Cualquiera de las dos opciones es totalmente correcta pero nosotros nos hemos decantado por la de más fácil implementación, la programación directa. 

En la programación directa del puerto, lo único que realizamos es un acceso a las direcciones de dicho puerto. Estas direcciones son las siguientes : 

Dirección

Puerto 

3BCh - 3BFh 

378h - 37Fh

278h - 27Fh 

Puerto paralelo en la tarjeta MDA *

Primer puerto paralelo

Segundo puerto paralelo 

(*) La tarjeta MDA es una tarjeta de vídeo monocroma en la cual la lógica de vídeo poseía también un puerto paralelo. Este tipo de tarjetas prácticamente, ya no se utiliza. 

El acceso a las direcciones del puerto se puede realizar, por ejemplo, mediante la instrucción outportb u outport del lenguaje C. Una vez realizado el acceso a un registro del puerto podremos leerlo y/o escribirlo dependiendo lo que nos permita realizar cada puerto como se puede observar en el siguiente apartado. 

Los registros del puerto

El puerto paralelo presenta 3 registros accesibles por el programador : 

Primer registro del puerto paralelo

Este primer registro es el registro de datos, solo de escritura, en el cual introducimos el byte que queremos que aparezca en las líneas de datos D0-D7 (pins 2-9). 

Segundo registro del puerto paralelo

Este registro corresponde al que nosotros podemos llamar registro de control de entrada, debido a que en este registro se activan los bits de ERROR, SCLT, PE, ACK y BUSY, si alguno de los pins a los cuales estan ligados esta en nivel alto (o nivel bajo dependiendo si es o no negado), esto se puede observar en la figura 2. Este registro es solo de lectura, es decir, no se puede variar este registro por software. 

Tercer registro del puerto paralelo

Este registro al igual que el anterior corresponde a un registro de control, pero este registro es de salida, es decir, al variar uno de estos bits, también se varía el nivel del pin del conector, un ejemplo estaría en la señal de -STROBE, si en el registro ponemos este bit a 0, en el pin 1 del conector el nivel será de 1 (5 V) ( pasa lo mismo en el caso del registro de datos). Este registro se puede leer y variar por Software. 

 

El puerto serie

El puerto serie de un ordenador es un adaptador asíncrono utilizado para poder intercomunicar varios ordenadores entre sí.

Un puerto serie recibe y envía información fuera del ordenador mediante un determinado software de comunicación o un driver del puerto serie.

El software envía la información al puerto carácter a carácter, conviertiéndolo en una señal que puede ser enviada por un cable serie o un módem.

Cuando se ha recibido un carácter, el puerto serie envía una señal por medio de una interrupción indicando que el carácter está listo. Cuando el ordenador ve la señal, los servicios del puerto serie leen el carácter.

Conectores

En nuestros PC's, se emplea como conector del interface serie un terminal macho al que llamaremos DTE (Data Terminal Equipment) que, a través de un cable conectamos a un periférico que posee un conector hembra al que llamaremos DCE (Data Comumunications Equipment). En nuestro terminal DTE, tenemos las siguientes conexiones (para un conector DB-25):

PIN

Nombre

Dirección

Función

1

P.G.

--

Tierra de seguridad

2

TD

-->DCE

Salida datos DTE

3

RD

-->DTE

Entrada de datos DTE

4

RTS

-->DCE

Petición de emisión DTE

5

CTS

-->DTE

Listo para trasmitir DCE

6

DSR

-->DTE

CE listo para com. con DTE

7

GND

--

Masa común del circuito

8

DCD

-->DTE

Detección de portadora

20

DTR

-->DCE

Señal de terminal disponible

23

DSRD

<-->

Indicador de velocidad de Tx.

Direcciones

El puerto serie utiliza direcciones y una línea de señales, un IRQ para llamar la atención del procesador. Además el software de control debe conocer la dirección.

La mayoría de los puertos series utilizan direcciones standard predefinidas. Éstas están descritas normalmente en base hexadecimal. Cuando se instala un nuevo puerto, normalmente se mueve un jumper o switch para seleccionar un puerto (COM1, COM2, COM3, etc., con lo que se asigna una dirección y una interrupción usada por la tarjeta del puerto.

Las direcciones e IRQ usadas por los puertos serie fueron definidas al diseñar el ordenador originalmente ; sin embargo, las del COM3 y COM4 no se han definido oficialmente, aunque están aceptadas por convenios.

Las señales son:

Dirección

Interrupción

(IRQ)

COM1

3F8

4

COM2

2F8

3

COM3

3E8

4

COM4

2E8

3

Se pueden añadir gran cantidad de puertos serie a un PC, ya que existe gran flexibilidad a la hora de definir direcciones no standard, siempre que se encuentren entre el rango 100 y 3FF hexadecimal y siempre que no entren en conflicto con otros dispositivos.

Los ordenadores IBM PS/2 usan la Microchannel Architecture, que define las direcciones e IRQs para los puertos desde COM1 a COM8:

Dirección

Interrupción

(IRQ)

COM1

3F8

4

COM2

2F8

3

COM3

3E8

4

COM4

2E8

3

COM5

4220

3

COM6

4228

3

COM7

5220

3

COM8

5228

3

Tipos de puertos serie

Hay muchos tipos de puertos serie, que están definidos normalmente por el tipo de UART (Universal Asynchronous Receiver / Transmitter, Receptor/Transmisor Asíncrono Universal) usado por el puerto serie. El UART es un chip del puerto serie que convierte los datos de formato paralelo utilizados por el PC en datos de formato serie para su envío.

A continuación se enumeran los diferentes tipos de UARTs existentes :

UART's sin buffer:

Los UARTs sin buffer fueron diseñados cuando los módem más rápidos transmitían a 1200 bps. No tienen buffer de carácter extra en el UART, por lo que dependen del procesador para borrar cada carácter enviado por el módem antes de que el siguiente carácter sea enviado.

Los UARTs sin buffer comprenden las series 8250, el 16450 y el original 16550.

UART's con buffer:

Los UARTs con buffer han sido diseñados como apoyo a los módem rápidos de la actualidad. El UART original con buffer es el 16550A, que puede acumular 16 caracteres en un buffer antes de que el procesador lea el dato. Esto hace que el software del PC tenga una mayor facilidad para comunicarse con el módem, creándose menos errores y una mayor velocidad de transmisión.

Otros tipos

Pequeños puertos serie

Existen algunas tarjetas diseñadas específicamente para dotar de un puerto serie de alta velocidad para comunicaciones. Estas tarjetas tienen un microprocesador en su interior que asiste al PC en las comunicaciones. Además, disponen de un modo de transferencia de datos de alta velocidad que es mucho más eficiente que el interface de puerto serie normal. Estas tarjetas necesitan unos drivers especiales para su uso, pero también disponen de un interface standard de puerto serie por motivos de compatibilidades.

Hayes ESP-I y ESP-II

Hayes ha introducido tres diferentes tipos de "Enhanced Serial Ports", o tarjeta ESP. La original tarjeta ESP (ESP-I) es una tarjeta "full-length 8-bit" con dos 16550A puertos serie y un procesador que tiene en cuenta las transmisiones entre el puerto original y el procesador. Esta tarjeta no es soportada por Windows ni OS/2, por lo que se hace necesario el uso del puerto standard.

La tarjeta ESP-II está disponible con un o dos puertos serie. Este producto reemplazó al modelo original y dispone de drivers para diferentes entornos al mismo tiempo,, e incluso reciente Hayes ha introducido un driver para Windows 95.

Practical Peripherals High Speed Serial Port HSSP

Un Practical Peripheral High Speed Serial Port (HSSP) es una versión mejorada de la tarjeta Hayes ESP-II, y es idéntica en su construcción a la ESP-II. Tiene los drivers que la ESP-II.

El T/Port

El T/Port de Telcor Systems, Inc. es una tarjeta especial que incluye un microprocesador y es utilizada para la comunicación con un host durante un tiempo elevado. El T/Port mejora el funcionamiento del ordenador, especialmente cuando opera bajo Windows u OS/2. Presenta una emulación del interface 16450.

Otros

Algunos módem internos utilizan chips con la apariencia de un 16450 UART, pero realmente son procesadores simulando ese UART.

Otros módem, también disponen de un segundo buffer que aumenta la capacidad del principal y ofrece una considerable protección ante caracteres perdidos (overrun errors).

 

WikiCiencia - Creative Commons 2000-2015 - Algunos derechos reservados - Términos y Condiciones

Firenox