- Order:
- Duration: 5:39
- Published: 2009-01-01
- Uploaded: 2011-02-23
- Author: dinjin201
Coordinates | 1°29′00″N103°44′00″N |
---|---|
Name | Universal Serial Bus |
Type | Computer Hardware Bus |
Logo | |
Caption | Original logo |
Designer | Ajay Bhatt, Intel |
Design date | January 1996 |
Manufacturer | Intel, Compaq, Microsoft, NEC, Digital Equipment Corporation, IBM, Nortel |
Superseded | Serial port, Parallel port, Game port, Apple Desktop Bus, PS/2 connector |
External | Yes |
Hotplug | Yes |
Length | 5 meter (maximum) |
Width | 11.5 mm (A-plug), 8.45 mm (B-plug), |
Height | 4.5 mm (A-plug), 7.78 mm (B-plug, pre-v3.0) |
Electrical | 5 volt DC |
Ground | Dedicated Pin and Shield |
Maximum voltage | 5 volts |
Maximum current | 500-900 mA @ 5 V (depending on version) |
Data signal | Packet data, defined by specifications |
Data bit width | 1 bit |
Data bandwidth | 1.5-625 MB/s |
Data devices | 127 |
Data style | Serial |
Cable | 4 wires |
Physical connector | Unique |
Num pins | 4 (1 supply, 2 data, 1 ground) |
Pinout image | |
Pinout caption | The standard USB A plug (left) and B plug (right) |
Pin1 | VCC (+5 V) |
Pin2 | Data- |
Pin3 | Data+ |
Pin4 | Ground |
Universal Serial Bus (USB) is a specification to establish communication between devices and a host controller (usually personal computers), developed and invented by Ajay Bhatt while working for Intel. USB has effectively replaced a variety of interfaces such as serial and parallel ports.
USB can connect computer peripherals such as mice, keyboards, digital cameras, printers, personal media players, flash drives, Network Adapters, and external hard drives. For many of those devices, USB has become the standard connection method.
USB was designed for personal computers, but it has become commonplace on other devices such as smartphones, PDAs and video game consoles, and as a power cord. , there are about 2 billion USB devices sold per year, and approximately 6 billion total sold to date.
Unlike older connection standards such as RS-232 or Parallel port, USB connectors also supply electric power, so many devices connected by USB do not need a power source of their own.
The USB 1.0 specification was introduced in January 1996. The original USB 1.0 specification had a data transfer rate of 12 Mbit/s.
The USB 2.0 specification was released in April 2000 and was standardized by the USB-IF at the end of 2001. Hewlett-Packard, Intel, Lucent Technologies (now Alcatel-Lucent following its merger with Alcatel in 2006), NEC and Philips jointly led the initiative to develop a higher data transfer rate, with the resulting specification achieving 480 Mbit/s, a fortyfold increase over 12 Mbit/s for the original USB 1.0.
USB devices are linked in series through hubs. There always exists one hub known as the root hub, which is built into the host controller. So-called sharing hubs, which allow multiple computers to access the same peripheral device(s), also exist and work by switching access between PCs, either automatically or manually. Sharing hubs are popular in small-office environments. In network terms, they converge rather than diverge branches.
A physical USB device may consist of several logical sub-devices that are referred to as device functions. A single device may provide several functions, for example, a webcam (video device function) with a built-in microphone (audio device function). Such a device is called a compound device in which each logical device is assigned a distinctive address by the host and all logical devices are connected to a built-in hub to which the physical USB wire is connected. A host assigns one and only one device address to a function.
USB device communication is based on pipes (logical channels). A pipe is a connection from the host controller to a logical entity, found on a device, and named an endpoint. The term endpoint is occasionally incorrectly used for referring to the pipe. However, while an endpoint exists on the device permanently, a pipe is only formed when the host makes a connection to the endpoint. Therefore, when referring to a particular connection between a host and a USB device function, the term pipe should be used. A USB device can have up to 32 endpoints: 16 into the host controller and 16 out of the host controller. But, as one of the pipes is required to be of a bi-directional type (the default control pipe), and thus uses 2 endpoints, the theoretical maximum number of pipes is 31. USB devices seldom have this many endpoints.
There are two types of pipes: stream and message pipes depending on the type of data transfer.
*isochronous transfers: at some guaranteed data rate (often, but not necessarily, as fast as possible) but with possible data loss (e.g. realtime audio or video).
A stream pipe is a uni-directional pipe connected to a uni-directional endpoint that transfers data using an isochronous, interrupt, or bulk transfer. A message pipe is a bi-directional pipe connected to a bi-directional endpoint that is exclusively used for control data flow. An endpoint is built into the USB device by the manufacturer and therefore exists permanently. An endpoint of a pipe is addressable with tuple (device_address, endpoint_number) as specified in a TOKEN packet that the host sends when it wants to start a data transfer session. If the direction of the data transfer is from the host to the endpoint, an OUT packet (a specialization of a TOKEN packet) having the desired device address and endpoint number is sent by the host. If the direction of 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 (e.g., the manufacturer's designated direction is IN while the TOKEN packet is an OUT packet), the TOKEN packet will be ignored. Otherwise, it will be 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 which 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 slowest device connected to a controller sets the bandwidth of the interface. For SuperSpeed USB (defined since USB 3.0), connected devices can request service from host. Because there are two separate controllers in each USB 3.0 host, USB 3.0 devices will 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 them will be set in the legacy manner.
Device classes include:
NS: non-standard, existing for specific proprietary purposes, and not interoperable with USB-IF compliant equipment.
In addition to the above cable assemblies comprising two plugs, an "adapter" cable with a Micro-A plug and a Standard-A receptacle is compliant with USB specifications.
There are female-female connectors.
The micro-USB plugs have a similar width but approximately half the thickness, enabling their integration into thinner portable devices. The micro-A connector is 6.85 by 1.8 mm with a maximum overmold size of 11.7 by 8.5 mm. The micro-B connector is 6.85 by 1.8 mm with a maximum overmold size of 10.6 by 8.5 mm.
The Micro-USB connector was announced by the USB-IF on . The Mini-A connector and the Mini-AB receptacle connector were deprecated on . , many currently available devices and cables still use Mini plugs, but the newer Micro connectors are being widely adopted and as of December 2010, the Micro connectors are the most widely used. The thinner micro connectors are intended to replace the Mini plugs in new devices including smartphones and personal digital assistants. The Micro plug design is rated for at least 10,000 connect-disconnect cycles which is significantly more than the Mini plug design. The Universal Serial Bus Micro-USB Cables and Connectors Specification These include various types of battery chargers, allowing Micro-USB to be the single external cable link needed by some devices.
As of Micro-USB has been accepted and is being used by almost all cell phone manufacturers as the standard charging port (including HTC, Motorola, Nokia, LG, Hewlett-Packard, Samsung, Sony Ericsson, Research In Motion) in most of the world.
On , following a request from the European Commission and in close co-operation with the Commission services, major producers of mobile phones have agreed in a Memorandum of Understanding (“MoU”) to harmonise chargers for data-enabled mobile phones sold in the European Union. Industry commits to provide charger compatibility on the basis of the Micro-USB connector. Consumers will be able to purchase mobile phones without a charger, thus logically reducing their cost. . Following a mandate from the European Commission, the European Standardisation Bodies CEN-CENELEC and ETSI have now made available the harmonised standards needed for the manufacture of data-enabled mobile phones compatible with the new common charger based on micro-USB.
In addition, on the International Telecommunication Union (ITU) has also announced that it had embraced micro-USB as the Universal Charger Solution its "energy-efficient one-charger-fits-all new mobile phone solution", and added: "Based on the Micro-USB interface, UCS chargers will also include a 4-star or higher efficiency rating—up to three times more energy-efficient than an unrated charger."
An OTG device is required to have one, and only one USB connector: a Micro-AB receptacle as defined in [Micro-USB1.01]. This receptacle is capable of accepting either a Micro-A plug or a Micro-B plug attached to any of the legal cables and adapters defined in [Micro-USB1.01].
The OTG device with the A-plug inserted is called the A-device and is responsible for powering the USB interface when required and by default assumes the role of host. The OTG device with the B-plug inserted is called the B-device and by default assumes the role of peripheral. An OTG device with no plug inserted defaults to acting as a B-device. If an application on the B-device requires the role of host, then the HNP protocol is used to temporarily transfer the host role to the B-device.
OTG devices attached either to a peripheral-only B-device or a standard/embedded host will have their role fixed by the cable since in these scenarios it is only possible to attach the cable one way around.
The data cables for USB 1.x and USB 2.x use a twisted pair to reduce noise and crosstalk. They are arranged much as in the diagram below. USB 3.0 cables are more complex and employ shielding for some of the added data lines (2 pairs); a shield is added around the pair sketched.
A method of extending USB beyond is by using low resistance cable. The higher cost of USB 2.0 Cat 5 extenders has urged some manufacturers to use other methods to extend USB, such as using built-in USB hubs, and custom low-resistance USB cable. It is important to note that devices which use more bus power, such as USB hard drives and scanners, will require a powered USB hub at the end of the extension to deliver the proper voltage to the device. If power and data does not have sufficient power then problems can result, such as no connection at all, or intermittent connections during use.
USB 3.0 cable assembly may be of any length as long as all requirements defined in the specification are met. However, maximum bandwidth can be achieved across a maximum cable length of approximately three meters.
A unit load is defined as 100 mA in USB 2.0, and was raised to 150 mA in USB 3.0. A maximum of 5 unit loads (500 mA) can be drawn from a port in USB 2.0, which was raised to 6 (900 mA) in USB 3.0. There are two types of devices: low-power and high-power. Low-power devices draw at most 1 unit load, with minimum operating voltage of 4.4 V in USB 2.0, and 4 V in USB 3.0. High-power devices draw the maximum number of unit loads supported by the standard. All devices default as low-power but the device's software may request high-power as long as the power is available on the providing bus.
Some devices like high-speed external disk drives may require more than 500 mA of current and therefore cannot be powered from one USB 2.0 port. Such devices usually come with Y-shaped cable that has two USB connectors to be inserted into a computer. With such a cable a device can draw power from two USB ports simultaneously.
A bus-powered hub is initialized at 1 unit load and transitions to maximum unit loads after hub configuration is obtained. Any device connected to the hub will draw 1 unit load regardless of the current draw of devices connected to other ports of the hub (i.e. one device connected on a four-port hub will only draw 1 unit load despite the fact that all unit loads are being supplied to the hub). new powering modes are added to the USB specification. A host or hub Charging Downstream Port can supply a maximum of 1.5 A when communicating at low-bandwidth or full-bandwidth, a maximum of 900 mA when communicating at high-bandwidth, and as much current as the connector will safely handle when no communication is taking place; USB 2.0 standard-A connectors are rated at 1500 mA by default. A Dedicated Charging Port can supply a maximum of 1.8 A of current at 5.25 V. A portable device can draw up to 1.8 A from a Dedicated Charging Port. The Dedicated Charging Port the D+ and D- pins with a resistance of at most 200 Ω. The short disables data transfer, but allows devices to detect the Dedicated Charging Port and allows very simple, high current chargers to be manufactured. The increased current (faster, 9 W charging) will occur once both the host/hub and devices support the new charging specification.
In September 2007, the Open Mobile Terminal Platform group—a forum of mobile network operators and manufacturers such as Nokia, Samsung, Motorola, Sony Ericsson and LG—announced that its members had agreed on micro-USB as the future common connector for mobile devices.
On , the GSM Association announced that they had agreed on a standard charger for mobile phones. The standard connector to be adopted by 17 manufacturers including Nokia, Motorola and Samsung is to be the micro-USB connector (several media reports erroneously reported this as the mini-USB). The new chargers will be much more efficient than existing chargers.
On , this was further endorsed by the CTIA – The Wireless Association.
On the European Commission announced an agreement with ten producers that starting in 2010, data-enabled mobile phones sold in the European Union would include a micro-USB connector for recharge.
On the International Telecommunication Union (ITU) announced that it had embraced the Universal Charger Solution as its "energy-efficient one-charger-fits-all new mobile phone solution", and added: "Based on the Micro-USB interface, UCS chargers will also include a 4-star or higher efficiency rating—up to three times more energy-efficient than an unrated charger."
Some USB devices require more power than is permitted by the specifications for a single port. This is common for external hard and optical disc drives, and generally for devices with motors or lamps. Such devices can use an external power supply, which is allowed by the standard, or use a dual-input USB cable, one input of which is used for power and data transfer, the other solely for power, which makes the device a non-standard USB device. Some external hubs may, in practice, supply more power to USB devices than required by the specification but a standard-compliant device may not depend on this.
Some non-standard USB devices use the 5 V power supply without participating in a proper USB network which negotiates power draws with the host interface. These are usually referred to as USB decorations. The typical example is a USB-powered keyboard light; fans, mug coolers and heaters, battery chargers, miniature vacuum cleaners, and even miniature lava lamps are available. In most cases, these items contain no digital circuitry, and thus are not Standard compliant USB devices at all. This can theoretically cause problems with some computers, such as drawing too much current and hurting circuitry; prior to the Battery Charging Specification, the USB specification required that devices connect in a low-power mode (100 mA maximum) and communicate their current requirements to the host, which would then permit the device to switch into high-power mode.
In addition to limiting the total average power used by the device, the USB specification limits the inrush current (i.e., that used to charge decoupling and filter capacitors) when the device is first connected. Otherwise, connecting a device could cause problems with the host's internal power. Also, USB devices are required to automatically enter ultra low-power suspend mode when the USB host is suspended. Nevertheless, many USB host interfaces do not cut off the power supply to USB devices when they are suspended since resuming from the suspended state would become a lot more complicated if they did.
There are also devices at the host end that do not support negotiation, such as battery packs that can power USB-powered devices; some provide power, while others pass through the data lines to a host PC. USB power adapters convert utility power and/or another power source (e.g., a car's electrical system) to run attached devices. Some of these devices can supply up to 1 A of current. Without negotiation, the powered USB device is unable to inquire if it is allowed to draw 100 mA, 500 mA, or 1 A.
USB signals are transmitted on a twisted-pair data cable with 90Ω ±15% Characteristic impedance, labeled D+ and D−. Prior to USB 3.0, these collectively use half-duplex differential signaling to reduce the effects of electromagnetic noise on longer lines. Transmitted signal levels are 0.0–0.3 volts for low and 2.8–3.6 volts for high in full-bandwidth and low-bandwidth modes, and −10–10 mV for low and 360–440 mV for high in hi-bandwidth mode. In FS mode the cable wires are not terminated, but the HS mode has termination of 45 Ω to ground, or 90 Ω differential to match the data cable impedance, reducing interference due to signal reflections. USB 3.0 introduces two additional pairs of shielded twisted wire and new, mostly interoperable contacts in USB 3.0 cables, for them. They permit the higher data rate, and full duplex operation.
A USB connection is always between a host or hub at the "A" connector end, and a device or hub's "upstream" port at the other end. Originally, this was a "B' connector, preventing erroneous loop connections, but additional upstream connectors were specified, and some cable vendors designed and sold cables which permitted erroneous connections (and potential damage to the circuitry). USB interconnections are not as fool-proof or as simple as originally intended.
The host includes 15 kΩ pull-down resistors on each data line. When no device is connected, this pulls both data lines low into the so-called "single-ended zero" state (SE0 in the USB documentation), and indicates a reset or disconnected connection.
A USB device pulls one of the data lines high with a 1.5 kΩ resistor. This overpowers one of the pull-down resistors in the host and leaves the data lines in an idle state called "J". For USB 1.x, the choice of data line indicates a device's bandwidth support; full-bandwidth devices pull D+ high, while low-bandwidth devices pull D− high.
USB data is transmitted by toggling the data lines between the J state and the opposite K state. USB encodes data using the NRZI convention; a 0 bit is transmitted by toggling the data lines from J to K or vice-versa, while a 1 bit is transmitted by leaving the data lines as-is. To ensure a minimum density of signal transitions, USB uses bit stuffing; an extra 0 bit is inserted into the data stream after any appearance of six consecutive 1 bits. Seven consecutive 1 bits is always an error. USB 3.0 has introduced additional data transmission encodings.
A USB packet begins with an 8-bit synchronization sequence '00000001'. That is, after the initial idle state J, the data lines toggle KJKJKJKK. The final 1 bit (repeated K state) marks the end of the sync pattern and the beginning of the USB frame. For high bandwidth USB, the packet begins with a 32-bit synchronization sequence.
A USB packet's end, called EOP (end-of-packet), is indicated by the transmitter driving 2 bit times of SE0 (D+ and D− both below max) and 1 bit time of J state. After this, the transmitter ceases to drive the D+/D− lines and the aforementioned pull up resistors hold it in the J (idle) state. Sometimes skew due to hubs can add as much as one bit time before the SE0 of the end of packet. This extra bit can also result in a "bit stuff violation" if the six bits before it in the CRC are '1's. This bit should be ignored by receiver.
A USB bus is reset using a prolonged (10 to 20 milliseconds) SE0 signal.
USB 2.0 devices use a special protocol during reset, called "chirping", to negotiate the high bandwidth mode with the host/hub. A device that is HS capable first connects as an FS device (D+ pulled high), but upon receiving a USB RESET (both D+ and D− driven LOW by host for 10 to 20 ms) it pulls the D− line high, known as chirp K. This indicates to the host that the device is high bandwidth. If the host/hub is also HS capable, it chirps (returns alternating J and K states on D− and D+ lines) letting the device know that the hub will operate at high bandwidth. The device has to receive at least 3 sets of KJ chirps before it changes to high bandwidth terminations and begins high bandwidth signaling. Because USB 3.0 uses wiring separate and additional to that used by USB 2.0 and USB 1.x, such bandwidth negotiation is not required.
Clock tolerance is 480.00 Mbit/s ±500 ppm, 12.000 Mbit/s ±2500 ppm, 1.50 Mbit/s ±15000 ppm.
Though high bandwidth devices are commonly referred to as "USB 2.0" and advertised as "up to 480 Mbit/s", not all USB 2.0 devices are high bandwidth. The USB-IF certifies devices and provides licenses to use special marketing logos for either "basic bandwidth" (low and full) or high bandwidth after passing a compliance test and paying a licensing fee. All devices are tested according to the latest specification, so recently compliant low bandwidth devices are also 2.0 devices.
{| class="wikitable sortable" style="text-align:center; vetical-align:center;" |- ! Vendor ! Southbridge ! USB 2.0 ports ! EHCI controllers ! Maximum data rate |- ! AMD | SB7x0/SP5100 | 12 | 2 | 120 MB/s |- ! AMD | SB8x0 | 14 | 3 | 180 MB/s |- ! Broadcom | HT1100 | 12 | 3 | 180 MB/s |- ! Intel | ICH8 | 10 | 2 | 120 MB/s |- ! Intel | ICH9 | 12 | 2 | 120 MB/s |- ! Intel | ICH10 | 12 | 2 | 120 MB/s |- ! Intel | PCH | 8/12/14 | 2 | 120 MB/s |- ! Intel | PCH EG20T | 6 | 2 | 120 MB/s |- ! nVIDIA | ION/ION-LE | 12 | 2 | 120 MB/s |}
Every other AMD, Broadcom, and Intel southbridge supporting USB 2.0 has only one EHCI controller. All SiS southbridge, ULi, and VIA southbridge, single chip northbridge/southbridge supporting USB 2.0 have only one EHCI controller. Also all PCI USB 2.0 ICs used for add-in cards have only one EHCI controller. In PCIe, the usual design with multiple USB ports per EHCI controller has changed with the introduction of the MosChip MCS9990 IC. MCS9990 has one EHCI controller per port so all its USB ports can operate simultaneously without any performance limitations. Cards with dual ICs have been introduced as well, with two PCI USB 2.0 ICs attached to one PCI to PCIe bridge.
According to a USB-IF chairman, "at least 10 to 15 percent of the stated peak 60 MB/s (480 Mbit/s) of Hi-Speed USB goes to overhead — the communication protocol between the card and the peripheral. Overhead is a component of all connectivity standards." Tables illustrating the transfer limits are shown in Chapter 5 of the USB spec.
Typical high bandwidth USB devices operate at lower data rates, often about 3 MiB/s overall, sometimes up to 10–20 MiB/s. A Full Speed device (for example PIC18f2550) easily reaches a little over 1MiB/s over a bulk endpoint .
For isochronous devices like audio streams, the bandwidth is constant, and reserved exclusively for a given device. The bus bandwidth therefore only has an effect on the number of channels that can be sent at a time, not the "speed" or latency of the transmission.
After the sync field, all packets are made of 8-bit bytes, transmitted least-significant bit first. The first byte is a packet identifier (PID) byte. The PID is actually 4 bits; the byte consists of the 4-bit PID followed by its bitwise complement. This redundancy helps detect errors. (Note also that a PID byte contains at most four consecutive 1 bits, and thus will never need bit-stuffing, even when combined with the final 1 bit in the sync byte. However, trailing 1 bits in the PID may require bit-stuffing within the first few bits of the payload.)
::::{|class=wikitable
|+ USB PID bytes
! Type !! PID value
(msb-first) !! Transmitted byte
(lsb-first) !! Name !! Description
|-
| Reserved ||align=center| 0000 ||align=center| 0000 1111 ||colspan=2|
|-
|rowspan=2| Token ||align=center| 1000 ||align=center| 0001 1110 || SPLIT || High-bandwidth (USB 2.0) split transaction
|-
|align=center| 0100 ||align=center| 0010 1101 || PING || Check if endpoint can accept data (USB 2.0)
|-
| Special || rowspan="2" style="text-align:center;"| 1100 || rowspan="2" style="text-align:center;"| 0011 1100 || PRE || Low-bandwidth USB preamble
|-
|rowspan=5| Handshake || ERR || Split transaction error (USB 2.0)
|-
|align=center| 0010 ||align=center| 0100 1011 || ACK || Data packet accepted
|-
|align=center| 1010 ||align=center| 0101 1010 || NAK || Data packet not accepted; please retransmit
|-
|align=center| 0110 ||align=center| 0110 1001 || NYET || Data not ready yet (USB 2.0)
|-
|align=center| 1110 ||align=center| 0111 1000 || STALL || Transfer impossible; do error recovery
|-
|rowspan=4| Token ||align=center| 0001 ||align=center| 1000 0111 || OUT || Address for host-to-device transfer
|-
|align=center| 1001 ||align=center| 1001 0110 || IN || Address for device-to-host transfer
|-
|align=center| 0101 ||align=center| 1010 0101 || SOF || Start of frame marker (sent each ms)
|-
|align=center| 1101 ||align=center| 1011 0100 || SETUP || Address for host-to-device control transfer
|-
|rowspan=4| Data ||align=center| 0011 ||align=center| 1100 0011 || DATA0 || Even-numbered data packet
|-
|align=center| 1011 ||align=center| 1101 0010 || DATA1 || Odd-numbered data packet
|-
|align=center| 0111 ||align=center| 1110 0001 || DATA2 || Data packet for high-bandwidth isochronous transfer (USB 2.0)
|-
|align=center| 1111 ||align=center| 1111 0000 || MDATA || Data packet for high-bandwidth isochronous transfer (USB 2.0)
|}
Packets come in three basic types, each with a different format and CRC (cyclic redundancy check):
USB 2.0 added two additional handshake packets, NYET which indicates that a split transaction is not yet complete. A NYET packet is also used to tell the host that the receiver has accepted a data packet, but cannot accept any more due to buffers being full. The host will then send PING packets and will continue with data packets once the device ACK's the PING. The other packet added was the ERR handshake to indicate that a split transaction failed.
The only handshake packet the USB host may generate is ACK; if it is not ready to receive data, it should not instruct a device to send any.
IN and OUT tokens contain a 7-bit device number and 4-bit function number (for multifunction devices) and command the device to transmit DATAx packets, or receive the following DATAx packets, respectively.
An IN token expects a response from a device. The response may be a NAK or STALL response, or a DATAx frame. In the latter case, the host issues an ACK handshake if appropriate.
An OUT token is followed immediately by a DATAx frame. The device responds with ACK, NAK, NYET, or STALL, as appropriate.
SETUP operates much like an OUT token, but is used for initial device setup. It is followed by an 8-byte DATA0 frame with a standardized format.
Every millisecond (12000 full-bandwidth bit times), the USB host transmits a special SOF (start of frame) token, containing an 11-bit incrementing frame number in place of a device address. This is used to synchronize isochronous data flows. High-bandwidth USB 2.0 devices receive 7 additional duplicate SOF tokens per frame, each introducing a 125 µs "microframe" (60000 high-bandwidth bit times each).
USB 2.0 added a PING token, which asks a device if it is ready to receive an OUT/DATA packet pair. The device responds with ACK, NAK, or STALL, as appropriate. This avoids the need to send the DATA packet if the device knows that it will just respond with NAK.
USB 2.0 also added a larger 3-byte SPLIT token with a 7-bit hub number, 12 bits of control flags, and a 5-bit CRC. This is used to perform split transactions. Rather than tie up the high-bandwidth USB bus sending data to a slower USB device, the nearest high-bandwidth capable hub receives a SPLIT token followed by one or two USB packets at high bandwidth, performs the data transfer at full or low bandwidth, and provides the response at high bandwidth when prompted by a second SPLIT token. The details are complex; see the USB specification.
There are two basic data packets, DATA0 and DATA1. They must always be preceded by an address token, and are usually followed by a handshake token from the receiver back to the transmitter. The two packet types provide the 1-bit sequence number required by Stop-and-wait ARQ. If a USB host does not receive a response (such as an ACK) for data it has transmitted, it does not know if the data was received or not; the data might have been lost in transit, or it might have been received but the handshake response was lost.
To solve this problem, the device keeps track of the type of DATAx packet it last accepted. If it receives another DATAx packet of the same type, it is acknowledged but ignored as a duplicate. Only a DATAx packet of the opposite type is actually received.
When a device is reset with a SETUP packet, it expects an 8-byte DATA0 packet next.
USB 2.0 added DATA2 and MDATA packet types as well. They are used only by high-bandwidth devices doing high-bandwidth isochronous transfers which need to transfer more than 1024 bytes per 125 µs "microframe" (8192 kB/s).
The most significant technical differences between FireWire and USB include the following:
These and other differences reflect the differing design goals of the two buses: USB was designed for simplicity and low cost, while FireWire was designed for high performance, particularly in time-sensitive applications such as audio and video. Although similar in theoretical maximum transfer rate, FireWire 400 is faster than USB 2.0 Hi-Bandwidth in real-use, especially in high-bandwidth use such as external hard-drives. The newer FireWire 800 standard is twice as fast as FireWire 400 and faster than USB 2.0 Hi-Bandwidth both theoretically and practically. The chipset and drivers used to implement USB and Firewire have a crucial impact on how much of the bandwidth prescribed by the specification is achieved in the real world, along with compatibility with peripherals.
Ethernet standards requires electrical isolation between the networked device (computer, phone, etc.) and the network cable up to or for 60 seconds. USB has no such requirement as it was designed for peripherals closely associated with a host computer, and in fact it connects the peripheral and host grounds. This gives Ethernet a significant safety advantage over USB with peripherals such as cable and DSL modems connected to external wiring that can assume hazardous voltages under certain fault conditions.
eSATA does not supply power to external devices. This is an increasing disadvantage compared to USB. Even though USB's 2.5 W is sometimes insufficient to power external hard drives, technology is advancing and external drives gradually need less power, manifesting the eSATA disadvantage. eSATAp (power over eSATA) is a new (2009) standard that supplies sufficient power to attached devices using a new, backwards-compatible, connector.
eSATA, like USB, supports hot plugging, although this might be limited by OS drivers and device firmware.
* USB 0.7: Released in November 1994.
When operating in SuperSpeed mode, full-duplex signaling occurs over two differential pairs separate from the non-SuperSpeed differential pair. This results in USB 3.0 cables containing two wires for power and ground, two wires for non-SuperSpeed data, and four wires for SuperSpeed data, and a shield that was not required in previous specifications.
To accommodate the additional pins for SuperSpeed mode, the physical form factors for USB 3.0 plugs and receptacles have been modified from those used in previous versions. Standard-A cables have extended heads where the SuperSpeed connectors extend beyond and slightly above the legacy connectors. Similarly, the Standard-A receptacle is deeper to accept these new connectors. On the other end, the SuperSpeed Standard-B connectors are placed on top of the existing form factor. A legacy standard A-to-B cable will work as designed and will never contact any of the SuperSpeed connectors, ensuring backward compatibility. SuperSpeed standard A plugs will fit legacy A receptacles, but SuperSpeed standard B plugs will not fit into legacy standard B receptacles, so a new cable can be used to connect a new device to an old host, but not to connect a new host to an old device; for that, a legacy standard A-to-B cable will be required.
SuperSpeed establishes a communications pipe between the host and each device, in a host-directed protocol. In contrast, USB 2.0 broadcasts packet traffic to all devices.
USB 3.0 extends the bulk transfer type in SuperSpeed with Streams. This extension allows a host and device to create and transfer multiple streams of data through a single bulk pipe.
New power management features include support of idle, sleep and suspend states, as well as link-, device-, and function-level power management.
The bus power spec has been increased so that a unit load is 150 mA (+50% over minimum using USB 2.0). An unconfigured device can still draw only one unit load, but a configured device can draw up to six unit loads (900 mA, an 80% increase over USB 2.0 at a registered maximum of 500 mA). Minimum device operating voltage is dropped from 4.4 V to 4 V.
USB 3.0 does not define cable assembly lengths, except that it can be of any length as long as it meets all the requirements defined in the specification. Although electronicdesign.com estimated cables will be limited to 3 m at SuperSpeed,
The technology is similar to a single channel ("1×") of PCI Express 2.0 (5 Gbit/s). It uses 8B/10B encoding, linear feedback shift register (LFSR) scrambling for data and spread spectrum. It forces receivers to use low frequency periodic signaling (LFPS), dynamic equalization, and training sequences to ensure fast signal locking.
Consumer products became available in January 2010.
On 5 January 2010, USB-IF announced the first two certified USB 3.0 motherboards, one by Asus and one by Gigabyte. Previous announcements included Gigabyte's October 2009 list of seven P55 chipset USB 3.0 motherboards, and an ASUS motherboard that was cancelled before production.
Commercial controllers were expected to enter into volume production in the first quarter of 2010. On 14 September 2009, Freecom announced a USB 3.0 external hard drive. On January 4, 2010, Seagate announced a small portable HDD with PC Card targeted for laptops (or desktop with PC Card slot addition) at the CES in Las Vegas.
Drivers are under development for Windows 7, but support was not included with the initial release of the operating system. However, drivers are available for Windows through manufacturer websites. The Linux kernel has supported USB 3.0 since version 2.6.31, which was released in September 2009.
Intel will not support USB 3.0 until 2011, which will slow down mainstream adoption. These delays may be due to problems in the CMOS manufacturing process, a focus to advance the Nehalem platform, a wait to mature all the 3.0 connections standards (USB3, PCIe3, SATA3.0) before developing a new chip set, or a tactic by Intel to boost its upcoming Light Peak interface. Current AMD road maps indicate that the new southbridges released in the beginning of 2010 will not support USB 3.0.
The USB Implementers Forum is working on a wireless networking standard based on the USB protocol. Wireless USB is intended as a cable-replacement technology, and will use ultra-wideband wireless technology for data rates of up to 480 Mbit/s.
This text is licensed under the Creative Commons CC-BY-SA License. This text was originally published on Wikipedia and was developed by the Wikipedia community.