el puerto paralelo de la ibm pc

23
EL PUERTO PARALELO DE LA IBM PC EL PUERTO PARALELO DE LA IBM PC Arquitectura de Computadoras II Arquitectura de Computadoras II El puerto de impresora El puerto de impresora ITSLP ITSLP M.I. Carlos E. Canto Quint M.I. Carlos E. Canto Quint

Upload: tova

Post on 12-Jan-2016

91 views

Category:

Documents


1 download

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

TRANSCRIPT

Page 1: EL PUERTO PARALELO DE LA IBM PC

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

Page 2: EL PUERTO PARALELO DE LA IBM PC

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

Page 3: EL PUERTO PARALELO DE LA IBM PC

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

Page 4: EL PUERTO PARALELO DE LA IBM PC

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

Page 5: EL PUERTO PARALELO DE LA IBM PC

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.

Page 6: EL PUERTO PARALELO DE LA IBM PC

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

Page 7: EL PUERTO PARALELO DE LA IBM PC

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

Page 8: EL PUERTO PARALELO DE LA IBM PC

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

Page 9: EL PUERTO PARALELO DE LA IBM PC

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

Page 10: EL PUERTO PARALELO DE LA IBM PC

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 ).

Page 11: EL PUERTO PARALELO DE LA IBM PC

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

Page 12: EL PUERTO PARALELO DE LA IBM PC

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

Page 13: EL PUERTO PARALELO DE LA IBM PC

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

Page 14: EL PUERTO PARALELO DE LA IBM PC

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

Page 15: EL PUERTO PARALELO DE LA IBM PC

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

Page 16: EL PUERTO PARALELO DE LA IBM PC

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

Page 17: EL PUERTO PARALELO DE LA IBM PC

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

Page 18: EL PUERTO PARALELO DE LA IBM PC

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

Page 19: EL PUERTO PARALELO DE LA IBM PC

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

Page 20: EL PUERTO PARALELO DE LA IBM PC

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

Page 21: EL PUERTO PARALELO DE LA IBM PC

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

Page 22: EL PUERTO PARALELO DE LA 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

Page 23: EL PUERTO PARALELO DE LA 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