• No se han encontrado resultados

Tipos de puerto paralelo

N/A
N/A
Protected

Academic year: 2018

Share "Tipos de puerto paralelo"

Copied!
12
0
0

Texto completo

(1)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 1 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

Conceptos básicos

Existen dos métodos básicos para transmisión de datos en las computadoras modernas. En un esquema de transmisión de datos en serie un dispositivo envía datos a otro a razón de un bit a la vez a través de un cable.

Por otro lado, en un esquema de transmisión de datos en paralelo un dispositivo envía

datos a otro a una tasa de n número de bits a través de n número de cables a un

tiempo.

Sería fácil pensar que un sistema en paralelo es n veces más rápido que un sistema en serie, sin embargo esto no se cumple, básicamente el impedimento principal es el tipo de cable que se utiliza para interconectar los equipos. Si bien un sistema de comunicación en paralelo puede utilizar cualquier número de cables para transmitir datos, la mayoría de los sistemas paralelos utilizan ocho líneas de datos para transmitir un byte a la vez, como en todo, existen excepciones, por ejemplo el estándar SCSI permite transferencia de datos en esquemas que van desde los ocho bits y hasta los treinta y dos bits en paralelo.

Nos concentraremos en transferencias de ocho bits ya que ésta es la configuración del puerto paralelo de una PC.

Un típico sistema de comunicación en paralelo puede ser de una dirección (unidireccional) o de dos direcciones (bidireccional).

El más simple mecanismo utilizado en un puerto paralelo de una PC es de tipo unidireccional y es el que analizaremos en primer lugar.

Distinguimos dos elementos: la parte transmisora y la parte receptora.

La parte transmisora coloca la información en las líneas de datos e informa a la parte receptora que la información (los datos) está disponible; entonces la parte receptora lee la información en las líneas de datos e informa a la parte transmisora que ha tomado la información (los datos). Observe que ambas partes sincronizan su respectivo acceso a las líneas de datos, la parte receptora no leerá las líneas de datos hasta que la parte transmisora se lo indique en tanto que la parte transmisora no colocará nueva información en las líneas de datos hasta que la parte receptora remueva la información y le indique a la parte transmisora que ya ha tomado los datos, a ésta coordinación de operaciones se le llama acuerdo ó entendimiento ó handshaking, que en español es el acto con el cual dos partes manifiestan estar de acuerdo, es decir, se dan un apretón de manos.

Tipos de puerto paralelo

En la actualidad se conoce cuatro tipos de puerto paralelo:

o Puerto paralelo estándar (Standart Parallel Port SPP)

o Puerto Paralelo PS/2 (bidireccional)

o Enhanced Parallel Port (EPP)

o Extended Capability Port (ECP)

(2)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 2 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

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 Kbyte/seg. 150 Kbytes/seg. 2 Mbytes/seg. 2 Mbytes/seg.

Descripción del puerto paralelo

Descripción general

Inicialmente se colocó al puerto paralelo en la tarjeta del "Adaptador de impresora de IBM", o también con la tarjeta del "monitor monocromático y adaptador de impresora de IBM".

Con la llegada de clones al mercado, se crea un controlador de múltiples entradas y salidas (Multi I/O) donde se instalan controladores de discos, puertos serie, puerto de juegos y el puerto paralelo.

En la actualidad (1999) el puerto paralelo se incluye comúnmente incluido en la placa madre de la computadora (MotherBoard). No obstante, la conexión del puerto con el mundo externo no ha sufrido modificaciones. Este puerto utiliza un conector hembra DB25 en la computadora y un conector especial macho llamado Centronic que tiene 36 pines.

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 tierra y no se conectan con el DB25.

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

o 4 Líneas de control

o 5 Líneas de estado

o 8 Líneas de datos

En el diseño original las líneas de control son usadas para la interface, control e intercambio de mensajes desde el PC a la impresora.

Las líneas de estado son usadas para intercambio de mensajes, 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 nuevas 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.

(3)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 3 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

tiene implementadas cinco posiciones S3 a S7, esta última con estado lógico invertido (cuando no presenta voltaje el estado

del bit es uno, mientras que cuando presenta voltaje el estado del bit es cero) y que las posiciones inferiores S0, S1 y S2 no tienen función alguna. Por último, el bus de control dispone de cuatro señales implementadas, en este caso las mas bajas C0 a C3 de las cuales sólo C2 está en estado lógico normal. Las tres restantes (C0, C1 y C3) presentan estados lógicos invertidos, lo que implica que si se pone a uno el bit correspondiente a C0 el terminal no presentará tensión alguna, mientras que si se pone el bit a cero el terminal presentará tensión.

En el gráfico de arriba los terminales 2 al 9 (simbolizados por el color verde) representan el canal de datos. Los azules el de control y los rojos el de estados.

Para detectar si un puerto es bi-direccional o no hay una prueba infalible y extremadamente simple: Enviar a la dirección base del puerto paralelo el dato 255. Esto hace que todos los terminales del canal de datos sea energizados. Seguidamente habrá que llevar a masa el terminal 9 del conector por medio de una resistencia de 4.7K. Dejando la resistencia en ese lugar leer el dato presente en el puerto. Si la lectura entrega 255 quiere decir que el puerto es unidireccional, en cambio, si la lectura entrega 127 es señal que el puerto es bi-direccional.

En los puertos modernos es posible efectuar esta prueba sin la resistencia limitadora de corriente, pero en los antiguos esto puede causar daños a la electrónica de la placa de expansión.

En las placas de vídeo MGP, HGC ó Hércules el puerto paralelo es unidireccional. En la mayoría de las placas multifunción (muy famosas en la época del 386) también predominaban los puertos unidireccionales. En cambio, en la mayoría de los mainbord's modernos que incluyen de base el puerto, éste es bi-direccional y se puede seleccionar si se quiere uni-direcional, bi-direccional, EPP ó ECP; todo esto con cómodos menús desde la utilidad de configuración de la BIOS.

La dirección del puerto paralelo depende en gran medida de donde está alojado. En las placas de vídeo hércules el puerto disponible venía configurado con la dirección 3BC y no era posible asignar otra. En las placas multifunción el puerto comenzó a venir en la dirección 378 y se podía seleccionar como dirección alternativa la 278. En las placas de expansión cuya única misión es agregar puertos paralelos la dirección es seleccionable entre 378, 278 y 3BC. En las placas bases con el puerto incluido de fábrica las direcciones posibles son 378 y 278. Algunos sistemas operativos alternativos presentan dificultades cuando un puerto paralelo es bi-direccional y, a su vez, se encuentra en la posición de memoria 3BC. Por ello, las placas base y las placas de expansión de puertos paralelos bi-direccionales omiten la posibilidad de asignar esa dirección.

A continuación utilizaremos como ejemplo el puerto direccionado en 378, dado que en la mayoría de los casos está allí.

(4)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 4 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

Descripción del conector DB25 del PC y el conector DB25 del Centronic

Conector DB25 / Asignación de pines

Los registros del puerto paralelo

Cada registro del puerto paralelo es accesado mediante una dirección. El puerto paralelo tiene tres registros:

o Registro de datos

o Registro de estado

o Registro de control

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

Tabla general del puerto paralelo

DB25 Señal Registro Tipo Activo Sentido 1 Control 0 C0- Salida Bajo Invertido

2 Dato 0 D0 Salida Alto directo

3 Dato 1 D1 Salida Alto directo

4 Dato 2 D2 Salida Alto directo

(5)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 5 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

6 Dato 4 D4 Salida Alto directo

7 Dato 5 D5 Salida Alto directo

8 Dato 6 D6 Salida Alto directo

9 Dato 7 D7 Salida Alto directo

10 Estado 6 S6+ Entrada Alto directo 11 Estado 7 S7- Entrada Bajo Invertido 12 Estado 5 S5+ Entrada Alto directo 13 Estado 4 S4+ Entrada Alto directo 14 Control 1 C1- Salida Bajo Invertido 15 Estado 3 S3+ Entrada Alto directo 16 Control 2 C2+ Salida Alto directo 17 Control 3 C3- Salida Bajo Invertido 18-25 Tierra

Notas:

Un dato en alto es un 1, un dato en bajo es un 0

La entrada y salida son desde el punto de vista del PC

Explicación del funcionamiento mediante el BIOS y el 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.

El BIOS (Basic Input Output System) de IBM crea en el momento de arranque o POST (Power On Seft Test) una tabla en el espacio de la memoria principal (RAM) para 4 direcciones base de puerto paralelo de impresora, estos se almacenan como 4 bytes empezando con la dirección de memoria 408h. Durante el arranque, el BIOS comprueba si hay puertos paralelos en las direcciones base 3BCh, 378h, y 278h, en ese orden, y

almacena la dirección base de cualesquiera que hayan sido encontrados en posiciones consecutivas de la tabla. Las posiciones que no son usadas pueden estar en 0, o como algunos BIOS lo hacen, le colocan la dirección del primer puerto encontrado.

Algunos programas pueden ignorar esta tabla, pero esta es usada por lo menos por el propio BIOS (mediante la INT 17 de E/S de impresora) y por el MS-DOS.

El BIOS detecta estos puertos escribiendo AAh al registro de datos (en la dirección de E/S Base + 0), y luego si en el registro de datos se lee AAh. Significa que hay un puerto.

Normalmente la asignación de direcciones es como sigue:

Dirección Nombre Ubicación

3BCh LPT1 Adaptador de impresión primario 378h LPT2 Adaptador de impresión secundario

(6)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 6 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

o Base (datos)=base+0

o Estado=base+1

o 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 Base (datos)=378h

o Estado=379h

o Control=37Ah

Cada una de ellas permite accesar a los siguientes bits (descritos en la tabla general):

o Base (datos)=D0, D1, D2, D3, D4, D5, D6, D7

o Estado=S3, S4, S5, S6, S7

o Control=C0, C1, C2, C3

Programación y acceso apuertos

Detecciónde la dirección base del puerto paralelo

Primeramente se debe tener algún procedimiento para poder determinar cuál es la dirección base del puerto.

Como se dijo anteriormente, el puerto paralelo tiene su dirección base en dos direcciones consecutivas de memoria. Entonces se debe leer el contenido de estas direcciones de memoria, a fin de determinar si existe un puerto y cuál es su dirección.

Una PC soporta hasta tres puertos paralelo separados, por tanto puede haber hasta tres juegos de registros en un sistema en un momento dado. Existen tres direcciones base para el puerto paralelo asociadas con tres posibles puertos paralelo: 0x3BCh, 0x378h y 0x278h, nos referimos a éstas como las direcciones base para el puerto LPT1, LPT2 y LPT3, respectivamente. El registro de datos se localiza siempre en la dirección base de un puerto paralelo, el registro de estado aparece en la dirección base + 1, y el registro de control aparece en la dirección base + 2. Por ejemplo, para un puerto LPT2 localizado en 0x378h, ésta es la dirección del registro de datos, al registro de estado le corresponde la dirección 0x379h y su respectivo registro de control está en la dirección 0x37Ah. Cuando la PC se enciende el BIOS ejecuta una rutina para determinar el número de puertos presentes en el sistema asignando la etiqueta LPT1 al primer puerto localizado, si existen más puertos entonces se asignarán consecutivamente las etiquetas LPT2 y LPT3 de acuerdo a la siguiente tabla:

Dirección inicial Función

0000:0408 Dirección base para LPT1 0000:040A Dirección base para LPT2 0000:040C Dirección base para LPT3 0000:040E Dirección base para LPT4

(7)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 7 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

Para trabajar con el puerto paralelo necesitamos en primer lugar conocer la dirección base asignada por el BIOS (estamos hablando de una PC compatible con IBM), podemos utilizar un programa llamado Debug.exe que nos indique la(s) dirección(es) asignada(s): en la plataforma Windows vamos al menú inicio, seleccionamos programas y luego MS-DOS para abrir una ventana de Símbolo de MS-MS-DOS y aquí podemos introducir los comandos indicados más abajo. Si se trabaja en ambiente DOS basta con teclear en la línea de comandos la palabra debug, el programa responde colocando un signo de menos - en donde tecleamos sin dejar espacios en blanco d040:08L8 y presionamos la tecla entrar, entonces el programa debug.exe nos indica en una serie de números la(s) dirección(es) para el (los) puerto(s) paralelo(s) disponibles en nuestro sistema, la siguiente imagen muestra el resultado obtenido en mi máquina:

Se puede observar una serie de números de dos dígitos (ocho en total), se trata del volcado de memoria que empieza en la dirección 40:0008h. Los primeros seis pares de números representn las direcciones base para los puertos paralelo instalados, en la imagen de arriba se aprecia que el único puerto paralelo de mi máquina está en la dirección 0x378h (78 03). Los números están invertidos porque Intel almacena tal información en un formato de "byte de bajo orden - byte de alto orden". Una vez que obtenemos la información deseada cerramos el programa Debug.exe simplemente tecleando la letra q y presionando la tecla entrar. Para cerrar la ventana de Símbolo de MS-DOS tecleamos la palabra exit y presionamos la tecla entrar.

La dirección del puerto se encuentra en forma invertida (78 03), entonces la dirección es:

0378 en hexadecimal. Esta dirección puede ser diferente en otros PC.

(8)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 8 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

Envio y lectura de datos del puerto

Envío de datos al puerto

El puerto paralelo puede ser usado como una comunicación directa con el PC, de este modo es posible desarrollar aplicaciones en tiempo-real que necesiten un rápido tiempo de respuesta.

El acceso se realiza escribiendo un byte (8 bits) en registro determinado. Este byte debe referirse a cada uno de los bits del registro. Esto significa que se debe definir el byte a escribir en sistema binario.

Por ejemplo si queremos escribir en el registro de datos el bit D0 y el bit D2 entonces el byte es:

0 0 0 0 0 1 0 1 = 5 En decimal D7 D6 D5 D4 D3 D2 D1 D0 Registro de datos

Luego, se debe escribir 5 en el registro de datos (dirección base):

Lectura de datos del puerto

La lectura de datos se realiza accesando un byte del registro determinado. Al hacer la lectura se debe convertir el byte a binario para determinar él o los bits que interesen. Note que sólo se debe leer el registro de estado, o sea, la dirección base+1.

Por ejemplo, si el dato leído es igual a 96, significa que los bits S5 y S6 están activos(tienen un nivel alto, un 1).

0 1 1 0 0 0 0 0 = 96 En decimal S7 S6 S5 S4 S3 S2 S1 S0 Registro de estado

Enmascaramiento

Tanto en el envío como recepción de datos binarios, se realizan operaciones a nivel de bits. Estas operaciones permiten aislar uno más bits. Este proceso se denomina enmascaramiento.

Por ejemplo, para saber si determinado bit que se ha leído del registro de estado está en un nivel alto (1 lógico) se puede hacer la operación "Y" lógica (AND) de la lectura con un valor que resulta de elevar 2 a la posición que ocupa ese bit en el byte, y luego realizar la comparación.

Si el bit que se desea conocer es el bit 5, entonces la operación es:

Masc:=2^5=32

(9)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 9 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

En el caso que el bit 5 esté en un nivel alto:

Byte_leido

0 1 1 0 0 0 0 0 96

S7 S6 S5 S4 S3 S2 S1 S0 Posición

AND

0 0 1 0 0 0 0 0 Máscara = 32

Resulta

0 0 1 0 0 0 0 0 32= máscara

En el caso que el bit 5 no esté en un nivel alto:

Byte_leido

0 1 0 1 0 0 0 0 80

S7 S6 S5 S4 S3 S2 S1 S0 Posición

AND

0 0 1 0 0 0 0 0 Máscara = 32

Resulta

0 0 0 0 0 0 0 0 0 <> máscara

Si el bit 5 es 1, entonces el resultado es 16, o igual a masc.

Haciendo la comparación:

(10)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 10 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

Descripción de los componentes

El puerto paralelo originalmente estaba formado por los siguientes componentes:

o 1 Latch para manejar el registro de datos

o 1 Buffer para controlar la retroalimentación del registro de datos

o 1 Buffer para manejar el registro de estado

o 1 Latch para manejar el registro de control

o 1 Buffer para controlar la retroalimentación del registro de control

o 1 Multiplexor para direccionar los puertos en el bus ISA

(11)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 11 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

Bit Function

7:5 Selects Current Mode of Operation

000 Standard Mode 001 Byte Mode

010 Parallel Port FIFO Mode 011 ECP FIFO Mode

100 EPP Mode 101 Reserved 110 FIFO Test Mode 111 Configuration Mode 4 ECP Interrupt Bit

3 DMA Enable Bit 2 ECP Service Bit 1 FIFO Full 0 FIFO Empty

(12)

HERRAMIENTAS INFORMATICAS 4º Año E.E.T. Nº 8013 “SAN JOSE” Página 12 de12

P

rofe

so

r Carl

o

s

I.

V

o

les

Patita E/S Polaridad activa Descripción

1 Salida 0 Strobe

2 ~ 9 Salida - Líneas de datos

(bit 0/patita 2, bit 7/patita 9)

10 Entrada 0 (activa cuando el sistema remoto toma datos)Línea acknowledge

11 Entrada 0 Línea busy

(si está activa, el sistema remoto no acepta datos)

12 Entrada 1 Línea Falta de papel

(si está activa, falta papel en la impresora)

13 Entrada 1 Línea Select

(si está activa, la impresora se ha seleccionado)

14 Salida 0 (si está activa, la impresora inserta una nueva Línea Autofeed línea por cada retorno de carro)

15 Entrada 0 (si está activa, hay un error en la impresora)Línea Error

16 Salida 0

Línea Init

(Si se mantiene activa por al menos 50 micro-segundos, ésta señal

autoinicializa la impresora)

17 Salida 0 (Cuando está inactiva, obliga a la Línea Select input impresora a salir de línea)

Figure

Tabla general del puerto paralelo
Table 7 - Extended Control Register (ECR)

Referencias

Documento similar

•cero que suplo con arreglo á lo que dice el autor en el Prólogo de su obra impresa: «Ya estaba estendida esta Noticia, año de 1750; y pareció forzo- so detener su impresión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Esta dirección corresponde al registro CKCR1 mediante el cual se configura el control de la señal de reloj para el funcionamiento del DSP.. Esta dirección corresponde al

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

Proporcione esta nota de seguridad y las copias de la versión para pacientes junto con el documento Preguntas frecuentes sobre contraindicaciones y