85
www.national.com
5.0 Buffer Management
(Continued)
DP83816
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.
Summary of Contents for DP83816AVNG
Page 106: ...105 www national com DP83816 Notes...