
PARALLEL PORT INTERFACE
S3FB42F
19-2
PPIC OPERATING MODES
The S3FB42F PPIC supports four kinds of handshaking modes for data transfers:
— Software handshaking mode to forward and reverse data transfers
— Compatibility hardware handshaking mode to forward data transfers
— ECP hardware handshaking mode to forward and reverse data transfers
Mode selection is specified in the PPIC control low register (PPCONL). By setting the PPCONL[6:4], one of these
four modes is enabled.
Software Handshaking Mode
This mode is enabled by setting the PPCONL's mode-selection bits, PPCONL[5:4], to "00."
In this mode, you can use PPIC interrupt event registers (PPINTCON and PPINTPND) and the read/write PPIC
status register (PPSTAT and PPSCON) to detect and control the logic levels on all parallel port signal pins. Software
can control all parallel port operations, including all four kinds of parallel port communications protocols supported by
the S3FB42F (refer to IEEE 1284 standard for operation control). In addition, it also gives software the flexibility of
adopting new and revised protocols.
Compatibility Hardware Handshaking Mode
Compatibility hardware handshaking mode is enabled by setting the PPCONL's mode-selection bits as "01", i.e.
PPCONL[5:4] = 01. In this mode, hardware generates all handshaking signals needed to implement compatibility
mode of the parallel port communication protocol.
When this mode is enabled, the PPIC automatically generates a BUSY signal to receive the leading edge of
nSTROBE from the host, and latches the logic levels on PPD7-PPD0 pins into the PPDATA register. The PPIC then
waits for nSTROBE to negate it and for the PPDATA's data field to be read. After the PPDATA is read, the PPIC
asserts nACK for the duration specified in the ACK Width Data Register (PPACKD), and then negates the nACK
and BUSY signal to conclude the data transfer, as shown in Figure 19-1.
NOTE
The BUSY-control bit initial value in the PPSCON register, PPSCON[3], which is "1" after a system reset,
results in the high logic level on BUSY output and handshaking disable. To enable hardware handshaking in
this mode, the BUSY-control bit PPSCON[3] must be cleared to "0" by software beforehand.