![Texas Instruments AM1808 Technical Reference Manual Download Page 1668](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_10945581668.webp)
Main
Memory
CPU
Interrupts
Queue
Push/Pop
Operations
Queue
Manager
CPPI
DMA
(CDMA)
Queue
Push/Pop
Operations
cdma_sreq
cdma_sready
CDMA
Scheduler
(CDMAS)
Queue Indicators
FIFO_full
FIFO_empty
CPPI
FIFO
FIFO_full
FIFO_empty
Transfer
DMA
(XDMA)
Mentor
USB 2.0
Core
Configuration
Rd/Wr
DMA_req[8]
Endpoint
FIFOs
USB
Bus
CPPI 4.1
USB Controller
TXSQ
Queue
16
TXCQ
Queue
24
Architecture
1668
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Universal Serial Bus 2.0 (USB) Controller
(b) The XDMA sees FIFO_empty not asserted and transfers 64-byte block from CPPI FIFO to Endpoint
FIFO.
(c) The CDMA performs the above 2 steps 2 more times since data size of the HBD is 256 bytes.
9. The CDMA reads the second buffer descriptor pointer.
10. CDMA reads the buffer descriptor from memory.
11. For each 64-byte block of data in the packet data payload:
(a) The CDMA transfers a max burst of 64-byte block from the data to be transferred in main memory
to the CPPI FIFO.
(b) The XDMA sees FIFO_empty not asserted and transfers 64-byte block from CPPI FIFO to Endpoint
FIFO.
(c) The CDMA transfers the last remaining 32-byte from the data to be transferred in main memory to
the CPPI FIFO.
(d) The XDMA sees FIFO_empty not asserted and transfers 32-byte block from CPPI FIFO to Endpoint
FIFO.
Step 3 (Mentor USB 2.0 Core transmits USB packets for Tx):
1. Once the XDMA has transferred enough 64-byte blocks of data from the CPPI FIFO to fill the Endpoint
FIFO, it signals the Mentor USB 2.0 Core that a TX packet is ready (sets the endpoint’s TxPktRdy bit).
2. The Mentor USB 2.0 Core will transmit the packet from the Endpoint FIFO out on the USB BUS when
it receives a corresponding IN request from the attached USB Host.
3. After the USB packet is transferred, the Mentor USB 2.0 Core issues a TX DMA_req to the XDMA.
4. This process is repeated until the entire packet has been transmitted. The XDMA will also generate the
required termination packet depending on the termination mode configured for the endpoint.
An example of the completion for a transmit USB data flow is shown in
.
Figure 34-23. Transmit USB Data Flow Example (Completion)
Step 4 (Return packet to completion queue and interrupt CPU for Tx):
1. After all data for the packet has been transmitted (as specified by the packet size field), the CDMA will
write the pointer to the packet descriptor to the TX Completion Queue specified in the return queue
manager / queue number fields of the packet descriptor.