Atmel Evaluation Kit for AT32uC3A0512, 32-Bit AVR Microcontroller Atmel ATEVK1105 ATEVK1105 Data Sheet

Product codes
ATEVK1105
Page of 826
529
AT32UC3A
30.7.4
USB DMA Operation
USB packets of any length may be transferred when required by the USB controller. These
transfers always feature sequential addressing. These two characteristics mean that in case of
high USB controller throughput, both HSB ports will benefit from “incrementing burst of unspeci-
fied length” since the average access latency of HSB slaves can then be reduced.
The DMA uses word “incrementing burst of unspecified length” of up to 256 beats for both data
transfers and channel descriptor loading. A burst may last on the HSB busses for the duration of
a whole USB packet transfer, unless otherwise broken by the HSB arbitration or the HSB 1 kbyte
boundary crossing.
Packet data HSB bursts may be locked on a DMA buffer basis for drastic overall HSB bus band-
width performance boost with paged memories. This is because these memories row (or bank)
changes, which are very clock-cycle consuming, will then likely not occur or occur once instead
of dozens of times during a single big USB packet DMA transfer in case other HSB masters
address the memory. This means up to 128 words single cycle unbroken HSB bursts for bulk
pipes/endpoints and 256 words single cycle unbroken bursts for isochronous pipes/endpoints.
This maximal burst length is then controlled by the lowest programmed USB pipe/endpoint size
(PSIZE/EPSIZE) and DMA channel byte length (CH_BYTE_LENGTH).
The USB controller average throughput may be up to nearly 1.5 Mbyte/s. Its average access
latency decreases as burst length increases due to the 0 wait-state side effect of unchanged
pipe/endpoint. Word access allows reducing the HSB bandwidth required for the USB by 4 com-
pared to native byte access. If at least 0 wait-state word burst capability is also provided by the
other DMA HSB bus slaves, each of both DMA HSB busses need less than 1.1% bandwidth
allocation for full USB bandwidth usage at 33 MHz, and less than 0.6% at 66 MHz.
Figure 30-30.
Example of DMA Chained List
Data Buffer 1
Data Buffer 2
Data Buffer 3
Memory Area
Transfer Descriptor
Next Descriptor Address
HSB Address
Control
Transfer Descriptor
Transfer Descriptor
USB DMA Channel X Registers
(Current Transfer Descriptor)
Next Descriptor Address
HSB Address
Control
NULL
Status
Next Descriptor Address
HSB Address
Control
Next Descriptor Address
HSB Address
Control
32058K
AVR32-01/12