Professional Documents
Culture Documents
USB Universal Serial Bus: Omid Fatemi Interface Design
USB Universal Serial Bus: Omid Fatemi Interface Design
University of Tehran 1
Motivations
Connection of the PC to Telephone
The USB provides a ubiquitous link that can be used across a wide range of PC-to-telephone interconnects.
University of Tehran 2
USB
Fast Bi-directional Isochronous low-cost dynamically attachable serial interface consistent with the requirements of the PC platform of today and tomorrow
University of Tehran 3
University of Tehran 4
University of Tehran 5
Feature list
Easy to use for end user
Single model for cabling and connectors Electrical details isolated from end user (e.g., bus terminations) Self-identifying peripherals, automatic mapping of function to driver, and configuration Dynamically attachable and re-configurable peripherals Suitable for device bandwidths ranging from a few kb/s to several Mb/s Supports isochronous as well as asynchronous transfer types over the same set of wires Supports concurrent operation of many devices (multiple connections) Supports up to 127 physical devices Supports transfer of multiple data and message streams between the host and devices Allows compound devices (i.e., peripherals composed of many functions) Lower protocol overhead, resulting in high bus utilization
University of Tehran 6
Isochronous bandwidth
Guaranteed bandwidth and low latencies appropriate for telephony, audio, etc. Isochronous workload may use entire bus bandwidth Supports a wide range of packet sizes, which allows a range of device buffering options Allows a wide range of device data rates by accommodating packet buffer size and latencies Flow control for buffer handling is built into the protocol Error handling/fault recovery mechanism is built into the protocol Dynamic insertion and removal of devices is identified in user-perceived real-time Supports identification of faulty devices
Flexibility
Robustness
University of Tehran 7
Low-cost implementation
Upgrade path
University of Tehran 8
University of Tehran 9
USB Interconnect
Bus Topology: Connection model between USB devices and the host. Inter-layer Relationships: In terms of a capability stack, the USB tasks that are performed at each layer in the system. Data Flow Models: The manner in which data moves in the system over the USB between producers and consumers. USB Schedule: The USB provides a shared interconnect. Access to the interconnect is scheduled in order to support isochronous data transfers and to eliminate arbitration overhead.
University of Tehran 10
BUS Topology
University of Tehran 11
Physical Interface
pin
1
2 3 4
Name
Vcc
DD+ GND
Descryption
+5 Vdc
DataData+ Ground
University of Tehran 12
Throughput
Low speed
1.5 Mbps
Full speed
12 Mbps
Dynamic mode switching Clock encoding scheme: NRZI (Non Return to Zero Invert)
University of Tehran 13
Power Distribution
Devices:
Bus-powered devices Self-powered devices
Power management
Host based Power events: Suspend Resume
University of Tehran 14
Bus Protocol
Polled bus Data transfers initiated only by host controller Three packets:
Token packet Type Direction Address End point number Data packet Handshake packet ACK NAK
University of Tehran 15
Transfer Model
Pipe
Stream pipes No USB standard format Message pipes USB format
Request Data Status
University of Tehran 16
Control Transfers:
Used to configure a device at attach time and can be used for other device-specific purposes, including control of other pipes on the device.
University of Tehran 17
USB Devices
All have endpoint zero Hub Function Compound
University of Tehran 18
Typical Configuration
University of Tehran 19
Host Responsibility
Detecting the attachment and removal of USB devices Managing control flow between the host and USB devices Managing data flow between the host and USB devices Collecting status and activity statistics
University of Tehran 20
Implementer Viewpoints
USB Physical Device: A piece of hardware on the end of a USB cable that performs some useful end user function. Client Software: Software that executes on the host, corresponding to a USB device. This client software is typically supplied with the operating system or provided along with the USB device. USB System Software: Software that supports the USB in a particular operating system. The USB System Software is typically supplied with the operating system, independently of particular USB devices or client software. USB Host Controller (Host Side Bus Interface): The hardware and software that allows USB devices to be attached to a host.
University of Tehran 21
University of Tehran 22
University of Tehran 23
University of Tehran 24
University of Tehran 25
USB defined structure Setup packet: 8 bytes Maximum data payload size:
Full speed: 8, 16, 32 or 64 bytes Low speed: 8 bytes
University of Tehran 26
University of Tehran 27
University of Tehran 28
University of Tehran 29
Isochronous Transfers
Guaranteed access to USB bandwidth with bounded latency Guaranteed constant data rate through the pipe as long as data is provided to the pipe In the case of a delivery failure due to error, no retrying of the attempt to deliver the data. Stream pipe Uni-directional Maximum data payload: 1023 bytes Only in Full speed. No more 90% of frame for isochronous, interrupt
University of Tehran 30
Isochronous Limits
University of Tehran 31
Interrupt Transfers
Guaranteed maximum service period for the pipe. Retry of transfer attempts at the next period, in the case of occasional delivery failure due to error on the bus. Max. Payload size:
Full speed: 64 bytes Low speed: 8 bytes
If there is sufficient bus time, for requested payload size the pipe is established.
University of Tehran 32
University of Tehran 33
University of Tehran 34
Bulk Transfers
Large amount of data. Access to the USB on a bandwidth-available basis. Retry of transfers, in the case of occasional delivery failure due to errors on the bus. Guaranteed delivery of data, but no guarantee of bandwidth or latency. Stream pipe Only in full speed Max. Payload: only 8, 16, 32 or 64 bytes
University of Tehran 35
University of Tehran 36
Connectors
University of Tehran 37
University of Tehran 38
Evaluation Setup
University of Tehran 39
NRZI Encoding
University of Tehran 40
Bit Stuffing
University of Tehran 41
University of Tehran 42
Signaling Levels
University of Tehran 43
Signals
Low and Full speed devices:
A differential 1 is transmitted by pulling D+ over 2.8V with a 15K ohm resistor pulled to ground and D- under 0.3V with a 1.5K ohm resistor pulled to 3.6V. A differential 0 on the other hand is a D- greater than 2.8V and a D+ less than 0.3V with the same appropriate pull down/up resistors. The receiver defines a differential 1 as D+ 200mV greater than D- and a differential 0 as D+ 200mV less thanD-. The polarity of the signal is inverted depending on the speed of the bus. Therefore the terms J and K states are used in signifying the logic levels. In low speed a J state is a differential 0. In high speed a J state I sa differential 1.
University of Tehran 44
Differential signals mostly for data Certain bus states by single ended signals on D+, D- or both.
For example a single ended zero or SE0 can be used to signify a reset if held more than 10ms. SE0 is holding down both D- and D+ below .3V
University of Tehran 45
Standard Chapters
University of Tehran 46
Selected Problems
University of Tehran 47