![Texas Instruments AM1808 Скачать руководство пользователя страница 1667](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_10945581667.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
1667
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Universal Serial Bus 2.0 (USB) Controller
Figure 34-22. Transmit USB Data Flow Example (Initialization)
Step 1 (Initialization for Tx):
1. The CPU initializes Queue Manager with the Memory Region 0 base address and Memory Region 0
size, Link RAM0 Base address, Link RAM0 data size, and Link RAM1 Base address.
2. The CPU creates PD, BDs, and DBs in main memory and link as indicated in
.
3. It then initializes and configures the Queue Manager, Channel Setup, DMA Scheduler, and Mentor
USB 2.0 Core.
4. It then adds (pushes) the PPD and the two PBDs to the TXSQ
NOTE:
You can create more BD/DB pairs and push them on one of the unassigned queues. The
firmware can pop a BD/DP pair from this chosen queue and can create its HPD or HBDs and
pre link them prior to submitting the pointers to the HPD and HBD on to the TXSQ.
Step 2 (CDMA and XDMA transfers packet data into Endpoint FIFO for Tx):
1. The Queue Manager informs the CDMAS that the TXSQ is not empty.
2. CDMAS checks that the CPPI FIFO FIFO_full is not asserted, then issues a credit to the CDMA.
3. CDMA reads the packet descriptor pointer and descriptor size hint from the Queue Manager.
4. CMDA reads the packet descriptor from memory.
5. 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 performs the above 2 steps 3 more times since the data size of the HPD is 256 bytes.
6. The CDMA reads the first buffer descriptor pointer.
7. CDMA reads the buffer descriptor from memory.
8. 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.