Specifications
24
24
USB—Chapter 9
The enumeration process begins
The host initiates a set of communication requests to the device to determine
the who, what, and how about the device
The device has pre-defined structures located in flash that describe what it
does and how it needs to do it
These are called descriptors
The host initializes a device through a series of device requests via
control transfers to Endpoint 0. These are defined by the USB specification
and have specific control transfer formats that we have discussed.
Chapter 9 Defines
The device states
The standard request format
The device descriptor format
The process used to transfer all of the configuration
information to endpoint 0 is called
Enumeration.
Chapter 9 of the USB Specification calls out the routing of data between the bus
interface (lowest layer) and various endpoints on the device. An endpoint is the
ultimate consumer or provider of data. It may be thought of as a source or sink for
data. We covered all of the different transfer types and how they are composed of
the different packet structures and also discussed that data phase of the transfers and
in which direction the data flows based on the request type. We have eluded to
things called request but really haven’t delved into it so far. Chapter 9 of the USB
specification outlines what all of the data in the Control Transfers means. If you
recall in our outline of the control transfer we mentioned that there are 8 data bytes
that get sent in the Setup phase. Those eight data bytes tells the device what
information the host is requesting. All of these requests are defined in the USB
specification, hence the term Standard Requests. In addition, the USB specification
outlines the format for the data that the host wants to receive from devices which
provides firmware developers the template required to store all of the configuration
information for the end device.