An Introduction To USB Software
An Introduction To USB Software
Software
from
What is USB?
Alternative to old-fashioned serial and parallel
interfaces
Minimises number of PC connectors
Simplifies I/O and offers true plug-n-play
Supports up to 127 devices
Multiple data rates
USB 1.1: full speed [12Mb/s] and low speed [1.5Mb/s]
USB 2.0: high speed [480Mb/s]
from
USB Topology
Host
Root Hub
Hub
1
Peripheral
Hub
3
Peripheral
Peripheral
Hub
2
Peripheral
Hub
4
Peripheral
Peripheral
Peripheral
from
A USB Peripheral
A USB Peripheral
USB Peripheral Controller
Endpoint n
To
host
or hub
USB
Interface
CPU
Endpoint 1
Endpoint 0
Input/Output Device
from
USB Communications
USB is a master/slave protocol
4 types of data transfer:
Control
Bulk
volume, non-time-critical data
Interrupt
polled, low-volume data
Isochronous
volume, time-critical data
from
Function
Application
Application
Middleware
Class Driver
Class Driver
Host Stack
Function Stack
Hardware
Controller Driver
Hardware
Controller Driver
from
from