
Am79C965A
59
Figure 10. Descriptor DMA Write
FIFO DMA Transfers
PCnet-32 controller microcode will determine when a
FIFO DMA transfer is required. This transfer mode will
be used for transfers of data to and from the PCnet-32
controller FIFOs. Once the PCnet-32 controller BIU
has been granted bus mastership, it will perform a
series of consecutive transfer cycles before
relinquishing the bus. Each transfer will be performed
sequentially, with the issue of an address, and the
transfer of the corresponding data with appropriate
output signals to indicate selection of the active data
bytes during the transfer. All transfers within the master
cycle will be either read or write cycles, and all transfers
will be to contiguous, ascending addresses. The
number of data transfer cycles contained within a
single bus cycle is in general, dependent on the
programming of the DMAPLUS option (CSR4, bit 14).
Several other factors will also affect the length of the
bus cycle period. The possibilities are as follows:
If DMAPLUS = 0, a maximum of 16 transfers will be
performed by default. This default value may be
changed by writing to the burst register (CSR80). Note
that DMAPLUS = 0 merely sets a maximum value. The
minimum number of transfers in the bus cycle will be
determined by all of the following variables: the settings
of the FIFO watermarks, the particular conditions
existing within the FIFOs, receive and transmit status
conditions, the value of the DMA Burst Cycle (CSR80),
the value of the DMA Bus Activity Timer (CSR82), and
the timing of any occurrence of preemption that takes
place during the FIFO DMA transfer.
If DMAPLUS = 1, the bus cycle will continue until the
transmit FIFO is filled to its high threshold (read trans-
fers) or the receive FIFO is emptied to its low threshold
(write transfers), or until the DMA Bus Activity Timer
value (CSR82) has expired. Other variables may also
affect the end point of the burst in this mode. Among
those variables are: the particular conditions existing
within the FIFOs, receive and transmit status
conditions, and bus preemption events.
The FIFO thresholds are programmable (see descrip-
tion of CSR80), as are the Burst Cycle and Bus Activity
Timer values. The exact number of transfer cycles in
the case of DMAPLUS = 1 will be dependent on the
latency of the system bus to the PCnet-32 controller
’
s
mastership request and the speed of bus operation, but
ADS
Ti
BCLK
T1
T2
T1
T2
Ti
Ti
A4 A31,
M/IO, D/C
A2 A3,
BE0 BE3
RDYRTN
W/R
BRDY
BLAST
D0 D31
Ti
Ti
Ti
Ti
From
PCnet-32
From
PCnet-32
MD2*
MD2*
MD1*
MD1*
*Note that Message Descriptor addresses 2 and 1 are in descending order.
18219-13