Explaining The Power of USB
USB is an industry standard that establishes specifications for cables, connectors and protocols for connection, communication and power supply between personal computers and their peripheral devices. It was designed to standardize the connection of peripherals like keyboards, pointing devices, digital still and video cameras, printers, portable media players, disk drives and network adapters to personal computers, both to communicate and to supply electric power. It has largely replaced interfaces such as serial ports and parallel ports, and has become commonplace on a wide range of devices. have been increasingly replacing other types for battery chargers of portable devices. The Universal Serial Bus was developed to simplify and improve the interface between personal computers and peripheral devices, when compared with previously existing standard or ad-hoc proprietary interfaces. From the computer user’s perspective, the USB interface improved ease of use in several ways. The USB interface is self-configuring, so the user need not adjust settings on the device and interface for speed or data format, or configure interrupts, input/output addresses, or direct memory access channels. USB connectors are standardized at the host, so any peripheral can use any available receptacle. USB takes full advantage of the additional processing power that can be economically put into peripheral devices so that they can manage themselves; USB devices often do not have user-adjustable interface settings.
The USB interface is “hot pluggable”, meaning devices can be exchanged without rebooting the host computer. Small devices can be powered directly from the USB interface, displacing extra power supply cables. Because use of the USB logos is only permitted after compliance testing, the user can have confidence that a USB device will work as expected without extensive interaction with settings and configuration; the USB interface defines protocols for recovery from common errors, improving reliability over previous interfaces. Installation of a device relying on the USB standard requires minimal operator action. When a device is plugged into a port on a running personal computer system, it is either entirely automatically configured using existing device drivers, or the system prompts the user to locate a driver which is then installed and configured automatically.For hardware manufacturers and software developers, the USB standard eliminates the requirement to develop proprietary interfaces to new peripherals. The wide range of transfer speeds available from a USB interface suits devices ranging from keyboards and mice up to streaming video interfaces. A USB interface can be designed to provide the best available latency for time-critical functions, or can be set up to do background transfers of bulk data with little impact on system resources. The USB interface is generalized with no signal lines dedicated to only one function of one device. USB cables are limited in length, as the standard was meant to connect to peripherals on the same table-top, not between rooms or between buildings. However, a USB port can be connected to a gateway that accesses distant devices. USB has a strict “tree” topology and “master-slave” protocol for addressing peripheral devices; peripheral devices cannot interact with one another except via the host, and two hosts cannot communicate over their USB ports directly. Some extension to this limitation is possible through USB On-The-Go. A host cannot “broadcast” signals to all peripherals at once, each must be addressed individually. Some very high speed peripheral devices require sustained speeds not available in the USB standard. While converters exist between certain “legacy” interfaces and USB, they may not provide full implementation of the legacy hardware; for example, a USB to parallel port converter may work well with a printer, but not with a scanner that requires bi-directional use of the data pins.For a product developer, use of USB requires implementation of a complex protocol and implies an “intelligent” controller in the peripheral device. Developers of USB devices intended for public sale generally must obtain a USB ID which requires a fee paid to the Implementers’ Forum. Developers of products that use the USB specification must sign an agreement with Implementer’s Forum. Use of the USB logos on the product require annual fees and membership in the organization.
Generations of USB:
1 USB 1X was released in January-1996, USB 1.0 specified data rates of 1.5 Mbit/s and 12 Mbit/s. It did not allow for extension cables or pass-through monitors, due to timing and power limitations. Few USB devices made it to the market until USB 1.1 was released in August 1998. USB 1.1 was the earliest revision that was widely adopted and led to what Microsoft designated the “Legacy-free PC”.
2 USB 2.0 was released in April 2000, adding a higher maximum signaling rate of 480 Mbit/s, in addition to the USB 1.x Full Speed signaling rate of 12 Mbit/s. Due to bus access constraints, the effective throughput of the High Speed signaling rate is limited to 280 Mbit/s or 35 MB/s.
3 USB 3.0 specification was released on 12 November 2008, with its management transferring from USB 3.0 Promoter Group to the USB Implementers Forum (USB-IF), and announced on 17 November 2008 at the SuperSpeed USB Developers Conference. It adds a SuperSpeed transfer mode, with associated backward compatible plugs, receptacles, and cables. SuperSpeed plugs and receptacles are identified with a distinct logo and blue inserts in standard format receptacles.The SuperSpeed bus provides for a transfer mode at a nominal rate of 5.0 Gbit/s, in addition to the three existing transfer modes. Its efficiency is dependent on a number of factors including physical symbol encoding and link level overhead. At a 5 Gbit/s (625 Mbyte/s) signaling rate with 8b/10b encoding, the raw throughput is 500 Mbyte/s. When flow control, packet framing and protocol overhead are considered, it is realistic for 400 Mbyte/s (3.2 Gbit/s) or more to be delivered to an application.
4 USB 3.1, released in July 2013, preserves the existing SuperSpeed transfer rate under a new label USB 3.1 Gen 1,and introduces a new SuperSpeed+ transfer mode, USB 3.1 Gen 2 with the maximum data signaling rate to 10 Gbit/s, which reduces line encoding overhead to just 3% by changing the encoding scheme to 128b/132b.
5 USB 3.2, released in September 2017, preserves existing USB 3.1 SuperSpeed and SuperSpeed+ data modes but introduces two new SuperSpeed+ transfer modes over the USB-C connector with data rates of 10 and 20 Gbit/s (1250 and 2500 MB/s). The increase in bandwidth is a result of multi-lane operation over existing wires that were intended for flip-flop capabilities of the Type-C connector.
A USB system consists of a host with one or more downstream ports, and multiple peripherals, forming a tiered-star topology. Additional USB hubs may be included, allowing up to five tiers. A USB host may have multiple controllers, each with one or more ports. Up to 127 devices may be connected to a single host controller. USB devices are linked in series through hubs. The hub built into the host controller is called root hub.A USB device may consist of several logical sub-devices that are referred to as device functions. A composite device may provide several functions, for example, a webcam with a built-in microphone. An alternative to this is compound device, in which the host assigns each logical device a distinctive address and all logical devices connect to a built-in hub that connects to the physical USB cable. Large sporadic transfers using all remaining available bandwidth, but with no guarantees on bandwidth or latency. When a host starts a data transfer, it sends a TOKEN packet containing an endpoint specified with a tuple of. If the transfer is from the host to the endpoint, the host sends an OUT packet with the desired device address and endpoint number. If the data transfer is from the device to the host, the host sends an IN packet instead. If the destination endpoint is a uni-directional endpoint whose manufacturer’s designated direction does not match the TOKEN packet,the TOKEN packet is ignored. Otherwise, it is accepted and the data transaction can start. A bi-directional endpoint, on the other hand, accepts both IN and OUT packets. Endpoints are grouped into interfaces and each interface is associated with a single device function. An exception to this is endpoint zero, which is used for device configuration and is not associated with any interface. A single device function composed of independently controlled interfaces is called a composite device. A composite device only has a single device address because the host only assigns a device address to a function. When a USB device is first connected to a USB host, the USB device enumeration process is started. The enumeration starts by sending a reset signal to the USB device. The data rate of the USB device is determined during the reset signaling. After reset, the USB device’s information is read by the host and the device is assigned a unique 7-bit address. If the device is supported by the host, the device drivers needed for communicating with the device are loaded and the device is set to a configured state. If the USB host is restarted, the enumeration process is repeated for all connected devices. The host controller directs traffic flow to devices, so no USB device can transfer any data on the bus without an explicit request from the host controller. In USB 2.0, the host controller polls the bus for traffic, usually in a round-robin fashion. The throughput of each USB port is determined by the slower speed of either the USB port or the USB device connected to the port.High-speed USB 2.0 hubs contain devices called transaction translators that convert between high-speed USB 2.0 buses and full and low speed buses. There may be one translator per hub or per port.Because there are two separate controllers in each USB 3.0 host, USB 3.0 devices transmit and receive at USB 3.0 data rates regardless of USB 2.0 or earlier devices connected to that host. Operating data rates for earlier devices are set in the legacy manner.