With the continuous improvement of the social level, USB cable is used more and more frequently in our lives, but we can know the principle of USB cable transmission, the following is told by the editor:
The host controller is responsible for the transmission of data streams between the host and the USB device. These transmission data are treated as a continuous stream of bits. Each device provides one or more interfaces that can communicate with the client program, and each interface consists of zero or more pipes that independently transfer data between the client program and a specific terminal of the device. usbd establishes the interfaces and pipes for the host software's real-world needs, and when a configuration request is made, the host controller provides the service according to the parameters provided by the host software.
USB supports four basic data transfer modes: control transfer, isochronous transfer, interrupt transfer and block transfer. Each transfer mode has different properties when applied to terminals with the same name.
The control transfer type supports the transfer of control, status, and configuration information between the peripheral and the host, providing a control channel between the peripheral and the host. Each peripheral supports the control transfer type so that configuration and command/status information can be transferred between the host and the peripheral.
The isochronous (or synchronous) transfer type (or synchronous transfer) supports data transfers between the peripheral and the host that are periodic, have limited latency and bandwidth, and have a constant data transfer rate. This type has no error checking, so correct data transfer is not guaranteed, and supports data transfers such as computer-telephone integration (CTI) and audio systems to the host computer.
The interrupt transfer type supports input devices such as gamepads, mice, and keyboards, which have small, non-cyclical data transfers to and from the host computer, but are sensitive to response time and require an immediate response.
The Bulk transfer type supports peripheral devices such as printers, scanners, digital cameras, etc. These peripheral devices transfer a large amount of data to and from the host computer, and the USB performs this type of data transfer only if it meets the bandwidth requirements.
The USB uses a block bandwidth allocation scheme, so if a peripheral device exceeds its current bandwidth allocation or potential requirements, it will not be able to access the device. Synchronous and interrupt transfer types of terminals reserve bandwidth and are guaranteed to transmit data at a certain rate. Centralized and control terminals transmit transmission data at the best available bandwidth.