Back Next
Logical architecture.

Host controller provides root hub(s) to which multiple devices may be attached.

Some of these devices may be or contain hubs providing a hierarchical tree 
  structure.

A device is assigned an ID when attached. A root hub supports 127 devices.

A device can have up to 32 endpoints. Endpoints are designed into the device.
  They are physical buffers.

Endpoints are grouped together to form a function and a device can have
  multiple functions.  

  Composite devices have multiple endpoints assigned different tasks.
    Web cam with mic. 
      Video use one function and 3 endpoints for color sensing.

      Audio uses a separate function and  endpoint for sound.


  Compound devices have multiple features, each of which is assigned its own
    USB device address with needed functions and endpoints. 

    USB Printer/Fax/Modem has an internal hub and each feature is assigned
      a separate device ID.

Communication is performed via pipes. 

A pipe is a logical connection between host and an endpoint on a device.
  Most pipes are 'stream' and unidirectional.

  A pipe exists while information is being transmitted between device and
    host hub.

  Pipe 0 is a bi-directional 'message' pipe and is used for control and status.
    Each "device" will have a pipe 0.