USB Host

HCC's EUSBH (Embedded USB Host Stack) is a full-featured host stack designed for embedded applications. Its key features are:

  • Compliance with USB 1.1 and 2.0
  • Control, bulk, interrupt and isochronous transfers
  • Low-speed 1.5 Mb/s, full-speed 12Mb/s and high-speed 480 Mb/s
  • Support for OHCI, EHCI and non-standard host controllers
  • Contains integrated root hub and port manager
  • Range of class drivers
  • Small footprint (<16K) and data requirement (<10K)
  • Designed for any RTOS

The system structure is shown in the graphic below. For more details please scroll down this page:

OHCI

EUSBH-OHCI is a full OHCI implementation.
 
EUSBH-OHCI has been tested on various target devices including LPC2468, AT91SAM9260, AT91RM9200 and Net9360. The OHCI host controller is fully compatible with all of HCC's host class drivers.

EHCI

EUSBH-EHCI is a full EHCI implementation.
 
It has been tested on a variety of target devices including iMX31, MCF5329, MPC8343 and standard PCs under DOS.
 
The EHCI host controller is fully compatible with all of HCC's host class drivers.

Non-Standard Hosts

Many USB host controllers are available for embedded targets that do not conform to any standard. HCC has ported its EUSB Host software to the following devices:

  • ISP1161, ISP1362, ISP1561, ISP1761
  • MAX3421E
  • MCF5222x

Hitex welcomes inquiries about other non-standard hosts.

Hub Class

HCC's host controller ports all contain root hubs and port managers as standard.
 
EUSBH-HUB supports the connection of one or more external USB hubs to the system.

HID Class

EUSBH-HID is the Human Interface Device class driver for USB host controllers.
 
The system includes support for attaching keyboards, mice and joysticks to an embedded system’s USB host controller. With HCC’s HID Class, the application has full access to these devices.
 
EUSBH-HID includes an HID parser. It can process HID report descriptors that are compliant with HID 1.1 class standards for these descriptors. The parser creates data structures in RAM that make hid report items easy to access from an embedded application.

Mass Storage

EUSBH-MS is a mass storage class driver for USB Host controllers. It is designed for connecting USB mass storage devices to an embedded USB Host controller. With EUSBH-MS, a standard sector-based FAT file system can be connected to a USB mass storage device. It supports multiple volumes. For example multiple pendrives can be connected simultaneously. EUSBH-MS has built-in support for variable sector sizes.
 
EUSBH-MS is fully compatible with HCC’s FAT file systems. Sample drivers are included with FAT, THIN and SAFE-FAT. HCC can provide integrated, tested packages that include FAT-based file systems, USB stacks, and drivers.
 
EUSBH-MS is tested with all major brands of pendrives and many other devices. HCC regularly acquires the latest released devices for test.

CDC

This is a highly optimized USB host stack that allows a device to be connected to a USB virtual serial port. The USB virtual serial port then acts as a standard serial port that can be accessed using simple serial API functions. The system uses the minimum possible RAM and ROM. It requires just the control channel endpoint and a single interrupt endpoint.

Audio Class

HCC’s audio class driver allows USB speakers and microphones to be used with embedded systems.
 
Supported Features include:

  • FORMAT TYPE I (PCM/PCM8) streams
  • FORMAT TYPE II (MPEG) streams
  • sample rate adjustment to rate supported by the audio device
  • input terminal (IT) of streaming type (playback)
  • output terminal of (OT) streaming type (e.g., microphone)
  • AF Version 1.0 (full speed)
  • feature unit: volume/mute control, tone control, graphic equalizer, bass boost, loudness, etc.
  • processing unit: up/down mix, Dolby Prologic, 3D stereo extender, reverberation, chorus, dynamic range compression, extension
  • selector unit support (switch between line-in and microphone)
  • mixer unit

Some audio configurations can be complex, particularly on embedded systems. HCC can supply custom-verified audio class drivers for specific device types.

Printer Class

EUSBH-PL is a host printer class implementation. It allows PCL5 formatted pages to be generated and sent to a USB printer attached to the host controller.

Supported Targets

HCC's EUSBH is designed to work with both integrated USB host controllers and with externally interfaced USB host controllers.
 
Currently, supported targets include:

  • iMX31
  • ISP1161, ISP1361, ISP1561, ISP1762
  • MAX3421E
  • AT91SAM9xxx, AT91RM9200
  • LPC2468
  • MCF52223
  • MCF5329
  • MCP834x
  • NS9360
  • DOS with any PC

We are constantly adding support for new devices. Contact info@hcc-embedded.com to determine if your USB Host controller is currently supported.
 
HCC-Embedded offers free porting to most targets if not currently supported. Contact Hitex for details.