The ECP requests programmed I/O transfers from the
host by activating the PINTR pin. The programmed I/O
will empty or fill the FIFO using the appropriate
direction and mode.
the FIFO. If at this time the FIFO is full, it can be
completely emptied in single burst, otherwise a
minimum of (16-<threshold>) bytes may be read from the
FIFO in a single burst.
a
Note: A threshold of 16 is equivalent to a threshold of 15.
These two cases are treated the same.
Programmed I/O - Transfers from the Host to the
FIFO
Programmed I/O - Transfers from the FIFO to the
Host
In the forward direction an interrupt occurs when
serviceIntr is 0 and there are writeIntrThreshold or more
bytes free in the FIFO. At this time if the FIFO is empty it
can be filled with a single burst before the empty bit
needs to be re-read. Otherwise it may be filled with
writeIntrThreshold bytes.
In the reverse direction an interrupt occurs when
serviceIntr
is 0 and
readIntrThreshold bytes are
available in the FIFO. If at this time the FIFO is full it
can be emptied completely in a single burst, otherwise
readIntrThreshold bytes may be read from the FIFO in a
single burst.
writeIntrThreshold =
(16-<threshold>) free bytes in
FIFO
readIntrThreshold =
(16-<threshold>) data bytes
in FIFO
An interrupt is generated when serviceIntr is 0 and the
number of bytes in the FIFO is less than or equal to
<threshold>. (If the threshold = 12, then the interrupt is
set whenever there are 12 or less bytes of data in the
FIFO). The PINT pin can be used for interrupt-driven
systems. The host must respond to the request by writing
data to the FIFO. If at this time the FIFO is empty, it can
be completely filled in a single burst, otherwise a
minimum of (16-<threshold>) bytes may be written to the
FIFO in a single burst. This process is repeated until the
last byte is transferred into the FIFO.
An interrupt is generated when serviceIntr is 0 and the
number of bytes in the FIFO is greater than or equal to
(16-<threshold>). (If the threshold = 12, then the interrupt
is set whenever there are 4-16 bytes in the FIFO). The
PINT pin can be used for interrupt-driven systems. The
host must respond to the request by reading data from
the FIFO. This process is repeated until the last byte is
transferred out of
107