PDF de programación - El Puerto Paralelo

Imágen de pdf El Puerto Paralelo

El Puerto Paralelográfica de visualizaciones

Publicado el 6 de Abril del 2017
3.811 visualizaciones desde el 6 de Abril del 2017
306,4 KB
6 paginas
Creado hace 15a (12/07/2008)
El Puerto Paralelo                      Prof: Mileti, P.

Introducción

Hace   años,   IBM   diseñó   el   puerto   paralelo   para   manejar   impresoras   desde   su   gama   de 
microcomputadores PC/XT/AT. Un conector estándar macho de 25 pines aparecía en la parte 
trasera del PC con el solo propósito de servir de interfaz con la impresora. El sistema operativo 
DOS cargado en dichos PC soporta hasta tres puertos paralelos asignados a los identificadores 
LPT1, LPT2 y LPT3, y cada puerto requiere tres direcciones consecutivas del espacio de E/S 
(entrada­salida) del procesador para seleccionar todas sus posibilidades.

Desde el punto de vista del  hardware, el puerto consta de un  conector  hembra DB25 con doce 
salidas latch (poseen memoria/buffer intermedio) y cinco entradas, con ocho líneas de tierra.

Desde el punto de vista del software, el puerto paralelo consta de tres registros (datos, estado y 
control)   de   8   bits   cada   uno,   que   ocupan   tres   direcciones   de   E/S   (I/O)   consecutivas   de   la 
arquitectura x86.

La función normal del puerto consiste en transferir datos a una impresora mediante 8 líneas de 
salida de datos, usando las señales restantes como control de flujo. Sin embrago, puede ser usado 
como un puerto E/S de propósito general por cualquier dispositivo o aplicación que se ajuste a sus 
posibilidades de entrada/salida.

Descripción del conector físico

La conexión del puerto paralelo al mundo exterior se realiza mediante un conector hembra DB25. 
Observando el conector de frente y con la parte que tiene mayor número de pines hacia arriba, se 
numera de derecha a izquierda y de arriba a abajo, del 1 al 13 (arriba) y del 14 al 25 (abajo).

En este conector:









8   líneas   (pines)  son   para   salida   de   datos   (bits   de  DATOS).   Sus   valores   son   únicamente 
modificables a través de software, y van del pin 2 (dato 0, D0) al pin 9 (dato 7, D7).
5 líneas  son de entrada de datos (bits de  ESTADO), únicamente modificables a través del 
hardware externo. Estos pines son: 11, 10, 12, 13 y 15, del más al menos significativo.
4 líneas son de control (bits de CONTROL), numerados del más significativo al menos: 17, 16, 
14 y 1. Habitualmente son salidas, aunque se pueden utilizar también como  entradas  y, por 
tanto, se pueden modificar tanto por software como por hardware.
las líneas de la 18 a la 25 son la tierra.

En la siguiente tabla se detallan la nomenclatura y descripción de cada línea. La columna E/S se 
refiere al dato visto desde el lado del PC.

PIN Señal
1
2
3
4
5
6
7
8
9

nSTROBE
D0
D1
D2
D3
D4
D5
D6
D7

10

11
12
13
14
15
16
17

nACK

BUSY
PAPEREND
SELECTEDIN
nAUTOFEED
nERROR
nINIT
nSELECT

18-25 GND

E/S
S
S
S
S
S
S
S
S
S

E

E
E
E
S
E
S
S

Descripción

Si está bajo más de 0.5 µs, habilita a la impresora para que reciba los datos enviados.
Bit 0 de datos, bit menos significativo (LSB)
Bit 1 de datos
Bit 2 de datos
Bit 3 de datos
Bit 4 de datos
Bit 5 de datos
Bit 6 de datos
Bit 7 de datos
Un pulso bajo de ~11µs indica que se han recibido datos en la impresora y que la misma está
preparada para recibir más datos.
En alto indica que la impresora está ocupada.
En alto indica que no hay papel.
En alto para impresora seleccionada.
Si está bajo, el papel se mueve una línea tras la impresión.
En bajo indica error (no hay papel, está fuera de línea, error no detectado).
Si se envía un pulso en bajo > 50 µs la impresora se reinicia.
En bajo selecciona impresora (en general. no se usa, ya que SelectIn se fija a alto).
Masa lógica - Masa chasis

El   nombre   de   cada   señal   corresponde   a   la   misión   que   cumple   cada   línea   con   relación   a   la 
impresora, el periférico para el que fue diseñado el puerto paralelo. Las señales activas a nivel bajo 
aparecen con un n (negado) antecediendo el nombre (por ejemplo, nStrobe). Cuando se indica alto 
o bajo se refiere a la tensión en el pin del conector. Alto equivale a ~5V en TTL y bajo a ~0V en 
TTL.

Acceso al puerto

El puerto paralelo se identifica por su dirección de E/S (entrada/salida, I/O) base y se reconoce en 
sistemas MS­DOS por el número LPT (lp en Unix/Linux). Cuando arranca la máquina, la  BIOS 
(Basic Input Output System) chequea direcciones específicas de E/S en busca de puertos paralelos 
y construye una tabla de las direcciones halladas en la posición de memoria 40h:8h (o 0h:0408h).

Las direcciones base estándar para los puertos paralelos son:





03BCh
0378h
0278h

Registros

El puerto paralelo estándar (SPP) consta de tres registros de 8 bits localizados en direcciones 
adyacentes del espacio de E/S del PC. Los registros se definen relativos a la dirección de E/S base 
(LPT_BASE) y son:





LPT_BASE + 0: registro de DATOS
LPT_BASE + 1: registro de ESTADO
LPT_BASE + 2: registro de CONTROL

Direcciones E/S

Puerto
Puerto
Puerto

DATOS
378h
278h
3BCh

REGISTROS
ESTADO

379h
279h
3BDh

CONTROL

37Ah
27Ah
3BEh

Nombre habitual

LPT1
LPT2
LPT3

Se hará referencia a cada bit de los registros como una inicial que identifica el registro seguido de 
un número que identifica el número de bit, siendo 0 el LSB (bit menos significativo) y 7 el MSB (bit 
más significativo). Por ejemplo, D0 es el bit 0 del registro de datos, S7 es el bit 7 del registro de 
estado y C2 es el bit 2 del registro de control.

Se indican con una barra de negación los bits que utilizan lógica negativa. En lógica positiva un 1 
lógico equivale a alto (~5 V TTL) y un 0 lógico a bajo (~0 V TTL). En lógica negativa 1 equivale a 
bajo (~0 V) y 0 equivale a alto (~5 V).

Es preciso no confundir la lógica que sigue el puerto con la lógica que mantiene la impresora. Por 
ejemplo, la impresora pone a alto (5 volt)  Busy  (pin 11) para indicar que está ocupada. Pero en 
realidad, al leer el registro de estado,  Busy  la interpretamos como 0 (puesto que el pin 11 se 
corresponde con S7, que trabaja con lógica negativa). Es decir, es como si se activara esa función 
cuando se lee una señal baja (en este caso mediante el ingreso de 5 volt).

 Registro de Datos (D)

El registro de datos se halla en LPT_BASE. Se puede leer y escribir. Escribir un dato en el registro 
causa que dicho dato aparezca en los pines 2 a 9 del conector del puerto. Al leer el registro, se lee 
el último dato escrito (NO lee el estado de los pines; para ello hay que usar un puerto 
bidireccional). 

El estándar es que las salidas sean LS TTL (low schottky TTL), aunque las hay que son de tipo OC 
(colector abierto). La corriente que pueden entregar (modo source) es de 2,6 mA máximo y pueden 
absorber (modo sink) un máximo de 24 mA. En el puerto original de IBM hay condensadores de 2,2 
nF a masa. Las tensiones para el nivel bajo son entre 0 y 0,8V y el nivel alto entre 2,4V y 5V.

Registro de estado (S)

El registro de estado está en LPT_BASE+1. Es de sólo lectura (las escrituras serán ignoradas). La 
lectura da el estado de los cinco pines de entrada al momento de la lectura.

En la tabla siguiente los nombres de los pines se dejaron en inglés porque es como generalmente 
se identifican.

 La línea  Busy  tiene, generalmente, una resistencia de  pull­up  interna. El estándar es que sean 
entradas tipo LS TTL.

Registro de control (C)

El registro de control se encuentra en LPT_BASE+2. Es de lectura/escritura.

Los cuatro bits inferiores son salidas. La lectura devuelve lo último que se escribió a dichos bits. 
Son TTL a colector abierto con resistencias de pull­up de 4.7 k ,  por lo que un dispositivo externo
 
puede forzar el estado de los pines sin dañar el  driver.  Esto permite utilizar estas cuatro líneas 
como entradas. Para ello, se ponen en alto las cuatro salidas (escribiendo 0100b, es decir, 4h, en 
LPT_BASE+2) lo que hace que las salidas "floten". Ahora, un dispositivo externo puede forzar a 
bajo alguna de las salidas con lo que, leyendo el puerto, sabemos si esto sucedió o no.



Es posible realizar esta técnica en salidas totem­pole (como D0­D7) pero no se recomienda su uso 
porque habría que tener un conocimiento preciso de la corriente, ya que se puede sobrecargar los 
transistores de salida y dañar el driver (especialmente en puertos integrados LSI).

Bit de puerto bidireccional (compatible PS/2)

El bit C5, está disponible sólo si se trata de un puerto bidireccional. En los puertos comunes no se 
utiliza, al igual que los bits C6 y C7. Si C5=1, el buffer de los datos de salida se pone en alta 
impedancia, "desconectando" dicho buffer de los pines 2 a 9 del conector del puerto (D0 a D7). Si 
se escribe al registro de datos, se escribe al buffer pero no a la salida. Esto permite que al leer el 
puerto, se lea el estado de las entradas y no lo que hay en buffer. Cuando C5=0 el puerto retorna al 
modo salida, su estado por defecto. 

En las computadoras IBM PS/2, para habilitar el puerto paralelo bidireccional, además de lo antes 
descrito, se debe poner a 1 el bit 7 del registro del puerto 102h (opciones de configuración).

En computadoras que no tengan puerto paralelo bidireccional compatible PS/2 hay que modificar 
uno o más bits de algún puerto específico correspondiente al chipset de la placa. A veces se 
habilita por el Setup o por jumper en la placa del puerto.
  • Links de descarga
http://lwp-l.com/pdf2665

Comentarios de: El Puerto Paralelo (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad