20
STP2002QFP
Sun Microelectronics
Fast Ethernet, Parallel Port, SCSI (FEPS) - STP2002QFP
4.3.1.2 Bidirectional Operation
Bidirectional data transfer over the parallel port can be accomplished by the
use of either of two master/slave protocols. The “master write” protocol or the
“master read/write” protocol. The IBM implementation of a bidirectional par-
allel port uses the master write protocol in which the master always writes
data to the slave and when the direction of data transfer needs to be reversed,
mastership is exchanged. The Xerox implementation uses the master
read/write protocol where data transfer is performed in either direction under
control of the fixed master. The parallel port will operate as either master or
slave when configured for master write protocol, and only as the master when
configured for the master read/write protocol.
The selection of one of these bidirectional transfer methods is accom-
plished indirectly through the specification of the bidirectional nature of the
data strobe signal. Since in both methods data strobe resides with the master,
a bidirectional data strobe implies the IBM master write scheme and a fixed
data strobe (output only) implies the Xerox master read/write scheme.
The interface control signals—data strobe, acknowledge, and busy—are
individually configurable as bidirectional or unidirectional pins. The bidirec-
tional signal configuration bits are located in the operation configuration
register. The functions of the bits are as follows:
To allow external driver/receiver connection, each of these control signals
and the data bus has a corresponding direction control pin. The DIR bit of the
transfer control register is used to switch the direction of the data bus and the
pins that have been configured as bidirectional. The state of the DIR bit is
reflected on the P_D_DIR (PP_DDIR) pin for external transceiver control
and direction control communication to the attached device. While DIR=0,
all pins remain in their unidirectional sense which is defined to be consistent
with the unidirectional parallel port as follows:
DS_DSEL 1 = P_DS (PP_DSDIR) is bidirectional, master write protocol selected.
0 = P_DS (PP_DSDIR) is fixed as output. Master read/write protocol
selected.
ACK_DSEL 1 = P_ACK (PP_ACK) is bidirectional.
0 = P_ACK (PP_ACK) is fixed as an input.
BUSY_DSEL 1 = P_BSY (PP_BSY) is bidirectional.
0 = P_BSY (PP_BSY) is fixed as an input.