Title: EL PUERTO PARALELO DE LA IBM PC
1EL PUERTO PARALELO DE LA IBM PC
El puerto de impresora
Arquitectura de Computadoras II
ITSLP
M.I. Carlos E. Canto Quintal
2Mapa de puertos de Entrada y Salida en la IBM PC
El puerto de impresora
Arquitectura de Computadoras II
FFFFh
La IBM PC utiliza las primeras 1024 direcciones
del espacio de puertos para el sistema . Estas
direcciones están entre 0000 y 03FFh
64512
Direcciones no usadas por la PC
Disponibles en los slots de expansión
3FFh
512
Puertos usados por la PC
1F1h
512
000
Usados en la lógica de la tarjeta madre
ITSLP
M.I. Carlos E. Canto Quintal
3Mapa de puertos de Entrada/Salida de una IBM PC
El puerto de impresora
Arquitectura de Computadoras II
ITSLP
M.I. Carlos E. Canto Quintal
4El puerto de impresora
Arquitectura de Computadoras II
Mapa de puertos de Entrada/Salida de una IBM PC
ITSLP
M.I. Carlos E. Canto Quintal
5El puerto de la impresora
El puerto de impresora
Arquitectura de Computadoras II
- El puerto paralelo tiene una estructura muy
simple consta de tres registros - de Datos.
- de Control
- de Estado
- Todas las señales que intervienen en el puerto
tienen asociado un bit en uno de esos registros,
de acuerdo con las funciones asignadas a cada
línea en particular.
ITSLP
M.I. Carlos E. Canto Quintal
6El puerto de la impresora
El puerto de impresora
Arquitectura de Computadoras II
Distribución de las terminales del puerto de la
impresora en el conector estándar DB25-hembra
ITSLP
M.I. Carlos E. Canto Quintal
7El puerto de la impresora
El puerto de impresora
Arquitectura de Computadoras II
Distribución de las terminales del puerto de la
impresora en el conector estándar DB25-hembra
Puerto De la PC Conector DB25H
Impresora
Datos
BUSY
SEL
PE
ERROR
ITSLP
M.I. Carlos E. Canto Quintal
8El puerto de la impresora
El puerto de impresora
Arquitectura de Computadoras II
SECUENCIA DE SEÑALES DE CONTROL Y DE STATUS
PARA TRANMITIR DATOS A LA IMPRESORA
DATO
STROBE
BUSY
ACKNLG
ITSLP
M.I. Carlos E. Canto Quintal
9Configuración del puerto paralelo estándar
El puerto de impresora
Arquitectura de Computadoras II
Patita E/S Polaridad activa Descripción
1 Salida 0 Strobe
2 9 Salida - Líneas de datos
10 Entrada 0 Línea acknowledge
11 Entrada 0 Línea busy
12 Entrada 1 Línea Falta de papel(
13 Entrada 1 Línea Select
14 Salida 0 Línea Autofeed
15 Entrada 0 Línea Error
16 Salida 0 Línea Init
17 Salida 0 Línea Select input
18 25 - - Tierra eléctrica
ITSLP
M.I. Carlos E. Canto Quintal
10El Registro de datos
El puerto de impresora
Arquitectura de Computadoras II
Es de tipo latch de 8 bits, que puede ser leído y
escrito desde el procesador. Es el registro
donde el procesador, en operaciones de salida
(OUT), pone el dato que se quiere enviar a la
impresora y su dirección coincide con la
dirección base del puerto paralelo ( 0x 378 en
LPT 1 ).
ITSLP
M.I. Carlos E. Canto Quintal
11Registro de datos
El puerto de impresora
Arquitectura de Computadoras II
Dirección Nombre Lectura/Escritura Bit Propiedades
Base 0 Puerto de datos Escritura Bit 7 Dato 7
Base 0 Puerto de datos Escritura Bit 6 Dato 6
Base 0 Puerto de datos Escritura Bit 5 Dato 5
Base 0 Puerto de datos Escritura Bit 4 Dato 4
Base 0 Puerto de datos Escritura Bit 3 Dato 3
Base 0 Puerto de datos Escritura Bit 2 Dato 2
Base 0 Puerto de datos Escritura Bit 1 Dato 1
Base 0 Puerto de datos Escritura Bit 0 Dato 0
ITSLP
M.I. Carlos E. Canto Quintal
12El Registro de Estado (Status)
El puerto de impresora
Arquitectura de Computadoras II
El registro de estado indica la situación actual
de la impresora conectada al puerto, en especial
la ocurrencia de posibles errores, de acuerdo
con los niveles de tensión que tengan las líneas
ACK, BSY, PAP y OF/ON , lo que permite controlar
el comportamiento de la impresora. Se trata de un
registro de entrada (Lectura) de información, su
dirección se obtiene sumando 1 a la dirección
base del puerto (0x379 en LPT1).
S7
BUSY
11
ACK
S6
10
PE
S5
12
S4
13
SEL
S3
15
ERR
S2
S1
S0
CONECTOR DB25-H
Con las interrupciones habilitadas, una
transición en el pin 10 (ACK) dispara la
interrupción
ITSLP
M.I. Carlos E. Canto Quintal
13Registro de estado
El puerto de impresora
Arquitectura de Computadoras II
Dirección Nombre Lectura/Escritura Bit Propiedades
Base 1 Puerto de estado Sólo Lectura Bit 7 Busy
Base 1 Puerto de estado Sólo Lectura Bit 6 Acknowledge
Base 1 Puerto de estado Sólo Lectura Bit 5 Falta de papel
Base 1 Puerto de estado Sólo Lectura Bit 4 Select In
Base 1 Puerto de estado Sólo Lectura Bit 3 Error
Base 1 Puerto de estado Sólo Lectura Bit 2 IRQ (Not)
Base 1 Puerto de estado Sólo Lectura Bit 1 Reservado
Base 1 Puerto de estado Sólo Lectura Bit 0 Reservado
ITSLP
M.I. Carlos E. Canto Quintal
14Registro de Control
El puerto de impresora
Arquitectura de Computadoras II
permite inicializar el puerto y controlar la
transferencia. 4 líneas bidireccionales
Permite puerto bidireccional
SELECT IN
17
INIT
16
AUTOLF
14
Permite IRQ a través de ACK
1
STROBE
ITSLP
M.I. Carlos E. Canto Quintal
15Registro de control
El puerto de impresora
Arquitectura de Computadoras II
Dirección Nombre Lectura/Escritura Bit Propiedades
Base 2 Puerto de control Lectura/Escritura Bit 7 No usado
Base 2 Puerto de control Lectura/Escritura Bit 6 No usado
Base 2 Puerto de control Lectura/Escritura Bit 5 Permite puertobidireccional
Base 2 Puerto de control Lectura/Escritura Bit 4 Permite IRQ através de lalínea acknowledge
Base 2 Puerto de control Lectura/Escritura Bit 3 Seleccionaimpresora
Base 2 Puerto de control Lectura/Escritura Bit 2 Inicializaimpresora
Base 2 Puerto de control Lectura/Escritura Bit 1 Nueva líneaautomática
Base 2 Puerto de control Lectura/Escritura Bit 0 Strobe
ITSLP
M.I. Carlos E. Canto Quintal
16Direcciones de los registros
El puerto de impresora
Arquitectura de Computadoras II
- La dirección del registro de salida de los
puertos 0, 1 y 2, denominadas dirección-base del
adaptador, están contenidas respectivamente en
las direcciones 00408, 0040A y 0040C de la
memoria de datos de la ROM BIOS. - Estas direcciones de base son inicializadas a
cero si no existe el adaptador correspondiente.
Puerto R. de salida R. de estado R. de control IRQ
LPT1 378 379 37A 7
LPT2 278 279 27A 5
LPT3 3BC 3BD 3BE 7
las direcciones e interrupción usadas por cada
puerto, aunque esta asignación no es siempre
consistente, y debería ser investigada.
ITSLP
M.I. Carlos E. Canto Quintal
17Variables del BIOS para el puerto paralelo
El puerto de impresora
Arquitectura de Computadoras II
ITSLP
M.I. Carlos E. Canto Quintal
18Servicios BIOS de puerto paralelo
El puerto de impresora
Arquitectura de Computadoras II
- Los servicios BIOS relacionados con el puerto
paralelo, denominados servicios de impresora, se
gestionan mediante el vector de interrupción 23
(17h) este servicio tiene 3 subservicios
numerados del 0 al 2, que se solicitan a través
del registro AH, mientras que el número de puerto
debe indicarse en el registro DX. - Subservicio 0 Envía un byte a la impresora
- Subservicio 1 Inicializar el puerto paralelo
- Subservicio 2 Leer el registro de estado del
puerto
ITSLP
M.I. Carlos E. Canto Quintal
19Puerto paralelo estándar
El puerto de impresora
Arquitectura de Computadoras II
- Los diseñadores de la PC no pensaron en la
posibilidad de utilizar los puertos paralelo para
recibir datos (no existe un subservicio BIOS para
leer en el puerto paralelo) eran solo de
salida. Este puerto original es denominado SPP
("Standard Parallel Port"), y su modo de
operación modo compatible. - Aunque originalmente no estaban preparados para
recibir datos, mediante ciertos artificios se
consiguió que los puertos SPP también pudieran
recibir datos, un nibble (4 bits) cada vez. Este
tipo de operación, 8 bits de salida y 4 de
entrada se denomina modo nibble. - Nota Los puertos actuales de características
mejoradas tienen también los modos compatible y
nibble para compatibildad con el software
anterior.
ITSLP
M.I. Carlos E. Canto Quintal
20Usando el Debug para determinar la dirección base
del puerto (s) de impresora presente(s) en el
sistema
El puerto de impresora
Arquitectura de Computadoras II
- Para trabajar con el puerto paralelo necesitamos
en primer lugar conocer la dirección base
asignada por el BIOS, podemos utilizar el Debug ,
en donde tecleamos sin dejar espacios en blanco
D04008L8 y presionamos la tecla entrar, entonces
nos indica en una serie de números la(s)
dirección(es) para el (los) puerto(s) paralelo(s)
disponibles en nuestro sistema.
Dirección base del puerto de impresora presente
en la PC0378h
ITSLP
M.I. Carlos E. Canto Quintal
21Acceso restringido a puertos
El puerto de impresora
Arquitectura de Computadoras II
- Problema Los sistemas operativos Windows 2000 y
XP no permiten que las aplicaciones accesen
directamente el puerto paralero, i.e.
instrucciones OUT, IN - Solución Afortunadamente es posible bajar de
Internet un driver que permite programar el
puerto paralelo como sigue - 1. Consulte Driver, baje y descomprima el archivo
ZIP - 2. Copie el archivo userport.sys al directorio
C\WINDOWS\SYSTEM32\DRIVERS - 3. Ejecute el programa userport.exe (acepte los
defaults) - 4. Ejecute sus programas de ensamblador
ITSLP
M.I. Carlos E. Canto Quintal
22El puerto de impresora
Arquitectura de Computadoras II
ITSLP
M.I. Carlos E. Canto Quintal
23El puerto de impresora
Arquitectura de Computadoras II
ITSLP
M.I. Carlos E. Canto Quintal