USB Overview

Top  Previous  Next

Universal Serial Bus is an industry-standard mechanism to connect external devices to PC's. It provides a tiered star bus architecture, where multiple external devices may be connected to the bus and used simultaneously.  The USB standard has gone through several revisions since its original release in the late 1990's with each major revision providing additional functionality and significant increases in performance. The most recent revision is USB3.0. Later revisions of USB are compatible with earlier revisions in functionality but with support of data transfer rates of earlier revisions only.  USB1.1 devices can operate with data transfer rates up to 12Mb/s, USB2.0 devices can operate with data transfer rates up to 480Mb/s, and USB3.0 devices can operate with data transfer rates up to 5Gb/s,

Coneceptually, each data transfer on USB is performed via endpoints. USB provides 4 transfer mechanisms: Bulk, Isochroous, Control and Interrupt. Each has different mixes of priority, accuracy and purpose. For example Bulk, Control and Interrupt utilize error checking and recovery mechanisms, Isochroous does not. The transfer of data is based on packets within clocked frames.

The PC (Host) initiates all data transfers and hence Transmit/Receive Out/In is relative to the PC. Note that PassMark have used Tx/Rx LEDs on the USB3 device from the USB device perspective.

 

USB Components

USB basically comprises the following components:

PC (host):

PC chipsets, USB host controllers, USB device drivers and Application software.  The motherboard typically provides the host controller and root hub functionality although PCI express cards are also used. Typically USB hubs would be connected to the Host controller, and USB peripherals connected to the USB hubs.

Connectivity:

There are 2 types of USB cable -

4-wire cable with 2 types of plugs, A & B. Data is transferred over a bidirectional serial connection (2 wires D+ & D-) with the other wires providing power and ground.  These cables support USB1.1 and USB2.0 devcies only.

8-wire cable with 3 types of plugs - A, B, Micro AB. Data is transferred over 2 unidirectional serial connections (4 wires SSTX+, SSTX-, SSRX+, SSRX-). The cable also contains a complete USB full or high speed compatible interface on another pair of wires. Power and ground is also supplied as with the 4 wire cable.

USB device:

Contains a USB chip and firmware for communications and control (based on the USB specification), together with the peripherals main function hardware and firmware (e.g. a USB memory stick).

PassMark's USB3Test product tests many of the different components of this complex integration that is required to make USB work well, from determining that power is available, to enumeration of the device, to negotiation of High-speed  or Super Speed(Hosts start in Full-speed mode), to the transfer of data and verification of this data on the PC side and the checking of device transceiver errors from the USB device perspective. Each of these will impact function and reliability.

There are many issues that will detrimentally impact USB speed, examples include: the manufacturers host controller implementation, point of connectivity to the host controller (ie the bus that the usb host controller connects to), cabling, the device driver used, implementation of the USB device and the implementation of the application software.