beautypg.com

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

Page 108

background image

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