contact usWelcome to the official website of Dongguan OuXun Lianke Electronic Technology Co., Ltd.!
4FAQ
your location: index ->  FAQ ->  USB cable software structure

USB cable software structure


There is only one host per USB, which includes the following layers:
  Bus interface
  The USB bus interface handles the interconnection of the electrical layer to the protocol layer. From an interconnect perspective, similar bus interfaces are given by both the device and the host, such as the Serial Interface Machine (SIE). The USB bus interface is implemented by the main controller.
  The USB system uses the main controller to manage data transfer between the host and the USB device. Its interface to 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. There are three basic components of the USB system:
  Master Controller Driver (HCD) This maps different host controller devices to a USB system. The interface between HCD and USB is called HCDI. The specific HCDI is defined by the operating system supporting different host controllers. The Universal Host Controller Driver (UHCD) is at the bottom of the soft structure, which manages and controls the host controller. UHCD implements communication with the USB host controller and controls 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 host controller via the software interface of the UHCD.
  The USB driver (USBD) is on top of the UHCD driver and meets the requirements of existing device driver designs. USBD provides a data transfer architecture in the form of I/O request packets (IRPs), which consist of the need to transfer data over a specific pipe (Pipe). In addition, USBD enables the client to have an abstraction of the device in order to abstract and manage it to provide driver-level interface. As part of the abstraction, USBD has a default pipeline. It gives you access to all USB devices for standard USB control. This default pipe describes a logical channel for communication between a USBD and a USB device.
  Host Software
  In some operating systems, no USB system software is provided. These software were originally used to provide configuration information and load structures to device drivers. In these operating systems, the device driver will provide the interface provided by the application 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 directly affect the device. When the device is detected by the system, these clients will act directly on the peripheral hardware. This shared feature places the USB system software between the client and its device, which is handled by the client program based on the device image formed by the USBD on the client.
  The main layers of the host have the following features:
  Detect connected and removed USB devices.
  Manage data flow between the host and the USB device.
  Connect USB status and activity statistics.
  Controls the electrical interface between the host controller and the USB device, including a limited energy supply.
  HCD provides an abstraction of the main controller's abstraction and the main controller perspective of the data transmitted over USB. USBD provides an abstraction of USB device abstraction and data transfer between USBD client and USB functions. The USB system facilitates data transfer between the client and the function and serves as a control point for the specification interface of the USB device. The USB system provides buffer management capabilities and allows data transfer to be synchronized to the needs of customers and functions.