HYSTORY USB

Version history

A PCI USB 2.0 card for a computer motherboard

Prereleases

The USB standard evolved through several versions before its official release in 1995:
  • USB 0.7: Released in November 1994.
  • USB 0.8: Released in December 1994.
  • USB 0.9: Released in April 1995.
  • USB 0.99: Released in August 1995.
  • USB 1.0 Release Candidate: Released in November 1995.

USB 1.0

  • USB 1.0: Released in January 1996.
    Specified data rates of 1.5 Mbit/s (Low-Bandwidth) and 12 Mbit/s (Full-Bandwidth). Does not allow for extension cables or pass-through monitors (due to timing and power limitations). Few such devices actually made it to market.
  • USB 1.1: Released in August 1998.
    Fixed problems identified in 1.0, mostly relating to hubs. Earliest revision to be widely adopted.

USB 2.0

The Hi-Speed USB Logo
  • USB 2.0: Released in April 2000. Added higher maximum bandwidth of 480 Mbit/s (60 MB/s) (now called "Hi-Speed"). Further modifications to the USB specification have been done via Engineering Change Notices (ECN). The most important of these ECNs are included into the USB 2.0 specification package available from USB.org[11]:
    • Mini-A and Mini-B Connector ECN: Released in October 2000.
      Specifications for Mini-A and B plug and receptacle. Also receptacle that accepts both plugs for On-The-Go. These should not be confused with Micro-B plug and receptacle.
    • Errata as of December 2000: Released in December 2000.
    • Pull-up/Pull-down Resistors ECN: Released in May 2002.
    • Errata as of May 2002: Released in May 2002.
    • Interface Associations ECN: Released in May 2003.
      New standard descriptor was added that allows multiple interfaces to be associated with a single device function.
    • Rounded Chamfer ECN: Released in October 2003.
      A recommended, compatible change to Mini-B plugs that results in longer lasting connectors.
    • Unicode ECN: Released in February 2005.
      This ECN specifies that strings are encoded using UTF-16LE. USB 2.0 did specify that Unicode is to be used but it did not specify the encoding.
    • Inter-Chip USB Supplement: Released in March 2006.
    • On-The-Go Supplement 1.3: Released in December 2006.
      USB On-The-Go makes it possible for two USB devices to communicate with each other without requiring a separate USB host. In practice, one of the USB devices acts as a host for the other device.
    • Battery Charging Specification 1.1: Released in March 2007 (Updated 15 Apr 2009).
      Adds support for dedicated chargers (power supplies with USB connectors), host chargers (USB hosts that can act as chargers) and the No Dead Battery provision which allows devices to temporarily draw 100 mA current after they have been attached. If a USB device is connected to dedicated charger, maximum current drawn by the device may be as high as 1.8 A. (Note that this document is not distributed with USB 2.0 specification package only USB 3.0 and USB On-The-Go.)
    • Micro-USB Cables and Connectors Specification 1.01: Released in April 2007.
    • Link Power Management Addendum ECN: Released in July 2007.
      This adds a new power state between enabled and suspended states. Device in this state is not required to reduce its power consumption. However, switching between enabled and sleep states is much faster than switching between enabled and suspended states, which allows devices to sleep while idle.
    • Battery Charging Specification 1.2[12]: Released in December 2010.
      Several changes and increasing limits including allowing 1.5A on charging ports for unconfigured devices, allowing High Speed communication while having a current up to 1.5A and allowing a maximum current of 5A.

USB 3.0

The Super-Speed USB Logo
  • USB 3.0 was released in November 2008. The standard specifies a maximum transmission speed of up to 5 Gbit/s (625 MB/s), which is more than 10 times as fast as USB 2.0 (480 Mbit/s, or 60 MB/s), although this speed is typically only achieved using powerful professional grade or developmental equipment. USB 3.0 reduces the time required for data transmission, reduces power consumption, and is backward compatible with USB 2.0. The USB 3.0 Promoter Group announced on 17 November 2008 that the specification of version 3.0 had been completed and had made the transition to the USB Implementers Forum (USB-IF), the managing body of USB specifications.[13] This move effectively opened the specification to hardware developers for implementation in products. The new "SuperSpeed" bus provides a fourth transfer mode at 5.0 Gbit/s, in addition to the modes supported by earlier versions. The raw throughput is 4 Gbit/s (using 8b/10b encoding), and the specification considers it reasonable to achieve around 3.2 Gbit/s (0.4 GB/s or 400 MB/s), which should increase with future hardware advances. Communication is full-duplex during SuperSpeed; in the modes supported previously, by 1.x and 2.0), communication is half-duplex, with direction controlled by the host.
    • Battery Charging Specification 1.2[12]: released in December 2010. Several changes and increasing limits including allowing 1.5A on charging ports for unconfigured devices, allowing High Speed communication while supplying a current up to 1.5A, and allowing a maximum current of 5A.

System design

The design architecture of USB is asymmetrical in its topology, consisting of a host, a multitude of downstream USB ports, and multiple peripheral devices connected in a tiered-star topology. Additional USB hubs may be included in the tiers, allowing branching into a tree structure with up to five tier levels. A USB host may implement multiple host controllers and each host controller may provide one or more USB ports. Up to 127 devices, including hub devices if present, may be connected to a single host controller.[14][15]
USB devices are linked in series through hubs. One hub is known as the root hub which is built into the host controller.
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). This kind of device is called composite device. An alternative for this is 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.
Diagram: inside a device are several endpoints, each of which is connected by a logical pipes to a host controller. Data in each pipe flows in one direction, although there are a mixture going to and from the host controller.
USB endpoints actually reside on the connected device: the channels to the host are referred to as pipes
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. Because pipes correspond 1-to-1 to endpoints, the terms are sometimes used interchangeably. A USB device can have up to 32 endpoints: 16 into the host controller and 16 out of the host controller. The USB standard reserves one endpoint of each type, leaving a theoretical maximum of 30 for normal use. 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).
  • interrupt transfers: devices that need guaranteed quick responses (bounded latency) (e.g., pointing devices and keyboards).
  • bulk transfers: large sporadic transfers using all remaining available bandwidth, but with no guarantees on bandwidth or latency (e.g., file transfers).
  • control transfers: typically used for short, simple commands to the device, and a status response, used, for example, by the bus control pipe number 0.
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 a 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.
Rectangular opening where the width is twice the height. The opening has metal rim, and within the opening a flat rectangular bar runs parallel to the top side.
Two USB standard A receptacles on the front of a computer
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 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. When a high-speed USB 2.0 hub is plugged into a high-speed USB host or hub, it will operate in high-speed mode. The USB hub will then either use one transaction translator per hub to create a full/low-speed bus that is routed to all full and low speed devices on the hub, or will use one transaction translator per port to create an isolated full/low-speed bus per port on the hub.
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.

Posting Komentar

0 Komentar