Вы находитесь на странице: 1из 41

Puerto Paralelo

ITM

El puerto paralelo
El puerto paralelo integrado usa un conector tipo D de 25 patas en el panel posterior del PC. Este puerto de E/S enva datos en formato paralelo (ocho bits de datos, formando un byte, se envan simultneamente sobre ocho lneas individuales en un solo cable). El puerto paralelo se utiliza principalmente para impresoras. La mayora de los software usan el trmino LPT (por impresor en lnea) ms un nmero para designar un puerto paralelo (por ejemplo, LPT1). La designacin predeterminada del puerto paralelo integrado del sistema es LPT1.

El puerto paralelo
El principal objetivo del puerto paralelo de un PC es actuar como interfaz con la impresora Los PCs actuales poseen al menos un puerto paralelo, aunque suelen estar preparados (DOS/BIOS) para manejar hasta cuatro distintos
Normalmente se denominan LPT1, LPT2, LPT3 y LPT4 (Line PrinTer) La abreviatura PRN (PRiNter) se usa con frecuencia como sinnimo de LPT1
3

El puerto paralelo

Interfaz Centronics
La conexin entre el puerto paralelo del PC y la impresora se realiza por medio de un cable Centronics Normalmente, un cable Centronics est compuesto por 36 lneas, por lo que los conectores tambin tienen 36 pins

Interfaz Centronics
De las 36 lneas, slo 17 estn realmente mapeadas a seales del protocolo de comunicacin Hay 18 lneas mapeadas como lneas de tierra Dentro del cable, las lneas de tierra se tuercen alrededor de las otras para evitar interferencias entre ellas

Interfaz Centronics
El conector de la impresora tiene 36 pins Dado que no todas las lneas transmiten una seal, el conector del PC suele reducirse a 25 pins El conector es ms pequeo y barato Las lneas de tierra que faltan pueden recrearse de las otras

Interfaz Centronics
La longitud del cable no debe exceder los 5 metros o empezarn a producirse errores de transmisin Para distancias mayores sera necesario usar transmisin serie El cable serie permite mas distancia pero transmitir a travs de l es ms lento

El puerto de la impresora
Distribucin de las terminales del puerto de la impresora en el conector estndar DB25-hembra

Configuracin del puerto paralelo estndar


Patita 1 2~9 10 11 12 13 14 15 16 17 18 ~ 25 E/S Salida Salida Entrada Entrada Entrada Entrada Salida Entrada Salida Salida Polaridad activa 0 0 0 1 1 0 0 0 0 Descripcin Strobe Lneas de datos Lnea acknowledge Lnea busy Lnea Falta de papel
(

Lnea Select Lnea Autofeed Lnea Error Lnea Init Lnea Select input Tierra elctrica

Estructura del puerto paralelo


Todas las seales se mapean en el conector Centronics, ya sea en su versin de 36 pins o en su versin de 25
11

Protocolo de comunicacin
En total, el protocolo de comunicacin cuenta con 17 lneas
Datos: 8 lneas de salida Estado: 5 lneas de entrada (una invertida) Control: 4 lneas de salida (tres invertidas)
12

Protocolo de comunicacin
El protocolo necesario para que el computador transmita un byte a la impresora utiliza principalmente las seales Strobe, Ack y Busy
1. Introducir el byte a enviar en el registro de datos 2. Esperar a que la impresora no est ocupada (Busy) 3. Activar Strobe para que la impresora acepte el dato 4. La impresora activa Busy para indicar que est procesando el dato 5. La impresora activa Ack para indicar que ha terminado y se puede regresar al primer paso
13

El puerto de la impresora
Distribucin de las terminales del puerto de la impresora en el conector estndar DB25-hembra

Datos STROBE BUSY Puerto De la PC Conector DB25H ACKNLG SLCT IN SEL INITIAL PE ERROR AUTOFEED Impresora

El puerto de la impresora
SECUENCIA DE SEALES DE CONTROL Y DE STATUS PARA TRANMITIR DATOS A LA IMPRESORA

DATO

STROBE

BUSY

ACKNLG

El puerto de la impresora
El puerto paralelo tiene una estructura muy simple; consta de tres registros:
de Datos. de Control de Estado

Todas las seales que intervienen en el puerto tienen asociado un bit en uno de esos registros, de acuerdo con las funciones asignadas a cada lnea en particular.

El Registro de datos
PIN#

D0 D1 D2 D3 D4 D5 D6 D7

Es de tipo latch de 8 bits, que puede ser ledo 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 direccin coincide con la direccin base del puerto paralelo ( 0x 378 en LPT 1 ).

2 3 4 5 6 7 8 9

CONECTOR DB25-H

Registro de datos
Direccin Base + 0 Nombre Puerto de datos Lectura/Esc ritura Escritura Bit # Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Propiedades Dato 7 Dato 6 Dato 5 Dato 4 Dato 3 Dato 2 Dato 1 Dato 0

El Registro de Estado (Status)


El registro de estado indica la situacin actual de la impresora conectada al puerto, en especial la ocurrencia de posibles errores, de acuerdo con los niveles de tensin que tengan las lneas ACK, BSY, PAP y OF/ON , lo que permite controlar el comportamiento de la impresora. Se trata de un registro de entrada (Lectura) de informacin, su direccin se obtiene sumando 1 a la direccin base del puerto (0x379 en LPT1).
S7 S6 S5 S4 S3 S2 S1 S0
CONECTOR DB25H
11 10 12 13 15

BUSY ACK PE SEL ERR

Con las interrupciones habilitadas, una transicin en el pin 10 (ACK) dispara la interrupcin

Registro de estado
Direccin Base + 1 Nombre Puerto de estado Lectura/Escritura Slo Lectura Bit # Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Propiedades Busy Acknowledge Falta de papel Select In Error IRQ (Not) Reservado Reservado

Registro de Control
permite inicializar el puerto y controlar la transferencia. 4 lneas bidireccionales

Permite puerto bidireccional Permite IRQ a travs de ACK C3 C2 C1 C0

17 16 14 1

SELECT IN INIT AUTOLF STROBE

Registro de control
Direccin Base + 2 Nombre Puerto de control Lectura/Escritura Lectura/Escritura Bit # Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Propiedades
No usado No usado Permite puerto bidireccional Permite IRQ a travs de la lnea acknowledge Selecciona impresora Inicializa impresora Nueva lnea automtica Strobe

Direcciones de los registros


La direccin del registro de salida de los puertos 0, 1 y 2, denominadas direccin-base del adaptador, estn 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 LPT1 LPT2 LPT3

R. de salida 378 278 3BC

R. de estado 379 279 3BD

R. de control 37A 27A 3BE

IRQ 7 5 7

las direcciones e interrupcin usadas por cada puerto, aunque esta asignacin no es siempre consistente, y debera ser investigada.

Variables del BIOS para el puerto paralelo

Servicios BIOS de puerto paralelo


Los servicios BIOS relacionados con el puerto paralelo, denominados servicios de impresora, se gestionan mediante el vector de interrupcin 23 (17h); este servicio tiene 3 subservicios numerados del 0 al 2, que se solicitan a travs del registro AH, mientras que el nmero de puerto debe indicarse en el registro DX. Subservicio 0: Enva un byte a la impresora Subservicio 1: Inicializar el puerto paralelo Subservicio 2: Leer el registro de estado del puerto

Puerto paralelo estndar


Los diseadores 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 operacin modo compatible. Aunque originalmente no estaban preparados para recibir datos, mediante ciertos artificios se consigui que los puertos SPP tambin pudieran recibir datos, un nibble (4 bits) cada vez. Este tipo de operacin, 8 bits de salida y 4 de entrada se denomina modo nibble. Nota: Los puertos actuales de caractersticas mejoradas tienen tambin los modos compatible y nibble para compatibildad con el software anterior.

Usando el Debug para determinar la direccin base del puerto (s) de impresora presente(s) en el sistema
Para trabajar con el puerto paralelo necesitamos en primer lugar conocer la direccin 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 nmeros la(s) direccin(es) para el (los) puerto(s) paralelo(s) disponibles en nuestro sistema.

Direccin 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 Solucin: 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

Tambin es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo
1. El emisor activa DSL para indicar que quiere enviar datos 2. El receptor contesta activando INI La conexin est establecida y los papeles de emisor y receptor han sido asignados

Protocolo de comunicacin

31

Tambin es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo
3. El emisor carga el dato y realiza un pulso de STB, lo que genera una interrupcin en el receptor 4. La rutina de gestin de interrupcin del receptor adquiere el dato

Protocolo de comunicacin

32

Tambin es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo
5. El receptor realiza un pulso de STB, lo que genera una interrupcin en el emisor 6. La interrupcin en el emisor devuelve el control a la rutina que repetir los pasos 3, 4 y 5 hasta que el ltimo dato se transmita

Protocolo de comunicacin

33

Protocolo de comunicacin
Tambin es posible realizar un intercambio de datos entre dos computadores usando el puerto paralelo
7. El transmisor desactiva DSL 8. El receptor desactiva INI La conexin ha concluido y el proceso puede repetirse, reasignndose los papeles de emisor y receptor

34

Puerto paralelo IEEE-1284


La funcionalidad del puerto paralelo integrado en las placas madre de los computadores actuales ha sido mejorada siguiendo el estndar IEEE-1284 Este estndar presenta cinco modos de operacin:

Compatible: SPP Standard Parallel Port Byte Nibble Extendido: EPP Extended Parallel Port Capacidad mejorada: ECP Enhanced Capability Mode
35

Puerto paralelo IEEE-1284


Las lneas utilizadas por los cinco modos de operacin son las mismas, pero con diferentes nombres/funciones

36

IEEE-1284 en modo SPP


El modo SPP se define para permitir la compatibilidad con el modo unidireccional Centronics original

Se corresponde con una interfaz Centronics estndar Permite que impresoras antiguas puedan ser conectadas a un puerto que cumpla la norma IEEE-1284

Este modo slo admite emisin de datos y, al ser undireccional, est completamente controlador por el procesador
37

El modo byte corresponde a un protocolo Centronics bidireccional en el que los datos se transfieren byte a byte a travs del registro de datos Es necesaria una seal de control adicional para indicar la direccin de la transferencia El valor del bit correspondiente del registro de control debe establecerse antes de cada ciclo de transferencia

IEEE-1284 en modo byte

38

El modo nibble permite la transferencia de datos en grupos de 4 bits (nibble) Cuatro de las lneas de estado se utilizan como lneas de datos Una transferencia abarca siempre un byte completo En primer lugar se enva la primera mitad del byte Una vez que ha sido procesada, se enva la segunda mitad

IEEE-1284 en modo nibble

39

El modo EPP permite transferencias bidireccionales de bloques de hasta 256 bytes


Al contrario que los modos anteriores, el protocolo de seales no es controlado por software sino por hardware
La programacin es ms eficiente El circuito necesario es ms complejo y caro

IEEE-1284 en modo EPP

Dispone de los 3 registros estndar, lo que permite compatibilidad con el modo SPP Adems hay otros 4 registros adicionales

40

IEEE-1284 en modo ECP


Sus caractersticas son similares a las del modo EPP, aunque est limitado a 128 bytes El modo ECP permite compresin de datos Una cola FIFO almacena los bits a transmitir No se envan series de bits iguales, sino que se enva el nmero de bits que compone la serie (run length codes) La mayor complejidad hace necesaria la presencia de varios registros adicionales, aunque los equivalentes a los 3 registros estndar siguen presentes

41