The Universal Serial Bus (USB) consists of the following primary components:
- USB Host: The USB host platform is where the USB host controller is
installed and where the client software/device driver runs. The USB
Host Controller is the interface between the host and the USB
peripherals. The host is responsible for detecting the insertion and
removal of USB devices, managing the control and data flow between the host
and the devices, providing power to attached devices and more.
- USB Hub: A USB device that allows multiple USB devices to attach to
a single USB port on a USB host. Hubs on the back plane of the hosts are
called root hubs. Other hubs are called external hubs.
- USB Function: A USB device that can transmit or receive data or
control information over the bus and that provides a function. A function
is typically implemented as a separate peripheral device that plugs into a
port on a hub using a cable. However, it is also possible to create a
compound device, which is a physical package that implements
multiple functions and an embedded hub with a single USB cable. A compound
device appears to the host as a hub with one or more non-removable USB
devices, which may have ports to support the connection of external
devices.