12-10 Intel® PXA26x Processor Family Developer’s Manual
Universal Serial Bus Device Controller

12.3.7 Configuration

In response to the GET_DESCRIPTOR command, the user device sends back a description of the
UDC configuration. The UDC can physically support more data channel bandwidth than the USB
specification allows. When the device responds to the host, it must specify a legal USB
configuration. For example, if the device specifies a configu ration of six isochronous endpoints of
256bytes each, the host is not able to schedule the proper bandwidth and does not take the UDC
out of configuration 0. The user device determines which endpoints to report to the host. If an
endpoint is not reported, it is not used. Another option, attractive for use with isochronous
endpoints, is to describe a configuration of a packet wit h a maxi mum si ze less t han 2 56bytes to the
host. For example, if software responds to the GET_DESCRIPTOR command that endpoint 3 only
supports 64bytes maximum packet isochronous IN data, the user device must set the
UDCCS3[TSP] bit after it loads 64 bytes for transmission. Sim ilarly, if endpoint 4 is described as
supporting 128bytes maximum packet isochronous OUT data, the UDC recognizes the end of the
packet, sets UDCCS4[RPC], and an interrupt is generated.
The direction of the endpoints is fixed. P hysically, the UDC only supports interrupt endpoints with
a maximum packet size of 8bytes or less, bulk endpoints with a maximum packet size of 64bytes
or less, and isochronous endpoints with a maximum packet size of 256bytes or less.
To make the processor more adaptable, the UDC supports a total of fou r configurations. Each of
these configurations are identical in the UDC, software can make three distinct configurations,
each with two interfaces. Configuration 0 is a default configuration of endpoint 0 only and cannot
be defined as any other arrangement.
After the host completes a SET_CONFIGURATION or SET_INTERFACE command, the
software must decode the command to empty the OUT endpoint FIFOs and al low the core to set u p
the proper power/periph er al configurations.
12.4 UDC Hardware Connection
This section explains how to connect the USB interface for a variety of devices.

12.4.1 Self-Powered Device

Figure12-2 shows how to connect the USB interface for a self-powered device. The 0 resistors
are optional and if they are not used, USB D+ must connect directly to the device UDC D+ and
connect USB D- must connect directly to the device UDC D-. The UDC D+ and UDC D- pins are
designed to match the impedance of a USB cable, 90, without external series resistors. To allow
minor impedance corrections to compensate for the impedance that resul ts from the board trace,
0 resistors are recommended on the board.
A 5V to 3.3V device is required because the input pins of the processor can only tolerate 3.3V.
The device can be implemented in a number of ways. The most robust and expensive solution is a
power-on-reset device such as a MAX6348. This solution pr oduces a clean signal edge and
minimizes signal bounce. A more inexpensive solution is a 3.3V line buffer with inputs that can
tolerate 5V. This solution does not reduce signal bounce, so software mus t compensate by reading
the GPIO repeatedly until it proves to be stable. A third solution is a signal bounce minimization
circuit that can tolerate 5V but produces a 3.3 V signal to the GPIO pin.