beautypg.com

1 data transfer types, 1 data transfer types -2, Figure 11-1. usb focus areas -2 – Cirrus Logic EP93xx User Manual

Page 442: Figure 11-1

background image

11-2

DS785UM1

Copyright 2007 Cirrus Logic

Universal Serial Bus Host Controller
EP93xx User’s Guide

1

1

1

1

11

The Client Software/USB Device and Host Controller Driver are implemented in software.
The Host Controller and USB Device are implemented in hardware. OpenHCI specifies the
interface between the Host Controller Driver and the Host Controller and describes the
fundamental operation of each.

Figure 11-1. USB Focus Areas

The Host Controller Driver and Host Controller work in tandem to transfer data between client
software and a USB device. Data is translated from shared-memory data structures at the
client software end to USB signal protocols at the USB device end, and vice-versa.

11.2.1 Data Transfer Types

There are four data transfer types defined in USB. Each type is optimized to match the
service requirements between the client software and the USB device. The four types are:

Interrupt Transfers - Small data transfers used to communicate information from the

USB device to the client software. The Host Controller Driver polls the USB device by
issuing tokens to the device at a periodic interval sufficient for the requirements of the
device.

Isochronous Transfers - Periodic data transfers with a constant data rate. Data transfers

are correlated in time between the sender and receiver.

Control Transfers - Nonperiodic data transfers used to communicate

configuration/command/status type information between client software and the USB
device.

Bulk Transfers - Nonperiodic data transfers used to communicate large amounts of

information between client software and the USB device.

In OpenHCI the data transfer types are classified into two categories: periodic and
nonperiodic. Periodic transfers are interrupt and isochronous since they are scheduled to run
at periodic intervals. Nonperiodic transfers are control and bulk since they are not scheduled
to run at any specific time, but rather on a time-available basis.

Client Software

USB Driver

Host Controller Driver

Software

Hardware

Host Controller

USB Device

Scope of
OpenHCI