Transfer Types

USB supports four transaction (i.e. data transfer) types: Isochronous, interrupt, bulk, and control.  Every device on the bus indicates the type of transfer it requires through its descriptors.  Real-time application devices that require a constant data transfer rate typically use isochronous transfers.  Interrupt transfers poll devices to determine if they need to transfer data. The device indicates the polling rate.  Bulk transfers are used by devices that have no particular transfer rate requirement and are the standard way devices move large amounts of data between host and device (i.e. Mass Storage devices, Networking devices, MP3 players, and Digital Still Cameras).  Lastly, control transfers provide a way to configure a USB device and control certain aspects of the device's operation. A minimum of one control pipe is required for every USB device. Each transfer type is described in more detail below.

Control transfers are host initiated data exchanges typically used for command / status operations. They are characterized by bursty, non-periodic communication between host and device. Commonly used by

Bulk transfers move large amounts of data and are typically used by devices that have no particular transfer rate requirement, such as mass storage and networking devices, as well as digital still cameras.

Interrupt transfers poll devices to determine if they have data to transfer. The device specifies the polling rate and error checking validates the data. Examples of USB peripherals that utilize this low-frequency, bounded latency communication include mice and keyboards, since they transfer small amounts of data that need immediate attention.

Isochronous transfers handle time sensitive information that requires constant data transfer rates. These transfers are not subjected to error checking, so the real time applications that are rely upon them, such as streaming audio, must tolerate occasional data corruption.




Class Drivers

What are they?

USB class drivers are software components that retrieve and route data between physical devices that serve similar functions, such as printers or hard drives, and the host system. While the USB-IF has defined a number of device classes, as described below, many devices rely upon proprietary manufacturer specific protocols. USBConnex-Peripheral can support both standard classes and proprietary drivers through the common
Class Driver API.

Class drivers benefit both developers and end users in that they simplify the product development process and end user experience respectively. By defining common behavior and protocols for specific device types, class drivers enable developers to rely upon a standard protocol when creating a new USB product, thereby eliminating the need to write custom drivers for each and every new product. When the appropriate class driver is present, users can plug any compliant device into the host and immediately see it start working, without first having to install additional software.

Examples

The USB-IF has defined a number of standard classes. Some examples follow:

















How they work

Mass storage devices
Hard drives follow the Mass Storage Class specification to transfer data to and from higher layer software.  The Mass Storage Class uses encapsulated SCSI commands to communicate between the OS file system and the USB hard drive.
Technology
Introduction to USB


History
Architectural Overview
   Topology
   Transfer Rates
Transfer Types
Class Drivers



History

The Universal Serial Bus (or USB as it's commonly known) was originally developed in the mid 1990s by some of the world's leading technology companies, including Intel, Microsoft, Digital Equipment, IBM, Compaq and Northern Telecom. A key objective of this communication protocol was to address some of the most serious impediments to further growth of the personal computing ecosystem; namely, the difficulty and cost associated with attaching peripheral devices to PCs.

The USB specification was developed so that end-users could cost-effectively connect and access PC peripherals in a simple, straightforward manner. It eliminated the need to install special add in cards to support peripherals, as well as to reboot the system when connecting and disconnecting devices, thereby significantly reducing the complexity associated with attaching and configuring the pervious generation of peripheral devices that relied upon serial or parallel ports. It also sought to create a system by which device manufacturers could create products that would interoperate in an open architecture. By solving many of the technical issues associated with PC I/O interfaces, USB brought plug and play connectivity to consumers and business users alike and enabled the proliferation of devices providing a wide range of functionality, such as printing, mass storage, audio, video and human interfaces (e.g. mice and keyboards), among others.

USB is supported and advanced by the
USB-Implementers Forum (USB-IF), a non-profit industry standards body that wrote and continues to enhance the USB specification, "…facilitates the development of high-quality compatible USB peripherals (devices), and promotes the benefits of USB and the quality of products that have passed compliance testing." (source: www.usb.org/about). To address a constantly evolving technical landscape, the USB-IF periodically revises the USB specification and develops complementary specifications, or supplements, that expand the technology's capabilities.

Today for example, the USB-IF is working on
version 3.0 of the USB spec, which aims to provide a tenfold increase in data throughput when compared to what is currently possible with high-speed USB, as defined by the 2.0 specification (i.e. 5Gb/s vs. 480Mb/s). Another example is Certified Wireless USB, a new specification for short range, high bandwidth connectivity based on Wi-Media's ultra-wideband radio platform, which combines the convenience associated with wireless connectivity (i.e. no cables to worry about) with the speed and security of wired USB.


Architectural Overview

Topology

USB is a polled bus that uses a tiered-star topology, with a hub at the center of the star and one host controller initiating all data transfers and supporting up to 127 simultaneously accessible devices. Available bandwidth is shared among attached devices through a token based, host-scheduled protocol. When one or more devices are attached to the host and in operation, users can attach others to the bus, use the additional devices and then detach them if desired - all without rebooting the system. This flexible, plug and play architecture supports a wide range of applications and use scenarios, which helps explain the technology's proliferation in both the PC and embedded markets.

Transfer Rates

USB currently supports three data transmission rates, each of which is associated with particular types of applications, as illustrated below:
© 2006-2008 FreeRange Technologies, Inc. All rights reserved.
Transfer Rate
Speed Designation
Example Applications
1.5Mb/s
Low speed
keyboard, mouse, stylus
12Mb/s
Full speed
audio, microphone
480Mb/s
High speed
storage, video, broadband
Class Driver
Example Device(s)
Human Interface Device (HID)
keyboard; mouse
Communication (ACM/ECM)
modem
Mass Storage
hard drive
Audio
speakers
Digital Still Image
digital camera
HUB
hub
Printer
ink jet; laser printer
 
 
  
  
  
  
U n i v e r s a l    S e r i a l    B u s
Simplifying Device Connectivity
Simplifying Device Connectivity