System information
5.1 USB Device Emulation
Bulk-Endpoint Used to transfer large bursty data. Bulk transfers provide error correction
and error re-transmission mechanisms.
Isochronous-Endpoint Isochronous transfers occur continuously and periodically. They
typically contain time sensitive information, such as an video or audio stream.
Descriptors
All USB devices have a hierarchy of descriptors which contain information about the type
and attributes of the device. Basically, a descriptor is a data structure with a defined
format. Each descriptor contains a byte-wide field that identifies the descriptor type. The
more common USB descriptor types are:
Device Descriptor Every USB device has only one device descriptor. The device descrip-
tor contains information like the USB revision, the Product and Vendor IDs.
Configuration Descriptor The configuration descriptor specifies the possible device con-
figurations. A USB device can provide selectable capabilities like low power mode or deac-
tivation of certain functions.
Interface Descriptor The interface descriptor groups the endpoints into a functional
group performing a single feature of the device. For example, a multifunction USB de-
vice (so-called composite device) has more than one interface descriptor.
Endpoint Descriptor Endpoint descriptors are used to describe endpoints. Endpoint
describes a point where data enters or leaves a USB system.
String Descriptor String descriptors are optional and provide human-readable informa-
tion.
Requests
All USB devices respond to requests from the host on the default Control Pipe. These
requests are used to control transfers. Thereby, there are three types of requests: Standard
Request, Class-specific Requests and Vendor-specific Requests. The Standard Requests are
defined for all USB devices. They control the addressing of the device and returns the
status of the device or the transfer. Class-specific requests are specified for a certain device
class, whereas vendor specific requests are defined by the device vendor to enable or control
vendor specific functions of the device.
5.1.2 Cypress EZ-Host USB Controller
The CHARM integrates the USB controller EZ-Host [42] which is manufactured by Cypress
Semiconductor Corporation [68]. Four USB ports provide host, peripheral or on-the-go
functionality. The chip is controlled by a 48 MHz 16-bit on-chip processor [42]. Programs
67