Brief USB Overview and USB History

Diposkan oleh Unknown


USB Overview

In the past, connecting multiple peripheral devices to computer has been a real problem. There were too many different port types (serial port, parallel port, PS/2 etc.) and their use imposes limitations such as no hot-pluggability and automatic configuration. There are very limited number of ways to attach the peripheral devices in the original IBM PC implementation due to the requirements in terms of non-shareable IRQ lines and I/O address space. The main reason that Universal Serial Bus was implemented to provide a replacement for those legacy ports on a computer to make the addition of the peripheral devices quick and easy for end user.

USB is designed to allow many peripherals to be connected using a single standardized interface. It provides an expandable, fast, bi-directional, low-cost, hot-pluggable Plug and Play serial hardware interface that makes the life of the computer users easier allowing them to plug different peripheral devices into a USB port and have them automatically configured and ready to use. Using a single connector type, USB allows the user to connect a wide range of peripheral devices, such as keyboards, mice, printers, scanners, mass storage devices, telephones, modems, digital still-image cameras, video cameras, audio devices to a computer. USB devices do not directly consume system resources. They are not mapped into I/O address space, nor do they use IRQ lines or DMA channels. The only system resources required by a USB system are the memory buffers used by the USB system software. Due to its success and widespread acceptance, USB became the 'de-facto' industry standard for connecting peripheral devices to PCs and laptops.
The USB has the following key features:
  • Single connector type: USB replaces all the different legacy connectors with one well-defined, standardized USB connector for all USB peripheral devices, eliminating the need for different cables and connectors and thus simplifying the design of the USB devices. So all USB devices can be connected directly to a standard USB port on a computer.
  • Hot-swappable: USB devices can be safely plugged and unplugged as needed while the computer is running. So there is no need to reboot.
  • Plug and Play: Operating system software automatically identifies, configures, and loads the appropriate device driver when a user connects a USB device.
  • High performance: USB offers low speed (1.5 Mbit/s), full speed (12 Mbit/s) and high speed (up to 480 Mbit/s) transfer rates that can support a variety of USB peripherals. USB 3.0 (SuperSpeed USB) achieves the throughput up to 5.0 Gbit/s.
  • Expandability: Up to 127 different peripheral devices may theoretically be connected to a single bus at one time.
  • Power supplied from the bus: USB distributes the power to all connected devices eliminating the need for external power source for low-power devices. High-power devices can still require their own local power supply. USB also supports power saving suspend/resume modes.
  • Easy to use for end user: A single standard connector type for all USB devices simplifies the end user's task at figuring out which plugs go into which sockets. The operating system automatically recognizes the USB device attachment and loads appropriate device drivers.
  • Low-cost implementation: Most of the complexity of the USB protocol is handled by the host, which along with low-cost connection for peripherals makes the design simple and low cost.

    A Brief USB History

    The USB was developed and standardized by a group of leading companies from the computer and electronics industries in 1995.
    The Universal Serial Bus specification, which defines all aspects of the USB system from the physical layer (mechanical and electrical) all the way up to the software layer, was developed by Compaq,Digital Equipment Corporation (DEC)IBMIntelMicrosoft and NEC, joined later by Hewlett-Packard,Lucent and Philips. Compaq, which merged with Hewlett Packard, bought DEC and Lucent merged withAlcatel to form Alcatel-Lucent.
    These companies also formed the USB Implementers Forum, Inc. (USB-IF) as a non-profit corporation to publish the specifications and provide a support organization and forum for the advancement and adoption of USB technology.

    USB Specification

    The design of USB is standardized in Universal Serial Bus Specification that provides the technical details to understand USB requirements. The specification describes the bus attributes, the protocol definition, types of transactions, bus management, and the programming interface required to design USB compatible peripherals and software. USB Specifications and all related documents are freely downloadable from USB Implementers Forum web site.
    Versions of USB specification:
    • Revision 1.0 released on January 15, 1996, introduced a low-speed transfer rate of 1.5 Mbit/s and a full-speed transfer rate of 12 Mbit/s.
    • Revision 1.1 released on September 23, 1998, introduced the improved specification and was the first widely used version of USB.
    • Revision 2.0 released on April 27, 2000. The major feature of revision 2.0 was the addition of a high-speed transfer rate of 480 Mbit/s.
    • Revision 3.0 released on November 17, 2008, brings significant performance enhancements to the USB standard while offering backward compatibility with the peripheral devices currently in use. Legacy USB 1.1/2.0 devices continue to work while plugged into new USB 3.0 host and new USB 3.0 devices work at USB 2.0 speed while plugged into USB 2.0 host. Delivering data transfer rates up to ten times faster (the raw throughput is up to 5.0 Gbit/s) than Hi-Speed USB (USB 2.0), SuperSpeed USB is the next step in the continued evolution of USB technology.

    Data Transfer Rate Comparison

    USB RevisionUSB1.0USB2.0USB3.0
    Media (Data Size)Transfer Time
    Song / Pic (4 MB)5.3 sec0.1 sec0.01 sec
    256 Flash (256 MB)5.7 min8.5 sec0.8 sec
    USB Flash (1 GB)22 min33 sec3.3 sec
    SD-Movie (6 GB)2.2 hr3.3 min20 sec
    USB Flash (16 GB)5.9 hr8.9 min53.3 sec
    HD-Movie (25GB)9.3 hr13.9 min70 sec
    Note, however, that all above mentioned are theoretical maximum data transfer rates that do not take into consideration some USB protocol overhead and bus utilization, which makes a difference in actual maximum throughput. The actual maximum throughput may vary depending on the transfer type, maximum packet size, time reserved for control transfers, the overhead due to signaling imposed bit stuffing etc.
    Each iteration of the specification is backward compatible with previous revisions. Since all USB devices use the same cables, connectors and software interfaces, there is no change in the usage model for the end user. USB 1.0, USB 1.1 and USB 2.0 compliant peripheral devices can operate on a computer at the same time. It is possible for a high-speed USB 2.0 device to plug into a USB1.1 port and operate at the appropriate transfer rate.

    Using USBlyzer - Viewing the USB Specification Version

    You can view USB Specification revision number for USB devices and external hubs.
    To view USB Specification revision number a USB device compliant with
    • Open USBlyzer.
    • In the USB Device Tree panel select the device for which you want to see USB Specification revision number.
    • In the USB Properties panel see the bcdUSB field value of the Device Descriptor.
    Device Descriptor VOIP USB Phone
    OffsetFieldSizeValueDescription
    0bLength112h
    1bDescriptorType101hDevice
    2bcdUSB20101hFails WHQL testing. Should be 0110h
    4bDeviceClass100hClass information in the Interface Descriptors
    5bDeviceSubClass100h
    6bDeviceProtocol100h
    7bMaxPacketSize0140h64 bytes
    8idVendor26993hFreshtel
    10idProduct2B001h
    12bcdDevice20000h0.00
    14iManufacturer101h"Yealink Network Technology Ltd."
    15iProduct102h"VOIP USB Phone"
    16iSerialNumber100h
    17bNumConfigurations101h

    Note, that in the above example the U.S. Robotics USB Phone 9600 incorrectly reports its compliance with the USB Specification 1.1 as 0101h.
    bcdUSB field in the standard USB Device Descriptor may have the following values:
    • 0100h - USB Specification 1.0
    • 0110h - USB Specification 1.1
    • 0200h - USB Specification 2.0
    Since some devices incorrectly expose bcdUSB field as 0101h instead of 0110h, the operating system accepts both as valid revision number. But failure to correctly report this value can prevent the driver from passing the Windows Hardware Quality Labs (WHQL) testing and may also cause a device to fail tests in the USB test tools.
Source