Documente Academic
Documente Profesional
Documente Cultură
c
c
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).
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.
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.
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:
!
"
# $$
$$ %&
$$ #
'(
"
# $$
#
Activa a nivel bajo indica una operación de
NSTROBE nWRITE Out
escritura, a nivel alto indica un ciclo de lectura.
Activa a nivel bajo indica que hay una operación de
NAUTOFEED nDATASTB Out
lectura/escritura de datos en proceso.
Activa a nivel bajo indica que hay una operación de
nSELECTIN nADDRSTB Out
lectura/escritura de dirección en proceso.
Activa a nivel bajo indica inicialización (reset) del
nINIT nRESET Out
periférico.
Periférico interrumpido. Empleada para generar una
nACK nINTR In
interrupción al ordenador.
Señal de espera. Cuando esta a nivel bajo indica que
se está preparado para comenzar un ciclo, cuando
BUSY nWAIT In
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.
Definido por Puede ser empleada de forma diferente por cada
PE In
usuario periférico.
Definido por Puede ser empleada de forma diferente por cada
SELECT In
usuario periférico.
Definido por Puede ser empleada de forma diferente por cada
NERROR In
usuario periférico.
>
Una de las más importantes características a resaltar es que la transferencia de datos ocurre sin el
ciclo ISA de e/s. La consecuencia es que empleando el protocolo EPP un sistema puede alcanzar
ratios desde 500K a 2M bytes por segundo. En estas condiciones, un periférico por puerto paralelo
puede operar a los mismos niveles de rendimiento que una tarjeta ISA equivalente. La habilidad
para alcanzar este nivel de rendimiento de un puerto paralelo es una de las mayores ventajas del
protocolo EPP.
Con señales de control, la transferencia puede suceder a la velocidad más lenta de las interfaces, los
adaptadores de red o los dispositivos periféricos. Esta propiedad de adaptación a la velocidad es
transparente tanto para el ordenador como para el periférico. Todos los modos de transferencia del
1284 están implementados con señales de control.
Como se mencionó anteriormente, los dispositivos EPP pre-12844 se desviaron del protocolo 1284.
Al principio del ciclo, nDataStrobe o nAddrStrobe deberían conceder prioridad al estado de la señal
nWAIT. Esto significa que el periférico no puede mantener cerrado el comienzo del ciclo
manteniendo nWAIT desactivado. Esto es denominado en la mayoría de las ocasiones como EPP
1.7, en referencia a la versión 1.7 de Xircom. Esta es la versión que Intel implementó en el original
controlador de e/s 82360. Un periférico compatible 1284 EPP trabajará correctamente con un
adaptador EPP 1.7, pero un periférico EPP 1.7 puede no operar correctamente con una interfaz
1284.
Composición del registro EPP
La visión más simple a nivel de software del EPP es que es una extensión de las definiciones del
registro estándar para puerto paralelo. A grosso modo el SPP consiste en tres registros, que parten
de la dirección del puerto base estándar: Puerto de datos, puerto de estado, y puerto de control. La
mayoría de las implementaciones EPP expanden esto para emplear puertos no definidos por el SPP.
Vea la tabla 2.
)&
"
* +$$
%& ,
'
(!! c
"
SPP Puerto de SPP /
+0 E Puerto estándar SPP. Sin autocontrol.
datos EPP
SPP Puerto de SPP / Lectura de las líneas de estado procedentes
+1 L
estado EPP del interfaz.
SPP Puerto de SPP / Posiciona el estado de las líneas de control
+2 E
control EPP de salida.
EPP Puerto de Genera un ciclo de lectura o escritura de
+3 EPP L/E
dirección dirección controlada.
EPP Puerto de Genera un ciclo de lectura o escritura de
+4 EPP L/E
datos datos controlada.
Empleado de forma diferente según la
+5 a
No definido EPP N/A implementación. Puede ser usada para E/S
+7
de 16 o 32 bits.
Generando una simple instrucción de escritura a E/S hacia "dirección base + 4", el controlador EPP
generará las señales de control necesarias y esperas para transferir el dato empleando un ciclo de
escritura EPP. Las instrucciones de E/S a las direcciones base, puertos 0 a 2, causarán el mismo
efecto que en un puerto estándar paralelo. Esto garantiza compatibilidad con el puerto paralelo
estándar y sus periféricos. Los ciclos de dirección son generados cuando las operaciones de lectura
o escritura a E/S son a "dirección base + 3".
Modo ECP
Este modo es muy similar al EPP. La mayor diferencia es que emplea compresión de datos
mediante algoritmo RLE, por lo que se hace ideal para la comunicación con impresoras láser y
scanners.
No entraremos a detallar este modo, ya que no es muy empleado salvo en los mencionados
periféricos.
El concepto de negociación fue desarrollado para esta necesidad. La negociación es una secuencia
de eventos en la interfaz del puerto paralelo que no influyen en antiguos dispositivos, pero
proporcionan la posibilidad de identificar un periférico 1284 y que este responda para poder situarlo
en un modo soportado.
Durante la fase de negociación, el ordenador hace una llamada en las líneas de datos y comienza la
secuencia de negociación. La llamada puede ser para colocar el interfaz en un modo particular, o
para preguntar al dispositivo su identificación. Los identificativos serán tratados más tarde.
- 1 0
0
"
2345
8 Petición de enlace extendido 1000 0000
7 Petición de modo EPP 0100 0000
6 Petición de modo ECP con RLE 0011 0000
5 Petición de modo ECP sin RLE 0001 0000
4 Reservado 0000 1000
Retorno de datos empleando:
>
+
"
Conectores