Datasheet

87 www.national.com
5.0 Buffer Management (Continued)
DP83815
Table 5-6 Receive State Tables
State Event Next State Actions
rxIdle CR:RXE && !CRDD rxDescRead Start a burst transfer at address RXDP and a length
derived from RXCFG.
CR:RXE && CRDD rxDescRefr Start a burst transfer to refresh the link field of the current
descriptor.
rxDescRefr XferDone rxAdvance
rxDescRead XferDone && !OWN rxFIFOblock
XferDone && OWN rxIdle Set ISR:RXIDLE.
rxFIFOblock FifoReady rxFragWrite Start a burst transfer from the RxDataFIFO to host
memory at fragPtr. The length will be the minimum of
rxPktBytes and descCnt. Decrement descCnt
accordingly.
(descCnt == 0) &&
(rxPktBytes > 0)
rxDescWrite Start a burst transfer to write the status back to the
descriptor, setting the OWN bit, and setting the MORE
bit. We'll continue the packet in the next descriptor.
rxPktBytes == 0 rxDescWrite Start a transfer to write the cmdsts back to the descriptor,
setting the OWN bit and clearing the MORE bit, and
filling in the final receive status (CRC, FAE, SIZE, etc.).
rxFragWrite XferDone rxFIFOblock
rxDescWrite XferDone rxAdvance
rxAdvance link!= NULL rxDescRead RXDP <- rxDescCache.link. Clear CRDD. Start a burst
transfer at address RXDP with a length derived from
RXCFG:MXDMA.
link == NULL rxIdle Set CRDD. Set ISR:RXIDLE.
Obsolete