USB, or Universal Serial Bus, is a connectivity standard that enables computer peripherals and consumer electronics to be connected to a computer without reconfiguring the system or opening the computer box to install interface cards. USB was introduced in 1995 and replaces the serial, parallel, mouse and keyboard ports. The host computer automatically recognizes the device and installs the appropriate drivers. It is a fast, bi-directional, low-cost, dynamically attachable serial interface that was visualized to provide ease of connectivity to PCs. With features such as high speed and hot "plug-ability", USB has become a de-facto standard for various consumer and PC peripheral devices. USB connectivity standard allows up to 127 devices connected to a Host System. The current standards of USB allow data transfer rates of 1.5 Mbps, 12 Mbps, 480 Mbps, and more recently 5Gbps. USB designates low, full, high-speed connectivity between devices compatible with the 2.0 specification. Most full speed devices include lower bandwidth mice, keyboards, printers, and joysticks.
Why USB?
USB emerged in late 1995 from the shortcomings of peripheral devices implementation. Shortly after its introduction, USB became widely popular and is now the most popular peripheral interconnect in history. USB continues to be dominant for the following reasons:
- Mature, proven technology
- Backward-compatible and low cost
- Easy plug and play operation
- Data transfer speeds suitable for a variety of applications
As evidenced by USB popularity, several extensions of the technology have been introduced to try and capitalize on its installed base/ popularity. An example of this extension, which is supported and approved by the USB Implementers Forum (USB-IF), is USB On-The-Go (OTG). In addition, several products that have traditionally been 1394-based such as digital camcorders are now coming to market with USB 2.0. Wireless USB has also emerged as the de facto standard for wireless personal area networking.
USB Architecture
USB was initially introduced as a host to peripheral interconnect with the goal of putting most of the intelligence on the host-side. The OTG specification added an optional peer-to-peer capability to devices but had limited adoption to date. So the vast majority of USB devices typically fall into 2 categories:
Hosts
Peripherals
- All devices designed to attach to a host (examples)
The role of the host controller (plus software) is to provide a uniform view of IO system for all applications software. For the USB IO subsystem in particular, the host manages the dynamic attach and detach of peripherals. It automatically performs the enumeration stage of device initialization which involves communicating with the peripheral to discover the identity of a device driver that it should load, if not already loaded. It also provides device descriptor information that drivers can use enable specific features on the device. Peripherals add functionality to the host system or may be standalone embedded operation. When operating as a USB device, peripherals act are slaves that obey a defined protocol. They must react to requests sent from the host. It’s largely the role of PC software to manage device power without user interaction to minimize overall power consumption. The USB 3.0 specification redefines power management to occur at the hardware level with multiple power states designed to reduce power usage across the IO system.
Links
Portions Copyrighted 2007, PCI Special Interest Group
Wikipedia contributors, "Peripheral Component Interconnect," Wikipedia, The Free Encyclopedia,