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.