![Texas Instruments AM1808 Technical Reference Manual Download Page 1665](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_10945581665.webp)
PD
DB
BD
DB
BD
DB
CPU
CPPI DMA
XDMA
USB Packets
CPPI Transmit (USB IN)
CPPI Receive (USB OUT)
Single Transfer
in Main Memory
(608 Bytes)
CPPI Packet in
Main Memory
(256 Byte DBs)
CPPI FIFO
(64-Byte Blocks)
Endpoint FIFOs
(512 Bytes)
Single Transfer
in External USB
Host (608 Bytes)
Architecture
1665
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Universal Serial Bus 2.0 (USB) Controller
34.2.8.12 USB Data Flow Using DMA
The necessary steps required to perform a USB data transfer using the CPPI 4.1 DMA is expressed using
an example for both transmit and receive cases. Assume a device is ready to perform a data transfer of
size 608 bytes (see
).
Figure 34-20. High-Level Transmit and Receive Data Transfer Example
Example assumptions:
•
The CPPI data buffers are 256 bytes in length.
•
The USB endpoint 1 Tx and Rx endpoint 1 size are 512 bytes.
•
A single transfer length is 608 bytes.
•
The SOP offset is 0.
This translates to the following:
•
Transmit Case:
–
1 Host Packet Descriptor with Packet Length field of 608 bytes and a Data Buffer of size 256 Bytes
linked to the 1st Host Buffer Descriptor.
–
First Host Buffer Descriptor with a Data Buffer size of 256 Bytes linked to the 2nd Buffer Descriptor.
–
Second Host Buffer Descriptor with a Data Buffer size of 96 bytes (can be greater, the Packet
Descriptor contain the size of the packet) linked with its link word set to Null.
•
Receive Case:
–
Two Host Buffer Descriptors with 256 bytes of Data Buffer Size
–
One Host Buffer Descriptor with 96 bytes (can be greater) of Data Buffer size
Within the rest of this section, the following nomenclature is used.
BD—
Host Buffer Descriptor
DB—
Data Buffer Size of 256 Bytes
PBD—
Pointer to Host Buffer Descriptor
PD—
Host Packet Descriptor