Protocol stack supports 3 logical layers
Describe relationship between
Host hardware and software
Corresponding view exists in each USB device
Separate layers provided to
Simplify understanding of USB communication
Let’s examine
USB Bus Interface Layer
Provides for low level transfer of data over USB
This is the physical layer in stack
Consists of
Physical connection
Electrical signaling environment
Packet transfer mechanism
Layer represents actual transfer of data across USB cable
Between host system and USB devices
Host side comprises
Host controller and hub
Client side comprises
USB interface within the device
USB Device Layer
USB Device layer
Represents portion of USB
Comprehends actual USB
Communication mechanism
Nature of transfers required by USB functional device
Layer comprises
USB system software on host side
Logical view of USB device on client side
USB views logical device as collection of endpoints
That comprise a functional interface
USB system software provides services needed
To interface client software with its USB function
Has specific knowledge of USB transfer mechanisms
Must allocate bus bandwidth to collection of USB devices
Logical USB device represents collection of endpoints
Through which client communicates with its function
System software views endpoints via device descriptors
Such descriptors parsed during configuration
To obtain transfer characteristics of given device
Descriptors and system software’s knowledge of USB transfer mechanism
Permit bandwidth to be reserved for each functional device
When it’s configured
System software performs variety of functions
Device attachment and detachment detection
Device configuration
Bandwidth allocation
Managing control flow between client and device
Managing data flow between client and device
Collecting status and transaction statistics
Transaction scheduling
Controlling electrical interface
Function Layer
Layer represents relationship between
Client software
Devices functional interface
Each interface
Consists of particular class of device
Class driver designed to manipulate
USB client software cannot access associated function directly
Such scheme contrasts with PCI, ISA, etc
Result of not being mapped directly into memory or I/O space
Device drivers must use USB programming interface
To access associated device
USB clients view USB device as
Interface which they know how to manipulate
USB system software must report to clients
Interface type
Other device characteristics
USB
Provides single type of connector
For attaching peripheral to system
Supports two different speeds of device
Low speed devices - 1.5 Mbyte / sec
High speed devices - 12 Mbyte / sec
All USB devices attach via USB hub
Hub provides one or more ports
Hub may have either high or low speed device attached
Device’s speed detected when attached to hub
Each port must support
High and low speed devices
Unless has permanently attached device
When transaction initiated by host
All high speed devices and all hubs see transaction
Each transaction has address field
Identifies targeted device or hub
Low speed devices only see low-speed transactions
Preceded by high speed preamble
Directs all hubs to enable low speed ports
Sub uses differential signaling
For serial communication between root hub and USB devices
Power supplied to USB devices
USB cable
Local power supply
Associated with the device
The Physical Environment
Connectors designed to permit any USB peripheral device
To be attached to hub port
Low-speed Cables
Intended only for 1.5Mbyte/sec signaling
Maximum cable length cannot exceed 3 meters
Also referred to as
Sub-channel cable
As noted only intended for 1.5 Mb/sec signaling
Sued in sub-channel applications where wider bandwidth not required
Differential signaling pair
May be non-twisted 28 AWG stranded conductors
Used to reduce effects of noise
Low speed cables do not require shielding
High-speed Cables
Require twisted shielded pair
Maximum
Cable length is 5 meters
Propagation delay is 30 ns over length of cable
When operating in range of 1-16 MHz
If cannot be met
Cable must be shortened
Except for differences noted above
Low and high speed cables are identical
Cables and Cable Power
Cable power is 5 Vdc
Can be used to power peripheral devices
Provides up to 500 ma
May be as little as 100 ma
Share with your friends: |