English
Language : 

SP37E760 Datasheet, PDF (39/78 Pages) SMSC Corporation – 3.3 V I/O CONTROLLER FOR EMBEDDED APPLICATIONS
R/W
MODE
011: ECP Parallel Port Mode. In the forward direction (direction is 0) bytes placed into the ecpDFifo
and bytes written to the ecpAFifo are placed in a single FIFO and transmitted automatically to
the peripheral using ECP Protocol. In the reverse direction (direction is 1) bytes are moved
from the ECP parallel port and packed into bytes in the ecpDFifo. All drivers have active
pull-ups (push-pull).
100: Selects EPP Mode: In this mode, EPP is selected if the EPP supported option is selected in
configuration register CR4. All drivers have active pull-ups (push-pull).
101: Reserved
110: Test Mode. In this mode the FIFO may be written and read, but the data will not be transmitted
on the parallel port. All drivers have active pull-ups (push-pull).
111: Configuration Mode. In this mode the confgA, confgB registers are accessible at 0x400 and
0x401. All drivers have active pull-ups (push-pull).
5.4.5 OPERATION
5.4.5.1 Mode Switching/Software Control
Software will execute P1284 negotiation and all operation prior to a data transfer phase under programmed I/O
control (mode 000 or 001). Hardware provides an automatic control line handshake, moving data between the FIFO
and the ECP port only in the data transfer phase (modes 011 or 010).
Setting the mode to 011 or 010 will cause the hardware to initiate data transfer.
If the port is in mode 000 or 001 it may switch to any other mode. If the port is not in mode 000 or 001 it can only be
switched into mode 000 or 001. The direction can only be changed in mode 001.
Once in an extended forward mode the software should wait for the FIFO to be empty before switching back to mode
000 or 001. In this case all control signals will be deasserted before the mode switch. In an ECP reverse mode the
software waits for all the data to be read from the FIFO before changing back to mode 000 or 001. Since the
automatic hardware ECP reverse handshake only cares about the state of the FIFO it may have acquired extra data
which will be discarded. It may in fact be in the middle of a transfer when the mode is changed back to 000 or 001. In
this case the port will deassert nAutoFd independent of the state of the transfer. The design shall not cause glitches
on the handshake signals if the software meets the constraints above.
5.4.5.2 ECP Operation
Prior to ECP operation the Host must negotiate on the parallel port to determine if the peripheral supports the ECP
protocol. This is a somewhat complex negotiation carried out under program control in mode 000. After negotiation,
it is necessary to initialize some of the port bits. The following are required:
ƒ Set Direction = 0, enabling the drivers.
ƒ Set strobe = 0, causing the nStrobe signal to default to the deasserted state.
ƒ Set autoFd = 0, causing the nAutoFd signal to default to the deasserted state.
ƒ Set mode = 011 (ECP Mode)
ECP address/RLE bytes or data bytes may be sent automatically by writing the ecpAFifo or ecpDFifo respectively.
Note that all FIFO data transfers are byte wide and byte aligned. Address/RLE transfers are byte-wide and only
allowed in the forward direction.
The host may switch directions by first switching to mode = 001, negotiating for the forward or reverse channel,
setting direction to 1 or 0, then setting mode = 011. When direction is 1 the hardware shall handshake for each
ECP read data byte and attempt to fill the FIFO. Bytes may then be read from the ecpDFifo as long as it is not
empty .
ECP transfers may also be accomplished (albeit slowly) by handshaking individual bytes under program control in
mode = 001, or 000.
SMSC DS – SP37E760
Page 39
Rev. 04/13/2001