![Texas Instruments AM1808 Technical Reference Manual Download Page 1648](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_10945581648.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
SSRAM/
PPU
(CPPI
FIFO)
FIFO_full
FIFO_empty
Transfer
DMA
(XDMA)
Mentor
USB 2.0
Core
USB
PHY
Configuration
Rd/Wr
DMA_req[8]
Endpoint
FIFOs
USB
Bus
Optional
REFCLK
CPPI 4.1
USB Controller
Architecture
1648
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Universal Serial Bus 2.0 (USB) Controller
–
Set the DMAMODE bit (bit 10) to 1 when DMA is enabled.
34.2.7.2.4.2.2 Operation
The operation starts when the software writes to the FIFO and sets TXPKTRDY bit of HOST_TXCSR
(bit 0). This triggers the controller to send an OUT token followed by the first data packet from the FIFO.
An interrupt is generated whenever a packet is sent and the software may use this interrupt to load the
next packet into the FIFO and set the TXPKTRDY bit in the HOST_TXCSR register (bit 0) in the same
way as for a Bulk Tx endpoint. As the interrupt could occur almost any time within a frame, depending on
when the host has scheduled the transaction, this may result in irregular timing of FIFO load requests. If
the data source for the endpoint is coming from some external hardware, it may be more convenient to
wait until the end of each frame before loading the FIFO as this will minimize the requirement for
additional buffering. This can be done by using the SOF_PULSE signal from the controller to trigger the
loading of the next data packet. The SOF_PULSE is generated once per frame(/microframe). The
interrupts may still be used to set the TXPKTRDY bit in HOST_TXCSR.
34.2.8 Communications Port Programming Interface (CPPI) 4.1 DMA Overview
The CPPI DMA module supports the transmission and reception of USB packets. The CPPI DMA is
designed to facilitate the segmentation and reassembly of CPPI compliant packets to/from smaller data
blocks that are natively compatible with the specific requirements of each networking port. Multiple Tx and
Rx channels are provided within the DMA which allow multiple segmentation or reassembly operations to
be effectively performed in parallel (but not actually simultaneously). The DMA controller maintains state
information for each of the ports/channels which allows packet segmentation and reassembly operations
to be time division multiplexed between channels in order to share the underlying DMA hardware. A DMA
scheduler is used to control the ordering and rate at which this multiplexing occurs.
The CPPI (version 4.1) DMA controller sub-module is a common 4 dual-port DMA controller. It supports 4
Tx and 4 Rx Ports and each port attaches to the associated endpoint in the controller. Port 1 maps to
endpoint 1 and Port 2 maps to endpoint 2 and Port 3 maps to endpoint 3 and Port 4 maps to endpoint 4,
while endpoint 0 can not utilize the DMA and the firmware is responsible to load or offload the endpoint 0
FIFO via CPU.
displays the USB controller block diagram.
Figure 34-15. USB Controller Block Diagram