are always possible with standard or PS/2 mode using
program control of the control signals.
b.
(1)
When serviceIntr is 0, dmaEn is 0,
direction is and there are
1
readIntrThreshold or more bytes in the
FIFO. Also, an interrupt is generated
when serviceIntr is cleared to 0
whenever there are readIntrThreshold
or more bytes in the FIFO.
Interrupts
The interrupts are enabled by serviceIntr in the ecr
register.
serviceIntr = 1 Disables the DMA and all of the
3. When nErrIntrEn is 0 and nFault transitions from high
to low or when nErrIntrEn is set from 1 to 0 and nFault
is asserted.
service interrupts.
serviceIntr = 0 Enables
the
selected
interrupt
condition. If the interrupting condition
is valid, then the interrupt is generated
immediately when this bit is changed
from a 1 to a 0. This can occur during
Programmed I/O if the number of bytes
removed or added from/to the FIFO
does not cross the threshold.
4. When ackIntEn is 1 and the nAck signal transitions
from a low to a high.
FIFO Operation
The FIFO threshold is set in the chip configuration
registers. All data transfers to or from the parallel port
can proceed in DMA or Programmed I/O (non-DMA)
mode as indicated by the selected mode. The FIFO is
used by selecting the Parallel Port FIFO mode or ECP
Parallel Port Mode. (FIFO test mode will be addressed
separately). After a reset, the FIFO is disabled. Each
data byte is transferred by a Programmed I/O cycle or
PDRQ depending on the selection of DMA or
Programmed I/O mode.
The interrupt generated is ISA friendly in that it must
pulse the interrupt line low, allowing for interrupt sharing.
After a brief pulse low following the interrupt event, the
interrupt line is tri-stated so that other interrupts may
assert.
An interrupt is generated when:
1. For DMA transfers: When serviceIntr is 0, dmaEn is
The following paragraphs detail the operation of the FIFO
flow control. In these descriptions, <threshold> ranges
from 1 to 16. The parameter FIFOTHR, which the user
programs, is one less and ranges from 0 to 15.
1 and the DMA TC is received.
2. For Programmed I/O:
a.
When serviceIntr is 0, dmaEn is 0, direction is
A low threshold value (i.e. 2) results in longer periods of
time between service requests, but requires faster
servicing of the request for both read and write cases.
The host must be very responsive to the service request.
This is the desired case for use with a "fast" system.
0 and there are writeIntrThreshold or more free
bytes in the FIFO.
Also, an interrupt is
generated when serviceIntr is cleared to 0
whenever there are writeIntrThreshold or more
free bytes in the FIFO.
105