beautypg.com

Rainbow Electronics DS3134 User Manual

Page 112

background image

DS3134

112 of 203

The Receive Done Queue is circular queue. To keep track of the addresses of the circular queue in the
Receive Done Queue, there are a set of internal addresses within the device that accessed by both the Host
and the DMA. On initialization, the Host will configure all of the registers shown in Table 8.1.4A. After
initialization, the DMA will only write to (i.e. change) the write pointer and the Host will only write to the
read pointer.

Empty Case

The Receive Done Queue is considered empty when the read and write pointers are identical.

Receive Done Queue Empty State

empty descriptor
empty descriptor
empty descriptor

read pointer >

empty descriptor

< write pointer

empty descriptor
empty descriptor
empty descriptor

Full Case

The Receive Done Queue is considered full when the read pointer is ahead of the write pointer by one
descriptor. Hence, one descriptor must always remain empty.

Receive Done Queue Full State

valid descriptor
valid descriptor

empty descriptor

< write pointer

read pointer >

valid descriptor
valid descriptor
valid descriptor
valid descriptor