The Universal Serial Bus

The Universal Serial Bus
USB
The Universal Serial Bus
Most of the material is taken from
Jan Axelsson: USB Complete, third edition
Lakeview Research
ISBN: 1-931448-02-7
1
Demands to forfill
• Usability, easy to use
• Speed,
S
d fast
f t enough
h nott to
t hinder
hi d traffic
t ffi
• Reliability, low error rate, retry when errors occur
• Versatility, suitable for many types of peripherals
• Cheap, specially in the device end
• Low power, batteries, bus power
• Support from common OS: Windows, Linux, Mac OS, Android
Abilities
• Use the same interface for many kinds of peripherals
using the same connector
• Get automatic configuration. When the OS detects
a new device it will load the appropriate driver
• Easy connection. The connector is small and
can not be inserted the wrong way
• Hot plug, the devices can be connected whenever
we want
want. No restarting of the system
• Starts communication without user settings.
No address to set. No interrupts to allocate
• In many cases bus powered
2
Interface comparison
USB versus FireWire
• In FireWire the communicating nodes can be
any nodes on the bus
• USB communication is always between
the host and a device
• FireWire has broadcasting capabilities
• Higher demands on peripheral nodes in FireWire
• FireWire nodes are more complicated,
as a result also more expensive
3
USB versus Ethernet
• Ethernet can use long cables
• Ethernet has broadcasting capabilities
• Ethernet has support for Internet protocols
• Ethernet has a more complicated interface than USB
• USB is more flexible with four transfer types
and three speed grades, not counting USB3
USB disadvantages
• Too slow for demanding applications
Does not apply to version 3.0
• Short distance, up to 5 meters
Could be extended using an active repeater
• The host handles all communication,
devices can not talk to each other
• No broadcasting capability
• All communications goes through the OS
and a driver, you can not interact directly
with the port
4
The USB bus
• Root hub in host (PC)
Root
hub
• Additional
Additi
l external
t
l hubs
h b
Peripheal
Peripheal
Hub
• Tired star
Peripheal
Peripheal
Hub
Peripheal
Peripheal
Peripheal
• Hubs connect to devices
The USB bus cont.
• The host is in charge of the bus
• Only one device at a time can communicate with the host
• The host detects devices connected to the bus
• The host controller hardware and drivers do most
of the handling of the bus
• The
Th applications
li ti
use standard
t d d OS calls
ll tto send
d
and retrieve data
• The applications does not have to be aware of
USB details or even that the bus uses USB
5
Speed grades
• Low-speed, 1.5 Mbits/sec
USB 1.x
• Full-speed, 12 Mbits/sec
USB 2.0
• High-speed, 480 Mbits/sec
USB network
2.0 host
and root
hub
Hi h speed
High
d
L /f ll speed
Low/full
d
High speed
Low speed
Full speed
2.0 hub
Highspeed
device
Low speed
High speed
Full-speed
device
Lowspeed
device
Full speed
Full speed
Full speed
Lowspeed
device
Hi h
Highspeed
device
Full-speed
device
1.x hub
Highg
speed
device
Low speed
L
Lowspeed
device
Full-speed
device
6
Frames
Low- and full-speed transfers use 1 millisecond long frames,
within which each transfer is allocated space
At high-speed every frame is divided into 8
125 microsecond long microframes
unused
Device 2, endpoint 0
Device 2, endpoint 0
Start of Frame
Device 1, endpoint 2
unused
Device 5, endpoint 3
Device 5, endpoint 3
Device 2, endpoint 0
Start of Frame
Device 1, endpoint 2
unused
Device 5, endpoint 3
Device 5, endpoint 3
Device 5, endpoint 3
Device 1, endpoint 2
Start of Frame
Device 1, endpoint 2
Each frame or microframe starts with a Start-of-Frame
timing reference
Endpoints and pipes
All transactions on the bus are between endpoints
Endpoints are connected through pipes
All pipes except control pipes are one-directional
All endpoints except control endpoints are one-directional
IN endpoints pass information to the host
OUT endpoints pass information from the host
7
Endpoints and pipes cont.
Control endpoints are used for control and status
information but can also transfer data
Other endpoints transfer data
Transfer types
• Control transfer
Used by the host to read information about a device
device,
set the device´s address and configuration,
can send vendor specific information,
can transfer small amounts of data.
Must be supported by all USB devices
• Bulk transfer
Used when the transfer rate is not of the highest
priority but the data size may be large.
Printers, scanners external drives
8
Transfer types cont.
• Interrupt transfer
Used by devices that must receive attention
periodically. The only way for low-speed devices
to communicate, besides control transfers.
Used for mice and keyboards
• Isochronous transfer
Have guaranteed delivery time but no error correction
correction.
Typically for audio and video in real time
Transfer types cont.
9
Control transfer
Carry requests are used by the host to learn about
and configure devices
All USB devices must support control transfers
Three stages
• Setup stage
The host sends information about the request
• Data stage
D t is
Data
i send
d through
th
h IN or OUT transactions.
t
ti
The stage is optional since not all requests carry data
• Status stage
Reports success or failure of previous stages
Control transfer cont.
Maximum size of data packet
Low-speed
speed 8 bytes
• Low
• Full-speed 8, 16, 32 or 64 bytes
• High-speed 64 bytes
Control transfers can be used to transfer other kinds
of information but the overhead is quit large
The only way for low-speed devices to transfer
information, except through interrupt transfer
The response time for control transfers can be quit long
10
Bulk transfer
Transfers when the time isn´t critical
C ttransfer
Can
f large
l
amounts
t off data
d t without
ith t filling
filli
the bus since it defers other types of transfer and
waits for available bus time
Fast on an idle bus
Only full- and high-speed transfers.
Data to printers, from scanners,
to and from external drives
Uses error detection and re-sending
Interrupt transfer
Useful when the data has to transfer within a
specific amount of time
Keyboards, mice, game controllers
We don´t want a delay between pressing a key
on the keyboard and the response on the screen
The host polls the device for data like any other device.
The transfer type guarantees that the host requests
or sends data with minimal delay
delay.
There is no guaranteed transfer rate.
All three speeds allowed
11
Interrupt transfer cont.
The host may begin each transaction at any time up to
the maximum latency since the last transaction began.
Interrupt transfers doesn´t guarantee a precise
rate of delivery.
Can be very fast at high-speed, 24.576 Megabytes/sec.
The same error-checking as bulk transfer
Isochronous transfer
For streaming real-time transfers when data must
arrive at a constant rate or by a specific time.
Transfer of voice and music played in real-time
real time
No error-checking. No re-transmission of erroneous data
For data transfered first and played back later
bulk transfer might be a better choice
Data doesn´t have to arrive at a constant rate as long
as the data is available when needed, that is the
transmission can take place in bursts
Before setting up a isochronous transfer the host
determines if the requested bandwidth is available
12
Enumeration
Before applications can communicate with a device
the host needs to learn about the device and assign
a device driver.
driver This is done in the enumeration process
The process includes assigning an address to the device,
reading descriptors from the device, assigning and
loading a device driver and selecting a configuration
The enumeration process is invisible to the user except
maybe for a message that a new device has been detected.
On first use the user may be prompted for the location
of driver files
Enumeration sequence
1. The user attaches a new device or the system power-up
2. The hub detects the device
3. The host learns of the new device
4. The hub detects whether the device is full- or low-speed.
A high-speed device will start-up as full-speed
5. The hub resets the device
6. The hub learns if a full-speed device supports high-speed
7. The hub establishes a signal path between the device and the bus.
Communication use the defauilt address 0x00
13
Enumeration sequence cont.
8. The host requests the maximum packet size from the
default pipe
9. The host assigns an unique address to the device
10. The host learns the capabilities of the device
11. The host assigns and loads a device driver
12. The host´s device driver selects a configuration
Descriptors
USB descriptors are data structures that enable the host
to learn about a device.
During enumeration the host requests the descriptors
from the device.
There are four basic descriptor types
14
Descriptors cont.
• Device descriptor
Basic information about the whole device. Specifies
the number
th
b off configurations
fi
ti
th
the device
d i supports
t
• Configuration descriptors
Information about the device´s use of power and the
number of interfaces supported by the configuration
• Interface descriptors
Specifies the endpoint descriptors
• Endpoint descriptors
Specifies how the endpoint transfers data
Device classes
A device class gathers devices that have much in common
and perform simular functions
The devices or interfaces in a class share many attributes
and provide or request simular services
The class has a common class driver
The specification defines the number and type of required
and optional endpoints.
endpoints It may also define or name formats
for data to be transferred
Vendors can add filter drivers to support added features
15
Device classes with approved class
specifications
The audio class
For devices that send or receive audio data, which may
include encoded voice, music or other sounds
Often part of devices that also support video
video, storage
or other functions
Uses isochronous transfer for audio streams or
bulk transfer for data using the MIDI protocol.
The AudioControl interface access controls such as
volume, mute, bass and treble
Zero or more AudioStreaming interfaces transfers
audio using isochronous transfer
Zero or more MIDIStreaming interfaces transfers
MIDI data using bulk transfer
16
Musical Instrument Digital Interface
MIDI
Standard for controlling synthesizers, sound cards and
other electronic devices that generate music or other sounds
The data includes values for pitch, length, volume and
other characteristics
The interface does not transfer sound
The interface uses asynchronous transfer at 31.25
31 25 kbits/sec
A USB interface that carries MIDI data does not use
the asynchronous interface but use bulk transfer
The chip/smart card interface class
Smart cards are used in phones, gift cards, keyless entry,
storing
t i medical
di l data,
d t storing
t i photographs,
h t
h enabling
bli off satellite
t llit
TV receivers and other applications that require storing small or
moderate quantities of data with easy and portable access
Each card contains memory and often a CPU
Many cards allow updating of the contents using a
connector or an embedded antenna
17
The chip/smart card interface class
cont.
To access the card you connect it to a Chip Card
Interface Device,
Device CCID (smart card reader)
Some of these CCIDs have USB interfaces and these
use this class
The CCID use bulk transfer to exchange data
between the host and the device
The CCID use interrupt transfer to report errors and
the insertion or removal of a card
The communication device class,
CDC
The class have two broad device types:
• Telephones including analog telephones and modems
modems,
ISDN terminal adapters and digital phones
• Medium-speed networking devices including ADSL
modems, cable modems and 10BASE-T Ethernet
adapters and hubs
Two subclasses:
• The Wireless Mobile Communications subclass
including terminal equipment for wireless devices
• The Ethernet Emulation Model subclass including
devices that send and receive Ethernet frames
18
The communication device class,
CDC cont.
The Remote Network Driver Interface Specification
(Remote NDIS) defines a protocol for using USB and
other buses to configure network interfaces and to
send and receive Ethernet data
CDC supports three basic models for communications:
• The Plain Old Telephone Service (POTS) model for
communicating via ordinary phone lines
• The Integrated Services Digital Network (ISDN) model
for communications via phone lines using ISDN
• The Networking model for communications via
Ethernet or Asynchronous Transfer Mode (ATM)
The content security class
The class defines a way for owners to control access to
files, music, video and other data transmitted on the bus.
The control can use either of two defined Content
Security Methods (CSM)
• Basic Authorization (CSM-1) only enables a host to
request an ID from the device
• Digital Content Protection (DTCP, CSM-2) can be
used to specify whether copying is allowed
allowed, identify
authorized users and specify an encryption method
The class defines a method for activating and deactivating
a content security method and for associating a method to
a channel
19
The device firmware upgrade class,
DFU
The class defines a protocol to enable a host to send
firmware enhancements and patches to a device
The device must have two sets of descriptors:
run-time and DFU-mode descriptors
DFU communications
i ti
only
l use the
th control
t l endpoint
d i t
The human interface class, HID
Human interfaces (HID) are devices that the host uses to react
to human input such as keypresses and mouse movement
The host must react quickly so the user doesn´t notice
a delay between input and response
Low-speed is fast enough to avoid notable delays
All data travels in reports with tags that tell the host or
device how to use the data
HIDs communicate by exchanging reports using control
and interrupt transfers
20
The Infrared Data Association
(IrDA) bridge class
The IrDA interface defines hardware requirements
q
and
protocols for exchanging data over short distances
using infrared light
A USB IrDA bridge converts between USB and IrDA data
The IrDA link uses the Infrared Access Protocol
(IrLAP) which defines the format of the IrDA frames
The USB IrDA bridge uses bulk transfers to exchange
data with the host
The mass storage class
For devices that transfers files in one or both directions,
typically floppy, hard, CD, DVD and flash-memory drives
Under Windows the devices of this class appears as
drives in My Computer and the file system
The devices use bulk transfers to exchange data. Control
transfers can send class-specific requests. To exchange
other information the device may use bulk or
control/bulk/interrupt transfer
A mass storage device can use just about any full- or
high–speed controller chip
21
The printer class
For devices that convert received data into text and/or
images on paper or other media
Most printers understand one or more page description
languages (PDL)
The USB Printing Device specification is for printers
of all types
Transfers use bulk transfer
A printer class device can use just about any full- or
high–speed controller chip
The still image capture class
For devices like cameras that capture still images
(not video) and scanners
To transfer image files from a camera the mass storage
class is another option
The devices use bulk transfer to transport both image
and non-image data. An interrupt transfer is required to
transfer event data
The information travels in structures called containers.
Th
There
are four
f
t
types:
C
Command
d Block,
Bl k D
Data
t Bl
Block,
k
Response Block and Event Block
A still image capture class device can use just about
any full- or high–speed controller chip
22
The test and measurement class
Suited for instrumentation devices where the data
d
doesn´t
´t need
d guaranteed
t d timing
ti i
The device may be stand alone or a card in a computer
The USB488 subclass defines protocols to communicate
using IEEE488´s (GPIB) data format and commands
The class uses bulk transfers. The USB488 subclass
requires an interrupt transfer as well. This is optional
for other devices in the class
The video class
Supports digital camcorders, webcameras and other
devices that send,
send receive or manipulate transient
or moving images
Transfering high-quality video requires high bandwidth
so high-speed hosts are in most cases required
Every video function must have a VideoControl interface.
interface
Most functions also have one or more VideoStreaming
interfaces
23
Host communication
An application that wants to access a USB peripheral
must communicate with a device driver
Under Windows the driver is layered:
• The application communicates with a client driver
using API functions
• The client driver communicate with USB drivers
consisting of a host controller and a hub driver
The host controller manages tasks common to all
host controllers.
The hub driver manages communications with
the system´s hub.
Host controllers
For low- and full-speed communication:
• The Open Host Controller Interface (OHCI) that
places a lot of the burdon on hardware
• The Universal Host Controller Interface (UHCI)
that places a lot of the burdon on software
F high-speed
For
hi h
d communication:
i ti
• The Enhanced Host Controller Interface (EHCI)
24
Matching a driver to a device
Windows stores information about installed hardware
and software in the registry
For USB devices some of the information comes from
the device during enumeration
Other information comes from the Device Setup
Information File (INF file). A file linked to the device
driver that the host assigns to the device
Hubs
Every USB peripheral must connect to a hub. An
intelligent device that provides attachment points
for devices and manages each device´s connection
to the bus
Devices that plug into the PC connect to the root hub
Devices that plug into external hubs plug into a hub
downstream from the host
The hub manages the device´s connection by helping
new devices to connect and start running and by
blocking out missbehaving devices
25
External hubs
The hub has one upstream connection connecting either
directly to the root hub or to another hub upstream
The hub has one or more downstream connections to
connect devices or other hubs
Hubs can use version 1.x or version 2.0 of the USB standard
Every hub contains a hub repeater and a hub controller
The hub repeater passes information from the host to
downstream devices and from the devices to the host
The hub controller manages the communications
between the host and the hub repeater
1.x hubs
A 1.x hub can only handle low
low- and full-speed
full speed
communication
The hub repeater repeats all low- and full-speed packets
to all full-speed downstream ports
The repeater doesn´t translate, examine the contents of
or process the traffic from the full-speed source in any
way it just regenerates the edges of the signal
Only low-speed packets are repeated to low-speed ports
26
2.0 hubs
A2
2.0
0 hub
h b uses high-speed
hi h
d upstream
t
when
h the
th hub
h b
connects to a high-stream bus segment
In this case all communications upstream uses
high-speed even if the traffic is to or from a fullor low-speed device
To do this the hub has to translate between bus speeds
USB network
2.0 host
and root
hub
Hi h speed
High
d
L /f ll speed
Low/full
d
High speed
Low speed
Full speed
2.0 hub
Highspeed
device
Low speed
High speed
Full-speed
device
Lowspeed
device
Full speed
Full speed
Full speed
Lowspeed
device
Hi h
Highspeed
device
Full-speed
device
1.x hub
Highg
speed
device
Low speed
L
Lowspeed
device
Full-speed
device
27
Voltage and power
Devices can be powered through the USB connection
or use their own power supply.
The USB bus can supply a voltage of 5 volts.
There is also a ground connection.
There is a limit to the available current.
There are two classes of devices:
• Low power, up to 100 Milliamperes, laptops
• High power, up to 500 Milliamperes , tabletop PC´s
self-powered hubs
Voltage and power cont.
Low power devices can be bus powered from any
host or hub.
High power devices can use bus power when attached
to a self-powered hub or any host except some
batteri powered hosts (laptops).
Some devices, like digital cameras, needs to function
when theyy are not attached so theyy need their own
power supply.
Some of these can charge their batteries when attached to
the bus.
28
Hubs and power
A bus powered hub can draw 500 Milliamperes from
the host. The hub uses some of this leaving less than
500 Milliamperes to supply to all attached devices.
A self powered hub doesn´t have this limitation.
It can supply 500 Milliamperes to all attached devices.
A hub should be able to detect an over-current condition,
limit the current and inform the host.
Bus signals
The USB bus is a balanced bus
Parameter
Low/full speed (V) High speed (V)
Vout,low min
0
-0.010
Vout,low max
0.3
0.010
Vout,high min
2.8
0.360
Vout high max 3.6
Vout,high
36
0 440
0.440
Vin,low max
0.8
Vin,high min
2.0
Limited by eyepattern in USB
specification
29
USB wires
There are four conductors in a USB cable:
Vbus +5 volts
Gnd, ground reference
D+, positive in differential signal pair
D-, negative in differential signal pair
USB connectors
USB 2.0 defines the Series-A plug for the
upstream end of the cable
and the Series-B plug for the downstream end.
Two smaller versions, mini-B and micro-B has been
defined for applications where the other connectors
are too bulky
bulky.
30
USB connectors cont.
Micro-B
Mini-B
Series-B
Series-A
extension
Series-A
USB On-the-Go
Makes it possible for a device to function as a limited host.
In this way it is for example possible for a digital camera
that normally functions as a device to act as a host when
it connects to a printer without having to connect to a
host computer.
31
Wireless USB
• Should behave as USB but without the wire
• Keep the software infrastructure of USB intact
• Preserve the USB model of a smart host
and a simple device
• Without wires batteries are usual so power
efficency is important
• Keep the security of USB
• A new USB class, the wire adapter device class
allows existing PCs to upgrade to wireless
support and allows wired devices to have
wireless connection to PC
Wireless USB cont.
• A hub and spoke model
• The host is the hub at the center
• Each device sits at the end of a spoke
• Each spoke is a point-to-point connection
between the host and the device
• A host can support up to 127 devices
• Without wires there is no need
for port expansion
32
Wireless USB cont.
• Wire adapters that connect through wire to a
PC and gives it USB capability are called
Host Wire Adapters
• Wire adapters that connect wirelessly to the PC
are called Device Wire Adapters
• Each adapter creates a new USB system with
one host talking to one or more devices
• Wireless devices are divided into classes just
as wired devices
Wireless USB cont.
• The physical layer follows the Multiband OFDM
Alliance UWB PTY specification
3.1 – 10.6 GHz with a 7.5 MHz bandwidth
• Wireless devices must support data rates of
53.3, 106,7 and 200 Mb/s
80, 160, 320, 400 and 480 Mb/s are optional
• Logically a polled, TDMA based protocol
similar to wired USB is used
• Each transfer consists of token, data and
handshake
• Devices attach to a host by sending a message
to the host and then authentification takes place
33
The future of USB
The USB 3.0 (SuperSpeed USB) specification has
been presented
• Speed up to 4
4.8
8 Gbit/s
• Backward compatable with USB 2.0
• New wiring with four conductors enables simultaneous
bi-directional traffic
• The connectors have som extra pins but can still take
the old connectors.
The extra pins are used as two twisted pairs for the
SuperSpeed communication and an extra ground
• Current limit raised to 900 Milliamperes
• Maximal wire length 3 meters
34
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising