Site hosted by Angelfire.com: Build your free website today!

 

Modo ECP

 

  El protocolo de puerto de capacidad extendida o ECP, fue propuesto por Hewlett Packard y Microsoft como un modo avanzado para la comunicación de periféricos del tipo de los scanners y las impresoras. Como el protocolo EPP, el ECP proporciona una alta resolución en la comunicación bi-direccional entre el adaptador del ordenador y el periférico.

 El protocolo ECP proporciona los siguientes ciclos, en ambas direcciones :

  1. Ciclos de Datos
  2. Ciclos de Comandos

 Las características principales del ECP incluyen la RLE (Run Length Encoding) o   compresión de datos en los ordenadores, FIFO para los canales directo e inverso y DMA.

 La característica RLE mejora la compresión de datos en tiempo real y puede lograr una compresión de datos superior 64:1. Esto es particularmente útil para las impresoras y scanners que transfieren gran cantidad de imágenes y tienen largas cadenas de datos idénticos.

 El canal de direcciones contiene una pequeña diferencia con el del EPP. El canal de dirección se intenta que se use para sistemas lógicos múltiples de dirección con un sistema físico único. Piense en esta idea como un nuevo sistema multi-función como por ejemplo un Fax/Impresora/Módem. Con este protocolo se puede estar enviado datos a la impresora y al Módem a la vez.

 Pasos en la fase de transmisión directa :

  1. El ordenador sitúa los datos sobre las líneas de datos, inicia un ciclo de datos activando el HostAck.
  2. El ordenador desactiva HostClk para indicar un dato valido.
  3. El periférico reconoce el ordenador activando PeriphAck.
  4. El ordenador activa HostClk. Este es el punto que debería ser usado para cerrar los datos al periférico.
  5. El periférico desactiva PeriphAck indicando que esta preparado para recibir el siguiente byte.
  6. El ciclo se repite pero en un ciclo de comando ya que HostAck esta desactivado.

La siguiente tabla describe las señales de este protocolo :

SEÑAL SPP NOMBRE

In/Out

DESCRIPCIÓN
STROBE HostClk

OUT

Usado con PeriphAck para transmitir datos o direcciones en la dirección directa.
AUTOFEED HostAck

OUT

Proporciona estado de datos y de comando en la dirección directa. Usado con PeriphClk transfiere datos en la dirección inversa.
SELECTIN 1284Active

OUT

Cuando el ordenadores esta en el modo de transmisión 1284 se activa.
INIT ReverseRequest

OUT

Se desactiva para colocar el canal en dirección inversa.
ACK PeriphClk

IN

Usado con HostAck para transmisión de datos en la dirección inversa.
BUSY PeriphAck

IN

Usado con HostClk para transmisión de información de datos o direcciones en la dirección directa. Proporciona estado de comandos y datos en la dirección inversa.
PE AckReverse

IN

Desactivado para reconocer Reverse Request.
SELECT Xflag

IN

Flag de extensibilidad.
ERROR PeriphRequest

IN

Desactivado por el periférico para indicar que es posible la transferencia inversa.
Data[8:1 Data[8:1

BI-DI

Usado para proporcionar datos entre el periférico y el ordenador.

triangle.gif (919 bytes) La primera figura muestra los dos ciclos de transmisión de datos directos, cuando HostAck esta activado indica que un ciclo de datos se esta llevando a cambio. Cuando HostAck esta desactivado se lleva a cabo un ciclo de comandos, los datos representan un calculo de RLE o un canal de direcciones. El bit 8 del byte de datos se usa para indicar una RLE, si el bit 8 es cero entonces los bits del 1 al 7 representan un calculo de la longitud de cadena de transmisión, si el bit es 1 entonces los bits 1 al 7 representan un canal de dirección.


triangle.gif (919 bytes) La siguiente figura muestra en proceso inverso de transferencia, con las diferencias entre el protocolo ECP y EPP, con el software del EPP puede mezclar operaciones de lectura escritura sin ningún problema. Con el protocolo ECP los cambios en la dirección de datos deben ser negociados, el ordenador debe pedir una transmisión por el canal inverso desactivando el canal ReverseRequest, entonces esperar que el periférico reconozca la señal desactivando AckReverse. Solamente entonces una transmisión de datos por canal inverso puede llevarse a cabo.

 

Pasos en la fase de transmisión inversa :

  1. El ordenador pide una transmisión por el canal inverso desactivando ReverseRequest.
  2. El periférico señala que esta de acuerdo para proceder desactivando AckReverse.
  3. El periférico sitúa los datos sobre las líneas de datos e indica un ciclo de datos activando PeriphAck.
  4. El periférico desactiva PeriphClk para indicar un dato valido.
  5. El ordenador reconoce la señal activando HostAck.
  6. El periférico PeriphClk. Esta manera debería ser usada para guardar los datos en el ordenador.
  7. El ordenador desactiva Host.Ack para indicar que esta preparado para el siguiente byte.
  8. El ciclo se repite pero esta vez es un ciclo de comando porque PeriphAck esta desactivado.