Upload
tova
View
93
Download
1
Embed Size (px)
DESCRIPTION
El puerto de impresora. Arquitectura de Computadoras II. EL PUERTO PARALELO DE LA IBM PC. ITSLP. M.I. Carlos E. Canto Quintal. El puerto de impresora. Arquitectura de Computadoras II. Mapa de puertos de Entrada y Salida en la IBM PC. FFFFh. - PowerPoint PPT Presentation
Citation preview
EL PUERTO PARALELO DE LA IBM EL PUERTO PARALELO DE LA IBM PCPC
EL PUERTO PARALELO DE LA IBM EL PUERTO PARALELO DE LA IBM PCPC
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Puertos usados por la PC
Mapa de puertos de Entrada y Salida en la IBM PC
Direcciones no usadas por la PC
6451264512
512512
000
1F1h
3FFh
FFFFh
512512
Usados en la lógica de la tarjeta madre
Disponibles en los slots de expansión
La IBM PC utiliza las primeras 1024 La IBM PC utiliza las primeras 1024 direcciones del espacio de puertos para el direcciones del espacio de puertos para el sistema .sistema .Estas direcciones están entre 0000 y 03FFhEstas direcciones están entre 0000 y 03FFh
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Mapa de puertos de Entrada/Salida de
una IBM PC
AsignaciónPuerto (hex)
000-00F Controlador DMA
010-01F Controlador DMA (PS/2)
020-02F Controlador maestro programable de interrupciones (PIC)
030-03F PIC esclavo
040-05F Temporizador programable de intervalos (PIT)
060-06F Controlador del teclado
070-071 Reloj en tiempo real
080-083 Registro de página DMA
090-097 Seleccionador programable de opciones (PS/2)
0A0-0AF PIC #2
0C0-0CF DMAC #2
0E0-0EF reservado
0F0-0FF Coprocesador matemático, controlador de disco PCJr
100-10F Seleccionador programable de opciones (PS/2)
110-16F LIBRE
170-17F Disco duro 1 (AT)
180-1EF LIBRE
1F0-1FF Disco duro 0 (AT)
200-20F Adaptador de juegos (Joystick)
210-217 Puertos de tarjetas de expansión
220-26F LIBRE
278-27F Puerto paralelo 3
280-2A1 LIBRE
2A2-2A3 Reloj
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
AsignaciónPuerto (hex)
2B0-2DF EGA/Video
2E2-2E3 Adaptador de adquisición de datos (AT)
2E8-2EF Puerto serie COM4
2F0-2F7 Reservado
2F8-2FF Puerto serie COM2
300-31F Adaptador de prototipos, periscopio para depurar hardware
320-32F LIBRE
330-33F Reservado para XT/370
340-35F LIBRE
360-36F Red (network)
370-377 Controlador de disco flexible
378-37F Puerto paralelo 2
380-38F Adaptador SDLC
390-39F Adaptador de Cluster
3A0-3AF reservado
3B0-3BF Adaptador monocromo
3BC-3BF Puerto paralelo 1
3C0-3CF EGA/VGA
3D0-3DF Adaptador Gráfico en Color (CGA)
3E0-3EF Puerto serie COM3
3F0-3F7 Controlador de disco flexible
3F8-3FF Puerto serie COM1
Mapa de puertos de Entrada/Salida de
una IBM PC
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
El puerto de la impresora
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
• 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.
El puerto de la impresora
Distribución de las terminales del puerto de la impresora en el Distribución de las terminales del puerto de la impresora en el conector estándar DB25-hembraconector estándar DB25-hembra
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
El puerto de la impresoraDistribución de las terminales del puerto de la impresora en el Distribución de las terminales del puerto de la impresora en el conector estándar DB25-hembraconector estándar DB25-hembra
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Datos Datos
Puerto De la
PCConector DB25H
Puerto De la
PCConector DB25H
Impresora Impresora
BUSY
SEL
PE
ERROR
STROBE
ACKNLG
SLCT IN
INITIAL
AUTOFEED
El puerto de la impresoraSECUENCIA DE SEÑALES DE CONTROL Y DE STATUS PARA TRANMITIR DATOS SECUENCIA DE SEÑALES DE CONTROL Y DE STATUS PARA TRANMITIR DATOS A LA IMPRESORAA LA IMPRESORA
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
STROBE
DATO
BUSY
ACKNLG
Configuración del puerto paralelo estándar
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
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
El Registro de datos
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
PIN#
D0D0
D1D1
D2D2
D3D3
D4D4
D5D5
D6D6
D7D7
2
3
4
5
6
7
9
8
CONECTOR DB25-H
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 ).
Registro de datos
Dirección NombreLectura/Escritura
Bit # Propiedades
Base + 0 Puerto de datos
Escritura Bit 7 Dato 7
Bit 6 Dato 6
Bit 5 Dato 5
Bit 4 Dato 4
Bit 3 Dato 3
Bit 2 Dato 2
Bit 1 Dato 1
Bit 0 Dato 0
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
El Registro de Estado (Status)
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
S7S7
S6S6
S5S5
S4S4
S3S3
S2S2
S1S1
S0S0
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).
10
11
12
13
15
BUSY
ACK
PE
SEL
ERR
Con las interrupciones habilitadas, una transición en el pin 10 (ACK) dispara la interrupción
CONECTOR DB25-H
Registro de estadoDirección Nombre Lectura/Escritura Bit # Propiedades
Base + 1 Puerto de estado
Sólo Lectura Bit 7 Busy
Bit 6 Acknowledge
Bit 5 Falta de papel
Bit 4 Select In
Bit 3 Error
Bit 2 IRQ (Not)
Bit 1 Reservado
Bit 0 Reservado
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Registro de Control
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
C3C3
C2C2
C1C1
C0C0
permite inicializar el puerto y controlar la transferencia.
4 líneas bidireccionales
1
17
16
14
SELECT IN
INIT
STROBE
AUTOLF
Permite IRQ a través de ACK
Permite puerto bidireccional
Registro de controlDirección Nombre Lectura/Escritura Bit # Propiedades
Base + 2 Puerto de control
Lectura/Escritura Bit 7 No usado
Bit 6 No usado
Bit 5Permite puertobidireccional
Bit 4Permite IRQ através de lalínea acknowledge
Bit 3Seleccionaimpresora
Bit 2Inicializaimpresora
Bit 1Nueva líneaautomática
Bit 0 Strobe
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Puerto R. de salidaR. de estado
R. de control
IRQ
LPT1 378 379 37A 7
LPT2 278 279 27A 5
LPT3 3BC 3BD 3BE 7
Direcciones de los registros
las direcciones e interrupción usadas por cada puerto, aunque esta asignación no es siempre consistente, y debería ser investigada.
•La dirección del registro de salida de los puertos 0, 1 y 2, denominadas dirección-basedirecció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.
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Variables del BIOS para el puerto paralelo
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Los servicios BIOS relacionados con el puerto paralelo, denominados servicios de impresoraservicios de impresora, se gestionan mediante el vector de interrupción interrupción 23 (17h);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
Servicios BIOS de puerto Servicios BIOS de puerto paraleloparalelo
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Puerto paralelo estándar• Los diseñadores deLos diseñadores de llaa PC no pensaron en la posibilidad de utilizar los PC no pensaron en la posibilidad de utilizar los
puertos paralelo para recibir datos (no existe un subservicio BIOS para puertos paralelo para recibir datos (no existe un subservicio BIOS para leer en el puerto paralelo); eran solo de salida. Este puerto original es leer en el puerto paralelo); eran solo de salida. Este puerto original es denominado denominado SSPPPP ("Standard Parallel Port"), y su modo de operación ("Standard Parallel Port"), y su modo de operación modo compatiblemodo compatible..
• Aunque originalmente no estaban preparados para recibir datos, Aunque originalmente no estaban preparados para recibir datos, mediante ciertos artificios se consiguió que los puertos SPP también mediante ciertos artificios se consiguió que los puertos SPP también pudieran recibir datos, un nibble (4 bits) cada vez. Este tipo de pudieran recibir datos, un nibble (4 bits) cada vez. Este tipo de operación, 8 bits de salida y 4 de entrada se denomina operación, 8 bits de salida y 4 de entrada se denomina modo nibblemodo nibble..
• NotaNota: Los puertos actuales de características mejoradas tienen : Los puertos actuales de características mejoradas tienen también los modos compatible y nibble para compatibildad con el también los modos compatible y nibble para compatibildad con el software anterior.software anterior.
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Usando el Debug para determinar la dirección base del puerto (s) de impresora presente(s) en el sistema
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
•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 D040:08L8 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 PC:0378h
Acceso restringido a puertos
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 ZIP2. Copie el archivo userport.sys al directorio C:\
WINDOWS\SYSTEM32\DRIVERS3. Ejecute el programa userport.exe (acepte los defaults)4. Ejecute sus programas de ensamblador
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal
Arquitectura de Computadoras IIArquitectura de Computadoras II El puerto de impresoraEl puerto de impresora
ITSLPITSLP M.I. Carlos E. Canto QuintalM.I. Carlos E. Canto Quintal