English
Language : 

37C957FR Datasheet, PDF (137/328 Pages) SMSC Corporation – ULTRA I/O CONTROLLER FOR PORTABLE APPLICATIONS
An interrupt is generated when:
1. For DMA transfers: When serviceIntr is 0, dmaEn is 1 and the DMA TC is received.
2. For Programmed I/O:
a. When serviceIntr is 0, dmaEn is 0, direction is 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.
b.
(1) When serviceIntr is 0, dmaEn is 0, direction is 1 and there are readIntrThreshold
or more bytes in the FIFO. (2) An interrupt is also generated when serviceIntr is
cleared to 0 whenever there are readIntrThreshold or more bytes in the FIFO.
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.
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 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.
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.
A high value of threshold (i.e. 12) is used with a "sluggish" system by affording a long latency period
after a service request, but results in more frequent service requests.
131