English
Language : 

PIC16LF1454 Datasheet, PDF (325/418 Pages) Microchip Technology – 14/20-Pin Flash, 8-Bit USB Microcontrollers with XLP Technology
PIC16(L)F1454/5/9
26.10.4 POWER
Power is available from the USB. The USB specifica-
tion defines the bus power requirements. Devices may
either be self-powered or bus powered. Self-powered
devices draw power from an external source, while bus
powered devices use power supplied from the bus.
The USB specification limits the power taken from the
bus. Refer to USB Specification 2.0, 7.2.3 for power
limits information. Note that power above one unit load
is a request and the host or hub is not obligated to
provide the extra current. Thus, a device capable of
consuming more than one unit load must be able to
maintain a low-power configuration of a one unit load or
less, if necessary.
The USB specification also defines a Suspend mode.
In this situation, current must be limited. A device must
enter a Suspend state after 3 ms of inactivity (i.e., no
SOF tokens for 3 ms). A device entering Suspend
mode must drop current consumption within 10 ms
after Suspend. Likewise, when signaling a wake-up,
the device must signal a wake-up within 10 ms of
drawing current above the suspend limit. Refer to USB
Specification 2.0, 7.2.3 for current limit information.
26.10.5 ENUMERATION
When the device is initially attached to the bus, the host
enters an enumeration process in an attempt to identify
the device. Essentially, the host interrogates the device,
gathering information such as power consumption, data
rates and sizes, protocol and other descriptive
information; descriptors contain this information. A
typical enumeration process could be as follows:
1. USB Reset: Reset the device, which means the
device is not configured and does not have an address
(address 0).
2. Get Device Descriptor: The host requests a small
portion of the device descriptor.
3. USB Reset: Reset the device again.
4. Set Address: The host assigns an address to the
device.
5. Get Device Descriptor: The host retrieves the device
descriptor, gathering info such as manufacturer, type of
device, maximum control packet size.
6. Get configuration descriptors.
7. Get any other descriptors.
8. Set a configuration.
The exact enumeration process depends on the host.
26.10.6 DESCRIPTORS
There are eight different standard descriptor types, of
which five are most important for this device.
26.10.6.1 Device Descriptors
The device descriptor provides general information,
such as manufacturer, product number, serial number,
the class of the device and the number of configurations.
There is only one device descriptor.
26.10.6.2 Configuration Descriptors
The configuration descriptor provides information on the
power requirements of the device and how many different
interfaces are supported when in this configuration. There
may be more than one configuration for a device (i.e., low-
power and high-power configurations).
26.10.6.3 Interface Descriptors
The interface descriptor details the number of endpoints
used in this interface, as well as the class of the interface.
There may be more than one interface for a configuration.
26.10.6.4 Endpoint Descriptors
The interface descriptor details the number of endpoints
used in this interface, as well as the class of the interface.
There may be more than one interface for a configuration.
26.10.6.5 String Descriptors
Many of the previous descriptors reference one or more
string descriptors. String descriptors provide human
readable information about the layer (Section 26.10.1
“Layered Framework”) they describe. Often these
strings show up in the host to help the user identify the
device. String descriptors are generally optional to save
memory and are encoded in a unicode format.
26.10.7 BUS SPEED
Each USB device must indicate its bus presence and
speed to the host. This is accomplished through a pull-
up, which is connected to the bus at the time of the
attachment event. Depending on the speed of the
device, the pull-up connects either the D+ or D- line to
3.3V. For a low-speed device, the pull-up is connected
to the D- line. For a full-speed device, the pull-up is
connected to the D+ line.
26.10.8 CLASS SPECIFICATION AND
DRIVERS SPEED
USB specifications include class specifications, which
operating system vendors optionally support. Examples
of classes include Audio, Mass Storage, Communications
and Human Interface (HID). In most cases, a driver is
required at the host side to ‘talk’ to the USB device. In
custom applications, a driver may need to be developed.
Fortunately, drivers are available for most common host
systems for the most common classes of devices. Thus,
these drivers can be reused.
 2012 Microchip Technology Inc.
Preliminary
DS41639A-page 325