USB - universal serial bus
USB 1 (1.1) and USB 2
Capable of 127 devices per root hub.
Multiple root hubs in PCI slots acceptable.
Requires support of OS.
Bigest advantage of USB is that the protocol covers all aspects.
Device classes provide generic grouping of devices.
http://www-128.ibm.com/developerworks/power/library/pa-spec7.html?ca=dgr-mw27USB
USB - universal serial cables.
Protocol and design
Standard and Mini.
4 wire cable
Pair of transmit/receive data lines
Power/Ground for low power devices (5 volt).
.5 - 2.5 Watts. 10 mA to 500mA. (Active hub)
> .5, use active hub.
USB hubs
Requires a controller card (primary hub).
Tree topology.
Hubs can be used to extend distance.
Limit of 5 hubs daisy-chained. Max of 30M.
PC capable of multiple independent hubs.
Special cabling allows 2 hubs or pcs to interact.
USB-on-the-Go designed to allow peripheral devices to connect to each
other without a root hub. (2003?)
Additionally, there are any number of interfaces. USB to
parallel (printer) serial SCSI
Ethernet TV/Video Keyboard/mouse.
USB Actions
New device ids itself as @0
Root Hub then assigns an available address to it.
Each device can have up to 16 logical data pipes or channels (each direction)
for assigned @.
Think single printer, fax, scanner device.
Root hub generates a clock frame once a second +/- 0.05 msec.
Communication between hub and devices done by frames.
USB Frames
Frame - communication session.
Frames consist of 1 or more packets.
Initiated by controller but bi-directional during session.
Frame contains one or more packets of one or more of four packet types
Token - from root
SOF - start of frame.
IN - poll packet asks device to return certain data.
OUT - announces that data will be sent to device.
SETUP - used for configuration.
Data - bidirectional, up to 64 bytes at a time.
Sync field 8-bit.
Packet type id 8-bit.
Data being moved.
CRC cyclic redundency check 16-byte.
Three types of handshaking
ACK - previous data packet correctly received.
NAK - error (CRC error detected).
STALL - busy (wait).
Four general types of frames. (Task based)
Control - configure devices, give commands, check status.
Isochronous - used with time sensitive devices.
Deliver on time or discard.
Bulk - large data transfers to/from non-time sensitive devices.
Interrupt - USB does not support device initiated interrupts. Master hub
poles devices for attention need (50 msec) in round robin fashion.
One of the reasons for the length limit even with hubs.
"Interrupt" driven devices may be poled more often than other devices.
Response to "interrupt" is a singe unidirectional data packet (64 bytes)
and/or appropriate hand shaking, ACK,NAK,STALL,no response.