Universal Serial Bus controller refers to the USB (Universal Serial Bus) controller, which is a serial bus standard for connecting external devices; USB is an emerging data communication method that gradually replaces other interface standards. , used to standardize the connection and communication between computers and external devices.
The operating environment of this tutorial: Windows 10 system, DELL G3 computer.
What is a Universal Serial Bus?
Universal Serial Bus (USB) is A serial bus standard for connecting external devices. It is widely used in computers, but can also be used in set-top boxes and game consoles. The supplementary standard (On-The-Go) enables it to be used to directly exchange data between portable devices.
The driver of the universal serial bus controller is the USB port driver, which is a universal serial bus architecture developed by Intel;
As the name suggests, universal serial bus controller, that is USB controller.
Brief introduction
Universal Serial Bus (USB) is an emerging data communication method that gradually replaces other interface standards. It was jointly formulated by computer companies and communications companies such as Intel, Compaq, Digital, IBM, Microsoft, NEC and Northern Telecom in 1995, and gradually formed an industry standard.
As a high-speed serial bus, the USB bus has extremely high transmission speed that can meet the application environment requirements of high-speed data transmission. The bus also has simple power supply (can be bus powered) and convenient installation and configuration ( Supports plug-and-play and hot-swap), simple expansion ports (up to 127 peripherals can be expanded through a hub), diversified transmission methods (4 transmission modes), and good compatibility (downward compatibility after product upgrades), etc. . Since its launch, the universal serial bus (USB) has successfully replaced serial ports and parallel ports and has become one of the standard expansion interfaces and essential interfaces for a large number of computers and smart devices in the 21st century. It has now developed to USB 4.0 version.
Extended knowledge
Each USB has only one host, which includes the following layers:
Bus interface
The USB bus interface handles the interconnection of the electrical layer and the protocol layer. From an interconnection perspective, similar bus interfaces are provided by both the device and the host, such as a serial interface machine (SIE). The USB bus interface is implemented by the host controller.
The USB system uses the main controller to manage data transmission between the host and USB devices. The interface between it and the main controller depends on the hardware definition of the main controller. At the same time, the USB system is also responsible for managing USB resources, such as bandwidth and bus energy, which makes it possible for customers to access USB. The USB system also has three basic components:
Host Controller Driver (HCD) This can map different host controller devices to the USB system. The interface between HCD and USB is called HCDI. A specific HCDI is defined by the operating system that supports different host controllers. The universal host controller driver (UHCD) is at the bottom of the soft structure and manages and controls the host controller. UHCD implements communication with and control of the USB host controller, and it is hidden from other parts of the system software. The highest level in the system software communicates with the main controller through the UHCD's software interface.
USB Driver (USBD) It is on top of the UHCD driver. It provides a driver-level interface to meet the requirements of existing device driver design. USBD provides a data transfer architecture in the form of I/O request packets (IRPs), which consists of the requirements to transfer data through a specific pipe (Pipe). In addition, USBD enables clients to present an abstraction of the device for easier abstraction and management. As part of the abstraction, USBD has default pipes. It provides access to all USB devices for standard USB control. The default pipe describes a logical channel for communication between USBD and USB devices.
Host software
In some operating systems, USB system software is not provided. These software are originally used to provide configuration information and loading structures to device drivers. In these operating systems, the device driver will apply the provided interface instead of directly accessing the USBDI (USB Driver Interface) structure.
USB client software
It is located at the highest level of the software structure and is responsible for handling specific USB device drivers. The client layer describes all software entries that act directly on the device. When the device is detected by the system, these client programs will directly act on the peripheral hardware. This shared feature places the USB system software between the client and its device, which requires the client program to process it based on the device image formed by USBD on the client.
Each layer of the host has the following functions:
Detect connected and removed USB devices.
Manage data flow between host and USB device.
Connect USB status and activity statistics.
Control the electrical interface between the host controller and the USB device, including limited energy supply.
HCD provides an abstraction of the host controller and an abstraction of the host controller's perspective on data transferred over USB. USBD provides an abstraction of USB devices and an abstraction of data transfer between USBD clients and USB functions. The USB system facilitates data transfer between clients and functions and serves as a control point for standardized interfaces to USB devices. The USB system provides buffer management capabilities and allows data transfer to be synchronized with client and functional requirements.
For more related knowledge, please visit the FAQ column!
The above is the detailed content of What is a Universal Serial Bus Controller?. For more information, please follow other related articles on the PHP Chinese website!