Receive free queue structure figure 8.1.3b – Rainbow Electronics DS3134 User Manual
Page 108

DS3134
108 of 203
Receive Free Queue Structure Figure 8.1.3B
Once the Receive DMA is activated (by setting the RDE control bit in the Master Configuration register;
see Section 4), it can begin reading data out of the free queue. It knows where to read data out of the free
queue by reading the Read Pointer and adding it to the Base Address to obtain the actual 32-bit address.
Once the DMA has read the Free Queue, it increments the Read Pointer by two dwords. A check must be
made to make sure the incremented address does not equal or exceed either the Receive Free Queue Small
Buffer Start Address (in the case of the large buffer circular queue) or the Receive Free Queue End
Address (in the case of the small buffer circular queue). If the incremented address does equal or exceed
of these addresses, then the incremented read pointer will be set equal to 0000h.
dmarfq
Base + 00h
Base + 08h
Base + 10h
Base + 18h
Base + 20h
Base + End Address
Free Queue Large Buffer
Host Write Pointer
Free Queue Large Buffer
DMA Read Pointer
Maximum of 65536
Free Queue Descriptors
DMA Acquired
Free Queue Descriptor
Free Queue Small Buffer
DMA Read Pointer
Free Queue Small Buffer
Host Write Pointer
Free Queue Small Buffer
Start Address
Large
Buffer
Circular
Queue
Small
Buffer
Circular
Queue
Host Readied
Free Queue Descriptor
DMA Acquired
Free Queue Descriptor
DMA Acquired
Free Queue Descriptor
DMA Acquired
Free Queue Descriptor
DMA Acquired
Free Queue Descriptor
DMA Acquired
Free Queue Descriptor
Host Readied
Free Queue Descriptor
Host Readied
Free Queue Descriptor
Host Readied
Free Queue Descriptor
Host Readied
Free Queue Descriptor
Host Readied
Free Queue Descriptor
Host Readied
Free Queue Descriptor