EasyManua.ls Logo

Texas Instruments TMS320C6745 DSP - Page 1371

Texas Instruments TMS320C6745 DSP
1472 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
www.ti.com
Architecture
1371
SPRUH91D–March 2013–Revised September 2016
Submit Documentation Feedback
Copyright © 2013–2016, Texas Instruments Incorporated
Universal Serial Bus 2.0 (USB) Controller
31.2.8.5.3.1 Receive Free Descriptor/Buffer (Submit) Queue
Receive ports use queues referred to as "receive free descriptor / buffer queues" to forward completed
receive packets to the host or another peer port entity. The entries on the Free Descriptor / Buffer Queues
have pre-attached empty buffers whose size and location are described in the "original buffer information"
fields in the descriptor. The host is required to allocate both the descriptor and buffer and pre-link them
prior to adding (submitting) a descriptor to one of the available receive free descriptor / buffer queue. The
first 16 queues (Queue 0 up to Queue 15) are reserved for all four receive ports to handle incoming
packets.
31.2.8.5.3.2 Transmit (Submit) Queue
Transmit ports use packet queues referred to as "transmit (submit) queues" to store the packets that are
waiting to be transmitted. Each port has dedicated queues (2 queues per port) that are reserved
exclusively for a use by a single port. Multiple queues per port/channel are allocated to facilitate Quality of
Service (QoS) for applications that require QoS. Queue 16 and 17 are allocated for port 1, Queue 18 and
19 are allocated for port 2 and Queue 20 and Queue 21 are allocated for port 3 and Queue 22 and 23 are
allocated for port 4.
31.2.8.5.3.3 Transmit Completion Queue
Transmit ports also use packet queues referred to as "transmit completion queues" to return packets to
the host after they have been transmitted. Even though, non-allocated queues can be used for this
purpose, a total of two dedicated queues (Queue 24 and Queue 25), that is to be shared amongst all four
transmit ports, have been reserved for returning transmit packets after end of transmit operation when the
firmware desires to receive interrupt when transmission completes.
31.2.8.5.3.4 Receive Completion Queue
Receive ports also use packet queues referred to as "receive completion queues" to return packets to the
port after they have been received. Even though, non-allocated queues can be used for this purpose, a
total of two dedicated queues (Queue 26 and Queue 27), that is to be shared amongst all four transmit
ports, have been reserved for returning received packets to the receive ports after end of receive
operation when the firmware desires to receive interrupt when transmission completes.
31.2.8.5.3.5 Unassigned (Application Defined) Queue
Thirty-six additional queues (Queue 28 to Queue 63) exist that have not been dedicated for exclusive use.
The user can use these queues as a Completion Queues or Free Descriptor/Buffer queue.
When these queues are used as Completion Queues, interrupt will not be generated. However, the
queues will have the list of descriptor pointers for the packets that have completed transmission or
reception. The firmware can use polling method by continually performing the de-queuing technique onto
the particular unassigned queue used to identify if the reception or transmission has completed.
When unassigned queues are used as free descriptor/buffer queue, the user can use these queues to
queue/store available descriptors for future receive and transmit operations by the firmware popping the
respective assigned queue and retrieving and populating descriptor prior to submitting the updated
descriptor.
31.2.8.5.3.6 Teardown Queue
The Teardown Queue is used by the DMA to communicate a completion of a channel teardown after a
channel teardown is invoked on to a channel. The pointer to the teardown descriptor is written to the
teardown queue, which is also the Completion Queue, when the channel teardown completes.
31.2.8.5.3.7 Diverting Queue Packets from one Queue to Another
The host can move the entire contents of one queue to another queue by writing the source queue
number and the destination queue number to the Queue Diversion Register. When diverting packets, the
host can choose whether the source queue contents should be pushed onto the tail of the destination
queue.

Table of Contents