1The USB host end, also known as the USB controller, consists of two main parts: the USB controller that interacts with the system bus and the root hub of the USB bus.
A USB host end is an independent USB bus, which can be classified into OHCI, UHCI, EHCI, xHCI, USB controllers, and other categories based on the USB version.
As shown in the figure below, you can see the following in Device Manager on my machine:

USB Device Tree
As shown, the USB controller is connected to the system’s PCIe bus, and the PCIe bus driver enumerates the USB controller. The USB controller then enumerates the USB root hub, which is the root hub of this USB bus. The USB root hub is connected to other USB devices, including a USB secondary hub.
Functions of the USB Host Root Hub:
Detect the connection and removal of USB devices
Manage control flow between the host and USB devices
Manage data flow between the host and USB devices
Collect status and activity statistics
Power connected USB devices
The USB system software on the host manages the interaction between USB devices and host-based devices. The interaction between USB system software and device software has five aspects:
Device – Enumeration and configuration
Synchronous data transfer
Asynchronous data transfer
Power management
Device and bus management information
USB devices
USB devices can be:
Hubs, providing expanded connection points for USB.
Functional devices that provide functionality to the system, such as USB flash drives, USB cameras, keyboards, and mice.
In the USB specification, the USB interface represents the functionality of USB, and its corresponding device functionality is achieved through the selection of USB interface descriptors.






















Leave a comment