Universal Serial Bus: Difference between revisions

m
fixed misspelling
[unchecked revision][unchecked revision]
(→‎Functions: Add SuperSpeed)
m (fixed misspelling)
 
(4 intermediate revisions by 3 users not shown)
Line 36:
{{Main|eXtensible Host Controller Interface}}
 
Like its predecessor USB 2.0, USB 3.0 has only one host controller specification: Intel's '''eXtensible Host Controller Interface'''. Unlike its predecessor EHCI, however, xHCI controllers can and do interface with USB 1.0 and 2.0 devices without the use of companion controllers. Even on early hardware where there was both an EHCI and xHCI controller included (so that OSes which did not yet support xHCI could still use at least some USB devices), ports attached to the EHCI controller could generally be "re-routed" to the xHCI controller, and the EHCI controller disabled entirely.
In late 2008, the USB-IF released the USB 3.0 specifications. USB 3.0 host controllers are just starting to make their way into consumer devices since NEC introduced the world's first “SuperSpeed USB 3.0 host controller” in May, 2009, [http://www.techspot.com/news/34763-nec-introduces-worlds-first-usb-30-host-controller.html techspot reports].
 
Also unlike its predecessors, xHCI was designed with some degree of ''forwards compatibility'', so that revisions to the USB specification can be made without designing a new host controller interface (for instance, USB 3.1 and 3.2 add new speeds, with only minor updates to the specification to match them.) Unfortunately, this means that xHCI bears only a passing resemblance to the controllers that came before it, and make it challenging to write drivers for.
Intel is currently working on a USB 3.0 host controller specification called the '''eXtensible Host Controller Interface''' ('''xHCI''').
 
A Linux driver is available for reference [http://git.kernel.org/?p=linux/kernel/git/sarah/xhci.git;a=summary here] developed by Sarah Sharp at Intel.
 
In 2009, NEC introduced the [http://www.am.necel.com/usb/product/upd720200.html µPD720200], a USB 3.0 host controller compliant with Intel's draft [[xHCI]] specification.
 
On June 18th, 2010, Intel publicly released the xHCI specification.
 
== Basic Concepts and Nomenclature ==
Line 2,048 ⟶ 2,042:
=== External Links ===
* [http://www.usb.org/home USB.org]
* [httphttps://www.usb.org/developersdocument-library/docs/usb_20_110512.zipusb-20-specification USB Universal Serial Bus Revision 2.0 Specification]
* [httphttps://www.usb.org/developersdocument-library/docs/usb_30_spec_122012.zipusb-32-specification-released-september-22-2017-and-ecns UnivseralUniversal Serial Bus Revision 3.02 Specification]
* [http://www.usb.org/developers/wusb/wusb1_1_20100910.zip Wireless USB Specification Revision 1.1]
* [http://www.kernel.org/ The Linux kernel] (things tend to be confusing there, plus you have to be careful with educating yourself from Linux sources if your project isn't GPL'ed).
Line 2,055 ⟶ 2,049:
* [http://www.usb.org/developers/docs/USB_LANGIDs.pdf Currently accepted LANGIDs]
* [http://www.usbmadesimple.co.uk/index.html USB Made Simple]
* [https://www.fysnet.net/the_universal_serial_bus.htm USB: The Universal Serial Bus] is a book on writing device/system drivers for UHCI, OHCI, EHCI, and xHCI with various example devices and available source code.
 
[[Category:USB]]
9

edits