www.digiembedded.com
709
USB Controller Module
Figure 101: USB module architecture
The device block handles most packets that contain control and/or configuration
information requiring device driver interaction to maintain only the DMA descriptor
lists. The device block provides the appropriate handshake responses to USB. Control
commands that require a response require the device driver to prepare a response
based on a unique identifier supplied by the device block. Control commands not
handled by the device block require the device driver to inspect the data provided by
the setup phase of the packet, construct the required response, and initiate the DMA
of the response data to the device block. The initial “try” of such commands typically
is greeted with a
NAK due to the lack of an available response. Later retries
eventually result in the transmission of the response. Packets that contain data or
require data transfer are handled by a multi-channel DMA function in the device
block. Each pipe is associated with a specific DMA channel. If the DMA channel for a
FIFOs and
DMA channels
Device block
Host block
BBus Config DMA
XCVR