Este estándar proporciona una comunicación
bidireccional de alta velocidad entre un PC y un periférico externo,
estableciendo una comunicación entre 50 y 100 veces más
rápida que el original puerto paralelo. Por supuesto es totalmente
compatible con todos los periféricos existentes para puertos paralelos.
El estándar 1284 define 5 modos de transferencia
de datos. Cada modo proporciona un método de transferencia de datos
hacia el exterior (PC a periférico), hacia el interior (periférico
a PC) o bidireccional (dúplex).
Los modos definidos son:
- Sólo hacia el exterior: modo de compatibilidad
"centronics" o modo estándar.
- Sólo hacia el interior:
- Modo nibble, 4 bits a un tiempo empleando las
líneas de estado para datos.
- Modo byte, 8 bits a un tiempo empleando líneas
de datos, a veces referido como puerto bidireccional. Este modo sólo
lo soportan los ordenadores de IBM (PS/2).
- Bidireccional:
- EPP (Enhaced Parallel Port), empleado por periféricos
como CD-ROM, cintas, discos duros, adaptadores de red, etc.
- ECP (Extended Capability Port), empleado por
la nueva generación de impresoras y scanners.
Todos los puertos paralelos pueden implementar un
enlace bidireccional empleando los modos "compatible" y "nibble" para
transferencia de datos. El modo byte puede ser empleado por el 25% de
los puertos paralelos (aproximadamente). Estos tres modos hacen uso intensivo
del software para la transferencia y limitan ésta a ratios de 50
a 100 Kbytes por segundo.
Los modos EPP y ECP están siendo implementados
en la mayoría de los últimos controladores de E/S. Estos
modos emplean hardware para asistir la transferencia de datos. Por ejemplo,
en el modo EPP un byte de datos puede ser transferido al periférico
con una simple instrucción OUT. El controlador de E/S se encarga
de gestionar toda la transferencia.
En conjunto, el estándar 1284 proporciona
lo siguiente:
- 5 modos de operación para transferencia
de datos.
- Un método para determinar por parte del
periférico y el controlador los modos soportados y negociar el
modo requerido.
- Las interfaces físicas (cables y conectores).
- La interfaz eléctrica (conductores, receptores,
terminaciones e impedancia).
Modo
EPP
El protocolo de puerto paralelo mejorado (EPP)
fue originalmente desarrollado por Intel, Xircom y Zenith Data Systems,
como una forma de proporcionar un enlace por puerto paralelo de alto rendimiento
que pudiera seguir siendo compatible con el puerto paralelo estándar.
Este protocolo compatible fue implementado por Intel
en el chipset 386SL (chip I/O 82360). Esto sucedió antes del establecimiento
del comité IEE 1284 y que los estándar asociados funcionasen.
El protocolo EPP ofrece muchas ventajas a los periféricos
que lo utilicen y fue rápidamente adoptado por muchos como un método
opcional de transferencia de datos. Una gran asociación de 80 empresas
interesadas fue formada para desarrollar y promover el protocolo EPP.
Esta asociación se denominó el comité EPP y fue el
instrumento empleado para adoptar este protocolo como uno de los modos
avanzados del IEE 1284.
Desde que los primeros puertos con capacidad EPP
estuvieron disponibles antes del lanzamiento del estándar 1284,
hay una pequeña desviación entre las primeras versiones
(pre-1284 EPP) y el protocolo definitivo. Esto será aclarado más
tarde.
El protocolo EPP proporciona cuatro tipos de ciclos
de transferencia:
- Ciclo de escritura de datos.
- Ciclo de lectura de datos.
- Ciclo de escritura de dirección.
- Ciclo de lectura de dirección.
Los ciclos de datos pretenden ser empleados para
transferir datos entre el ordenador y el periférico. Los ciclos
de dirección deben ser empleados para pasar direcciones, canales,
o comandos e información de control. Estos ciclos pueden verse
como dos ciclos diferentes de datos. El desarrollador debe emplear y manejar
las direcciones/datos de forma que el método tenga sentido para
el diseño en particular. La siguiente tabla describe las señales
EPP y sus asociadas señales SPP:
Tabla 1 – Definición de señales
EPP
SPP Señal
|
EPP Nombre de señal
|
In/Out
|
Descripción de señal EPP
|
NSTROBE
|
nWRITE
|
Out
|
Activa a nivel bajo indica una operación de escritura, a
nivel alto indica un ciclo de lectura.
|
NAUTOFEED
|
nDATASTB
|
Out
|
Activa a nivel bajo indica que hay una operación de lectura/escritura
de datos en proceso.
|
nSELECTIN
|
nADDRSTB
|
Out
|
Activa a nivel bajo indica que hay una operación de lectura/escritura
de dirección en proceso.
|
nINIT
|
nRESET
|
Out
|
Activa a nivel bajo indica inicialización (reset) del periférico.
|
nACK
|
nINTR
|
In
|
Periférico interrumpido. Empleada para generar una interrupción
al ordenador.
|
BUSY
|
nWAIT
|
In
|
Señal de espera. Cuando esta a nivel bajo indica que se
está preparado para comenzar un ciclo, cuando está
a nivel alto indica que se está preparado para finalizar
un ciclo.
|
D[8:1]
|
AD[8:1]
|
Bi-Di
|
Líneas bidireccionales de dirección/datos.
|
PE
|
Definido por usuario
|
In
|
Puede ser empleada de forma diferente por cada periférico.
|
SELECT
|
Definido por usuario
|
In
|
Puede ser empleada de forma diferente por cada periférico.
|
NERROR
|
Definido por usuario
|
In
|
Puede ser empleada de forma diferente por cada periférico.
|