9-26
DS785UM1
Copyright 2007 Cirrus Logic
1/10/100 Mbps Ethernet LAN Controller
EP93xx User’s Guide
9
9
9
9.2.3.7 Transmit Descriptor Processor Queues
The transmit descriptor processor uses two circular queues in Host memory to manage the
transfer of transmit data frame. The transmit descriptor queue is used to pass descriptors of
user's data buffers from the Host to the MAC. The transmit status queue is used to pass
information on the MAC's use of the data buffer back to the Host. Keeping these queues
separate enables the use of burst transfers to and from the queues, reducing the overall
amount of bus traffic and avoiding some potential latency problem.
9.2.3.8 Transmit Descriptor Queue
The Transmit descriptors are passed from the Host to the MAC via the Transmit descriptor
queue. The Transmit descriptor queue is a circular queue occupying a contiguous area of
memory. The location and size of the queue are set at initialization by the Host writing to the
Transmit Descriptor Queue Base Address Register and the Transmit Descriptor Queue Base
Length. The base address must point to a word aligned memory location. The Transmit
Descriptor Queue Base Length is set to the length in bytes of the queue. The length should
be an integral number of descriptors and must not exceed 64 Kbytes total. The Transmit
descriptor current address must also be set at initialization to point to the first descriptor to be
used. This would normally be the first entry (same value as the base address).
Following initialization, the MAC will start to use descriptors from the Current Descriptor
Address, wrapping back to the base pointer whenever the end of the queue is reached. In
normal operation the Host should not need to access these registers after the initialization.
The management of the descriptors is handled via the Transmit Descriptor Enqueue register.
Enqueueing descriptors is the process of adding descriptors to an existing queue. This is
achieved in transmit by writing the number of additional descriptors to the Transmit Descriptor
Enqueue register. The written value will be added to the previous value to keep a running
total, as descriptors are read by the MAC, the total is adjusted. The running total is available
by reading the enqueue register. One frame may be described by more than one descriptor,
but the final descriptor will contain the EOF bit. Not all the descriptors for a frame need to be
supplied at once.
No more than 255 descriptors may be added in one write. If a number greater than this needs
to be written. the write should be broken up into more than one operation (that is, to add 300
descriptors - first write 255, then write 45).
Summary of Contents for EP93 Series
Page 28: ...P 6 DS785UM1 Copyright 2007 Cirrus Logic Preface EP93xx User s Guide PP P ...
Page 162: ...5 36 DS785UM1 Copyright 2007 Cirrus Logic System Controller EP93xx User s Guide 55 5 ...
Page 576: ...15 18 DS785UM1 Copyright 2007 Cirrus Logic UART2 EP93xx User s Guide 1515 15 ...
Page 634: ...17 38 DS785UM1 Copyright 2007 Cirrus Logic IrDA EP93xx User s Guide 1717 17 ...
Page 648: ...19 6 DS785UM1 Copyright 2007 Cirrus Logic Watchdog Timer EP93xx User s Guide 1919 19 ...
Page 688: ...21 32 DS785UM1 Copyright 2007 Cirrus Logic I2S Controller EP93xx User s Guide 2121 21 ...
Page 790: ...27 20 DS785UM1 Copyright 2007 Cirrus Logic IDE Interface EP93xx User s Guide 2727 27 ...
Page 808: ...28 18 DS785UM1 Copyright 2007 Cirrus Logic GPIO Interface EP93xx User s Guide 2828 28 ...