Next
USB - universal serial bus
USB 1/2
USB 1 (1.1) 1.5 Mb/s. (LS low speed) or 12 Mb/s (FS full speed)
Supports 1.5Mb/s sub-channel for low speed devices, i.e keyboard, mouse.
USB 2.0 480 Mib/s or 60 MiB/s. (HS high speed) Backwards compatible.
Actual data transfer < 33 MiB/s, the rest is overhead.
USB 1.1,2 uses single differential pair of data lines.
USB 3.x - a second bus running parallel to USB 2.
3.0 SuperSpeed - 5 Gib/s signalling - 8b/10b ~ payload 4 Gib/s theoretical
SS (super speed) - 625 MBytes/s data transfer achievable.
3.1 Superspeed+ - 10 Gib/s signalling - 8b/10b ~ payload 4 Gib/s theoretical
3.2 Superspeed+ - 20 Gib/s signalling - 8b/10b ~ payload 4 Gib/s theoretical
Cable different.
2 additional pair of differential data lines added.
One for each direction.
Ports on system and devices can still take USB 2 cables.
Superspeed is also capable of duplex communication.
USB 3.1/3.2
SS+ (2017) 10 and 20 Gbit/s
Uses a type C connectior - 24 pin.
(USB-C).
General
Implemented as a networked tree topology.
Structured as a controlling hub (host) at root of tree servicing devices.
Capable of 127 devices per root hub.
All devices must share the bandwidth.
(Hubs count as devices)
As more devices added, overhead slows interface.
7 devices are the practical limit for a particular root hub.
Different speed devices on a single controller do affect each other
in some aspects of communication.
However, newer systems provide each USB port with its own host/root hub.
Hosts can only interface with each other on the system side,
never on the USB bus side.
Maximum cable length 5 Meters for USB 2 and 3 meters for USB 1.
Protocol requires transmission and response time between hub and device
to be < 1500 nSec. or 1.5 mSec.
Hubs can be used to extend distance for a total of 30 meters.
Plug and Play - auto-configured on the fly.
Devices have logic/memory that helps in this auto-configation.
May require download of driver to use features of device,
but many OSes have automated this.
Note that all devices initially communicate via the USB 1/2 D+/D- lines.
Superspeed support only activates after device is fully recognized.
Hot swapable - all devices can be on when connnecting/disconnecting.
Storage and other intelligent devices need to be unmounted to flush buffers.
Can be problematic when used with KVM switch.
Requires support of OS.
Biggest advantage of USB is that the protocol covers all aspects of
the technology. Plugs, cables, hubs, voltage levels, signal encoding
protocols, timing, interface circuitry and protocols, etc.
More complete than firewire and cheaper.
Defined device classes provide a grouping where existing generic drivers
may exist for a variety of devices, such as printers, audio, HID (mouse),
networking, etc.
Most devices will provide their class ID on PnP recognition to help
speed initial configuration.
Devices may use custom drivers to provide additional functionality.
Most modern OSes capable of searching for these on their own.
Occasionally user may have to search and download.
Device must be intellegent. At least the USB interface requires a
microcontroller that can understand packets sent by root hub
controller.