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. It essentially replaces serial and parallel ports on PC’s. USB has been upgraded a couple of times, with most PC’s supporting USB 1.1 or USB 2.0. USB 1.1 supports rates up to 12Mb/s operating at “Full-speed” and is used by many ‘older’ peripherals such as scanners and digital cameras. A Low-speed of 1.5Mb/s is also defined. USB2.0 incorporates USB1.1 features and an additional operating rate, termed “High-speed”, that provides rates up to 480Mb/s. Newer PC’s are being delivered with USB 2.0. High-speed provides effective high data rate connectivity between the PC and high-speed devices such as USB memory sticks. To reduce the cost of USB, the hardware has been kept relatively simple, with the complexity moved to higher levels. Essentially, USB transfers occur by filling large buffers (FIFO’s - First In First Out memory blocks) with data and them arming them for transfer, with the transfer occurring at a hardware level. This FIFO memory is referred to as Endpoints, with endpoints defined for both control or for data transfer. Depending on the application, 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; at Full-speed these occur every 1ms, while at High-speed these occurs every 125ns (8 times more often). 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 USB2 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 Typically USB hubs would be connected to the Host controller, and USB peripherals connected to the USB hubs. Connectivity: USB cable- 4-wire cable with 2 types of plugs, A & B. Data is transferred over a serial connection (2 wires D+ & D-) with the other wires providing power and ground. USB peripheral: 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 USB2Test 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 (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.
USB performance There are many issues that will detrimentally impact USB speed, examples include: the manufacturers host controller implementation, point of connectivity to the host controller (e.g. A connection via the PCI bus will insert a bottleneck to achieving High-speed rates), cabling, the device driver used, implementation of the USB device and the implementation of the application software. PassMark's USB2Test product determines maximum data throughput by measuring the number of data packets (of USB specification sizes) that are sent or received per USB microframe This provides a cost effective benchmarking solution targeted at the PC port speed (rather than the rate of the USB device) This will aid the user understanding of whether their PC is configured to obtain the high rates of USB2, as well as the impact of changing system configuration (this is also application to Full-speed rates). |