EUSB Host Embedded USB Host Stack

Because of its flexibility, simplicity, speed, plug-and-play connectivity and low cost, the Universal Serial Bus (USB) protocol has moved from the PC world to the embedded market. Because of its performance and ease of use, USB is becoming a standard requirement for an increasing array of medical, industrial, automotive, and telecommunication products. Increasingly, microprocessors and microcontollers designed for embedded markets are including on-board USB hardware, further reducing the cost of USB connectivity, and accelerating USB into new applications.

Embedded Access provides our EUSB software stacks for both USB Host and USB Device applications, as well as USB Class Drivers and implementations designed to speed products to market with advanced USB connectivity. Each stack provides complete source code, example drivers and detailed documentation. Designed for integration with the MQX RTOS, and portable to almost any other RTOS, USB software is a great way to jump-start USB product development.

About EUSB Host

USB Host StackThe EUSB Embedded USB Host Stack has a multi-layered structure comprised of a Hardware Abstraction Layer, a USB Device Interface and USB Device Enumeration components conforming to the USB 1.1 or 2.0 specifications. The host stack supports the OCHI and EHCI specifications. The USB stack interface provides commands for the applications running on the host to configure and control USB devices.

Key Features

  • USB 1.1 and 2.0 compliant
  • Allows Control, Bulk, interrupt and Isochronous transfers
  • Supports Low-speed (1.5 Mb/s), Full Speed (12Mb/s) and High speed (480 Mb/s)
  • OHCI, EHCI and non-standard host controllers supported
  • On-chip host controllers for ColdFire processors and NXP host controllers
  • Contains integrated root hub and port manager
  • Provide a range of USB Class Drivers
  • Small footprint (<16 KB) and data requirement (<10 KB)
  • Full source code provided
  • Royalty-Free licensing
  • Integrated with the MQX RTOS and MFS file system but desiged to work with any RTOS

EUSB Host Class Drivers

Host class drivers enable developers to connect a wide range of peripherals from the most common to the most advanced. The class driver framework enables class drivers to entirely manage the configuration of USB devices or rely on the USB stack to perform the necessary selection of the USB configuration, initialization of interfaces and allocation of USB endpoints. The class drivers are responsible for driving each type of device, such as printer and mass storage. Communications, printer, mass storage and human interface device (HID) class drivers are available; each provided as a software library provided with full source code.

Embedded USB Host diagram

EUSB Hub Class Driver

The EUSB Host stack contains a root hub and port manager. EUSB HUB supports the connection of one or more external USB hubs to the system.

EUSB Mass Storage Class Driver

The EUSB Mass Storage Class Driver allows any flash drive to plug into the host system (such as Window or Linux PC) and to be read by the host’s file system. The host can access the drive using the minimum possible RAM and ROM requirements. It can be used with both an integrated on-chip USB host controller or with an external USB host controller. The EUSB Mass Storage Class Driver uses just the control channel endpoint and two bulk endpoints and is compatible with the MFS FAT File System.

EUSB HID Class Driver

The EUSB HID Class Driver provides support for Human Interface Devices such as a mouse, keyboard or joystick. The HID class uses the Isochronous transfer type.

EUSB Communications Device Class Driver

The EUSB Communications Device Class Driver allows a USB virtual serial port device to be connected. The USB virtual serial port device then acts as a standard serial port which can be accessed using simple serial API functions. The system uses minimum possible RAM and ROM. It requires just the control channel endpoint and a single interrupt endpoint.

EUSB Printer Class Driver

The EUSB Printer Class Driver allows PCL5 formatted pages to be generated and sent to a USB printer attached to the host controller.