USB Composite Device Driver4 min read
USB Composite Device Driver:
The USB Composite Device Driver is an application that supports the newest technology in the USB connection. Its features include support for high-speed control, bulk, interrupt, and isochronous transfers.
It also complies with the enhanced host controller interface. The driver has many other features as well. Let’s explore some of them.
Supports high-speed control, bulk, interrupt, and isochronous transfers:
Control transfer is a high-speed method that guarantees error-free data transfer. It uses a pre-negotiated bandwidth that isn’t subject to error recovery.
This method is most commonly used for real-time audio and video transfers. This method requires two packets: a data packet and a token packet. It is also a non-periodic method, so it only sends data when it is needed.
Interrupt transfers are intended for devices that transmit small amounts of data infrequently and asynchronously.
This mode is used for high-speed and low-speed devices. The data payload size depends on the device and is limited to eight bytes for low-speed devices and ten bytes for high-speed devices.
Isochronous transfers are faster, but they can be affected by errors and other devices. Audio and video streams are often erratic and may suffer from glitches, so isochronous transfers may cause the data to be out of sync. In such cases, it may be beneficial to use bulk transfers.
Control and bulk transfer USB Composite Device Drivers:
Control and bulk transfers are similar, but they are a bit different. Bulk transfers use the spare bandwidth of a bus, so they may slow down. However, they do offer guaranteed delivery, as they use a CRC to detect errors.
Bulk transfers, on the other hand, are used when large amounts of data must be transferred. The bulk transfer time depends on the bus bandwidth and the size of the data being transferred. Bulk transactions are resent if the first one is unable to complete the transaction.
Control and bulk transfers support high-speed control and bulk. High-speed control endpoints support a maximum packet size of 64 bytes. In the data phase, a Ping protocol can be used. This protocol can be used for controlling a network or a device.
The USB 3.1 specification includes separate buffers for bulk and isochronous transfers. Unlike USB 3.0, which is a single lane, isochronous traffic requires a virtual separate bus.
This virtual bus is supported with hub buffering, arbitration rules, and separate link credits. This feature satisfies the original promise of guaranteed bandwidth and bounded latency.
Complies with the enhanced host controller interface:
A device that complies with the enhanced host controller interface specification can perform full-speed and low-speed testing using a test circuit. This circuit may be included in the enhanced host controller or may be separate.
It provides a set of test functions, including a test-J and test-K function, which forces the USB transceiver macrocell 610 to enter a J or K state to test the device.
The Enhanced Host Controller Interface (EHCI) specification is the high-speed controller standard for USB 2.0 devices. The UHCI and OHCI specifications were developed for devices that were capable of supporting multiple interfaces, but they were both more complex and expensive.
To reduce these costs, the USB Implementers Forum (USB-IF) pushed for the implementation of an open EHCI specification. Intel agreed to host the conformance testing, which prevented proprietary features from creeping into the standard.
An enhanced host controller interface encapsulates the USB 2.0 standard, including bulk and interrupts transfers, which are essential for a high-speed connection.
However, it does not support high-speed isochronous transactions, which may be used by some USB audio devices in the future. The USB 2.0 PCI card contains one EHCI and one or more OHCI controllers.
Also, A USB 2.0 host controller 400 consists of three main components. The enhanced host controller 225 handles USB 2.0 high-speed traffic and controls the port router 415.
It also includes two OHCI-compliant host controllers. One of these components may contain legacy keyboard emulation for USB 1.1 devices.
Enhanced host controllers also control full and low-speed data traffic. They may also include a test circuit and USB transceiver macrocell.
During the test mode, the enhanced host controller performs test functions, such as sending test patterns and the J-K function. The test function may also include the test-K function, which is a single-ended zero test function.