Puerto Paralelo

PUERTO PARALELO PUERTO PARALELO Evolución Desde la introducción del PC al mercado, el puerto paralelo ha sufrido varia

Views 128 Downloads 3 File size 135KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PUERTO PARALELO

PUERTO PARALELO

Evolución Desde la introducción del PC al mercado, el puerto paralelo ha sufrido varias modificaciones para hacerlo más veloz. Originalmente se trataba de un puerto unidireccional, es decir, sólo permitía el envío de datos del PC al periférico (normalmente la impresora), pero con la aparición del modelo PS/2 de IBM en 1987 se introduce el puerto bidireccional. Éste permite una comunicación de 8 bits en ambas direcciones. Algo interesante a tener en cuenta es que el puerto original tenía la posibilidad de ser bidireccional, simplemente realizando una conexión entre dos pines de un componente electrónico que venía incluido en éste (dicho de otro modo, el puerto original es bidireccional en diseño básico, pero no en el diseño operacional). Finalmente se han creado el Enhanced Parallel Port (EPP) y el Extended Capabilities Port (ECP), ambos bidireccionales. Inicialmente el puerto paralelo se utilizó para la comunicación con impresoras y posteriormente se utilizó también para manejar otros periféricos como CD ROM, cintas y discos de copia de seguridad (o backup), discos duros, tarjetas de red, protectores de copia, escáneres, etc. Actualmente el puerto paralelo ha desaparecido en la mayoría de los ordenadores portátiles y tiende a desaparecer en los de sobremesa, siendo cada vez más raro que lo incorporen de serie.

Tipos de puerto paralelo En la actualidad se conocen cuatro tipos de puerto paralelo: o o o o

Puerto paralelo estándar (Standard Parallel Port SPP) Puerto Paralelo PS/2 (bidireccional) Enhanced Parallel Port (EPP) Extended Capability Port (ECP)

En la siguiente tabla se muestra información sintetizada de cada uno de estos tipos de puertos.

SPP

PS/2

EPP

ECP

Fecha de Introducción

1981

1987

1994

1994

Fabricante

IBM

IBM

Intel, Xircom y Zenith Data Systems

Hewlett Packard y Microsoft

Bidireccional

No

Si

Si

Si

DMA

No

No

No

Si

Velocidad

150 Kbytes/seg.

150 Kbytes/seg.

2 Mbytes/seg.

2 Mbytes/seg.

Descripción del puerto paralelo

-1-

PUERTO PARALELO

Descripción general Al principio el puerto paralelo formaba parte de la tarjeta conocida como "Adaptador de impresora de IBM", o también de la tarjeta "Monitor monocromático y adaptador de impresora de IBM", pero con la llegada de los ordenadores denominados “clones” al mercado, se crean las tarjetas controladoras de múltiples entradas y salidas (Multi I/O), que incorporan controladores de discos duros y disquetes, puertos serie, puerto de juegos y el puerto paralelo. Posteriormente estos dispositivos pasaron a formar parte de la propia placa base. A pesar de las distintas versiones, la conexión del puerto con el mundo externo no ha sufrido modificaciones. Este puerto utiliza un conector hembra DB25 en el ordenador y un conector especial macho llamado Centronic que tiene 36 pines, en la impresora. Es posible conectar el DB25 de 25 pines al Centronic de 36 pines ya que cerca de la mitad de los pines del Centronic van a masa y no se conectan con el DB25.

Descripción del conector DB25 del PC

El puerto paralelo está formado por 17 líneas de señales (o activas) y 8 líneas de masa. Las líneas de señales están formadas por tres grupos: o o o

4 Líneas de control 5 Líneas de estado 8 Líneas de datos

En el diseño original las líneas de control se usan para el control de establecimiento de la comunicación desde el PC a la impresora, también conocido como Handshake o control de flujo. Las líneas de estado son usadas para el establecimiento de la conexión y como indicadores de estado desde la impresora al PC (falta papel, impresora ocupada, error en la impresora,…). Las líneas de datos suministran los datos de impresión del PC hacia la impresora y solamente en esa dirección. Las posteriores implementaciones del puerto permiten una comunicación bidireccional mediante estas líneas. Cada una de estas líneas (control, estado, datos) puede ser referenciada de modo independiente mediante un registro. Los registros del puerto paralelo Al igual que en la mayoría de los periféricos, el acceso y control del puerto paralelo se realiza mediante una serie de direcciones de E/S consecutivas. En este caso son tres direcciones, una para cada registro del puerto y que son: o

Registro de datos

-2-

PUERTO PARALELO

o o

Registro de estado Registro de control

En la tabla que se presenta a continuación, se muestra la relación que existe entre las líneas físicas del conector del PC y los registros del puerto paralelo.

Tabla general del puerto paralelo

DB25

Señal Control 0 / -Strobe

Registro C0-

Tipo

D0

D1

D2

D3

D4

D5

D6

D7

S6+

S7-

S5+

S4+

C1-

S3+

C2+

Alto

directo

Alto

directo

Alto

directo

Bajo

Invertido

Alto

directo

Alto

directo

Bajo

Invertido

Alto

directo

Alto

directo

Bajo

Invertido

Salida

16 Control 3 / -Select

directo

Entrada

15 Control 2 / -Init

Alto

Salida

14 Estado 3 / -Error

directo

Entrada

13 Control 1 / -AutoFd

Alto

Entrada

12 Estado 4 / SelectIn

directo

Entrada

11 Estado 5 / PaperEnd

Alto

Entrada

10 Estado 7 / Busy

directo

Salida

9 Estado 6 / -Ack

Alto

Salida

8 Dato 7

directo

Salida

7 Dato 6

Alto

Salida

6 Dato 5

directo

Salida

5 Dato 4

Alto

Salida

4 Dato 3

Invertido

Salida

3 Dato 2

Bajo Salida

2 Dato 1

Sentido

Salida

1 Dato 0

Activo

C3-

Salida

17

-3-

PUERTO PARALELO

Tierra 18-25

Notas: Un dato en alto es un 1, un dato en bajo es un 0. Las entradas y salidas son desde el punto de vista del PC.

Funcionamiento mediante BIOS y MS-DOS IBM especificó direcciones base para el puerto paralelo estándar (dentro del espacio de direccionamiento de Entrada/Salida del 80x86). El adaptador de impresora podría usar la dirección base 3BCh, o más tarde 378h o 278h. Dentro del estándar PC, la BIOS (Basic Input Output System) reconoce la presencia de hasta tres puertos paralelos denominados ‘LPT1:’, ‘LPT2:’ y ‘LPT3:’, teniendo asignada los dos primeros las interrupciones 7 y 5, respectivamente (las interrupciones son necesarias en casi todos los dispositivos de entrada/salida). En el momento del encendido o POST (Power On Self Test), la BIOS detecta la presencia o no de dichos puertos paralelos en las direcciones base 3BCh, 378h, y 278h (en ese orden), asignándole los nombres a medida que los va encontrando, de manera que si sólo hay uno, éste será LPT1:, independientemente de su dirección base y si hay dos, serán LPT1: y LPT2:, etc. Aunque ésta sea la configuración estándar del puerto paralelo, se pueden añadir otros en direcciones distintas de las anteriores mediante tarjetas PCI, PCMCIA o adaptadores USB, dejando en este caso la detección de los puertos al sistema operativo y debiendo instalar los controladores adecuados suministrados por el fabricante.

Normalmente la asignación de direcciones es como sigue:

Dirección

Interrupción

Nombre

Ubicación

3BCh

7

LPT1

Adaptador de impresión primario

378h

5

LPT2

Adaptador de impresión secundario

278h

-

LPT3

Adaptador de impresión terciario

Las referencias a cada registro del puerto se realizan de la siguiente forma: o o o

Base (datos) = base+0 Estado = base+1 Control = base+2

Por ejemplo, si encontramos que la dirección base es 378h, entonces las direcciones del registro de datos, estado y control serán: o o o

Base (datos) = 378h Estado = 379h Control = 37Ah

-4-

PUERTO PARALELO

Cada una de ellas permite accesar a los siguientes bits (descritos en la tabla general): Base (datos) = D0, D1, D2, D3, D4, D5, D6, D7 Estado = S3, S4, S5, S6, S7 Control = C0, C1, C2, C3

o o o

Modos de transferencia El uso de distintos modos de transferencia nos da la capacidad de crear un canal de comunicaciones de dos sentidos entre el ordenador y el periférico conectado. Como sólo hay un juego de líneas de datos la comunicación es Half Duplex, o sea, no se puede transmitir y recibir simultáneamente, sino que se realiza una operación cada vez. Los modos de operación Estándar y Nibble se pueden establecer en cualquier puerto paralelo existente para crear una comunicación bidireccional completa entre el PC y el periférico. El modo Byte se puede utilizar también para crear una comunicación bidireccional, pero el puerto paralelo debe soportar la capacidad de trabajo de dicho modo. El modo Byte requiere que un byte entero de datos se pueda leer en las líneas de datos externas. Esto se implementa generalmente con la adición de un bit de dirección (o sentido de la comunicación) en el registro de control del puerto paralelo. Este tipo de puerto generalmente se llama un puerto paralelo "bidireccional". Los modos EPP y ECP tienen capacidad bidireccional como parte de su protocolo. Estos modos requieren que el hardware sea capaz de generar automáticamente los pulsos de control que son necesarios para estos modos de transferencia de datos de alto rendimiento. Cada uno de los modos de funcionamiento, con excepción del estándar, renombra las señales de control y de estado para adaptarlas al modo que se está utilizando.

Introducción al estándar IEEE 1284-1994 Este estándar define 5 modos de transferencia de datos. Cada uno establece un método de pasar datos entre el PC y el periférico (directa) y entre el periférico y el PC (inversa); o de manera bidireccional (half duplex). Los modos definidos son: 

Sólo en sentido directo: o Modo Estándar (o “Centronics”)



Modo de dirección inversa: o Modo Nibble: 4 bits a la vez usando las líneas de estado (Status) para datos (Hewlett Packard Bi-tronics)



Modo Byte: 8 bits a la vez usando las líneas de datos, a veces nombrado como puerto bidireccional



Bidireccional: o EPP (Enhanced Parallel Port): Puerto Paralelo Mejorado, usado principalmente para periféricos que no son impresoras, como CD-ROM, Adaptadores de Red, etc. o

ECP (Extended Capabilities Port): Puerto principalmente por impresoras y escáneres.

de

Capacidades

Extendidas,

usado

Todos los puertos paralelos pueden implementar un enlace bidireccional usando el modo Nibble para transferir datos. El Modo Byte lo puede usar gran parte de los puertos básicos instalados; y ambos modos transmiten los datos controlados por software. El manejador tiene que escribir los datos, revisar

-5-

PUERTO PARALELO

las líneas que establecen la conexión (handshake), por ejemplo que no haya una señal de ocupado, determinar las señales apropiadas de control, y entonces ir al siguiente byte. Esto requiere mucha dedicación y limita la efectividad de la tasa de transferencia de 50 a 100 Kbytes por segundo. Además de los 3 primeros modos, prácticamente la totalidad de los fabricantes han implementado los modos EPP y ECP en sus dispositivos o periféricos de puerto paralelo. Estos modos usan un control por hardware para llevar a cabo la transferencia de datos. Por ejemplo, en el modo EPP, un byte de datos se puede transmitir a un periférico con una simple instrucción de salida. El controlador maneja todo el establecimiento de conexión y la transferencia de datos al periférico.

Control de flujo en una transmisión estándar Para la transmisión de un byte por el puerto paralelo intervienen, además de las ocho líneas para datos, otras dos de control de flujo. Cuando el PC tiene un byte preparado para impresora (o el dispositivo que se esté utilizando), presenta dicho byte en los pines correspondientes del puerto y a continuación envía un pulso por la señal STROBE para indicar a la impresora que hay un dato disponible para ser leído. La impresora lee el byte y devuelve un pulso por la señal ACK a modo de confirmación de lectura, repitiéndose este proceso para cada byte transmitido. Si una vez puesto el dato y enviado el pulso de Strobe la impresora no contesta al cabo de un tiempo determinado (normalmente dos segundos), el ordenador presentará un mensaje de error de ‘timeout’. A continuación se ilustra este proceso con un diagrama de tiempos:

-6-