Embedded USB Host Stack

Embedded USB Host StackThesycon’s USB host software stack implements full USB host functionality, including external hub support, and optionally provides device class drivers. It enables developers to easily add USB host functionality to embedded systems.

The software stack complies with the USB v1.1 and USB v2.0 specifications. It supports all transfer modes (control, bulk, interrupt, isochronous) at low, full and high speed. USB pipe management and extended error recovery mechanisms that are required for reliable operation are implemented internally.

The modular design enables applications to access the USB host programming interface directly, or to use APIs exposed by class drivers. At its upper edge a class driver typically attaches to an operating system module such as a file system.

The stack can handle multiple devices and hubs simultaneously and fully supports hot plugging of devices and hubs. The programming interface supports dynamic device enumeration and identification.

Class Drivers

The HID (Human Interface Devices) class driver handles common input devices such as keyboards and mice.

 

The Mass Storage class driver controls external flash memory devices (USB memory sticks) and hard disk drives. It needs to be combined with a file system module which typically implements FAT file system support.

 

The Printer class driver provides a transport layer that allows to send data to a USB printer. In most cases it will be combined with a printer driver which formats the data to be printed.

 

In the future, Thesycon will provide further class drivers.

Platform Integration

The USB host stack firmware is written in ANSI-C and can be ported to any hardware platform. For easy integration the software is designed as a library and provided as source code. The library requires a few system services which are encapsulated by an abstraction layer. This layer needs to be implemented in a platform-specific way. This way the stack can be integrated into any embedded OS, or can be used in stand-alone applications. The host stack supports 32-bit and 16-bit CPUs and works in either endian mode.

 

Supported Controllers Status
NXP
LPC23xx family available
LPC2387, LPC2388
LPC24xx family available
LPC2458, LPC2460, LPC2468, LPC2470, LPC2478
LPC3180 available
LPC3180
ISP1362 on request
ISP1362
ISP116x on request
ISP1160/1161
Atmel
AT91SAM available
AT91RM9200, AT91SAM9260, AT91SAM9261, AT91SAM9261S, AT91SAM9263
Fujitsu
F2MC-16LX MB90335 series available
MB90F337
F2MC-16FX MB96330 series available
MB96F388

 

Other host controller drivers can be created on request. Please contact for more information.

Free Demo

Thesycon provides a free demo package of the Embedded USB Host Stack which contains various sample applications. The demo package includes:

The functionality of each demo application is briefly described below. For more information about a specific demo application refer to the section „Demo Applications“ in the appropriate manual.

 

Note: The source code and the appropriate project files contained in the demo package are for documentation only. It is not possible to recompile the applications. For this purpose there is a free Evaluation Version of the package available.

HID Demo

The HID Demo application is implemented on top of the USB Bus Driver. It represents a plain sample for the usage of the USB Bus Driver API. No additional USB class driver is used. The HID Demo Application supports the mouse and keyboard protocol of the HID class and displays the communication data of connected devices. So the user can reproduce the movement of the mouse or a keystroke on the keyboard.

Thesycon Test Application

The Thesycon Test Application is implemented on top of the USB Bus Driver. It represents a plain sample for the usage of the USB Bus Driver API. No additional USB class driver is used. The Thesycon Test Application is designed to test the data transfer (control, bulk, and interrupt) between the host and a device. This demo application requires a USB device which supports a special test protocol. There is a demo application for Thesycon’s Embedded USB Device Stack available which supports this test protocol. Therefore it is possible to use the supported device controller of the Embedded USB Device Stack as test devices for the Embedded USB Host Stack.

Mass Storage Demo

The Mass Storage Demo application is implemented on top of Thesycon's mass storage class driver. It represents a plain sample for the usage of the mass storage class driver API. The demo application uses the file system emFile from Segger. If a USB mass storage device is connected a file is written to the device and verified. Afterwards the achieved data rate is displayed.

Free Demo Download

The Embedded USB Host Stack demo package contains all demo applications described above and is available for the following evaluation boards:

 

Evaluation Board Host Controllers Version Free Download
EBV ChameleonARM

1.43.0 usbh_chameleonarm_demo.exe
Keil MCB2388

1.43.0 usbh_mcb2300_v3_demo.exe
Embedded Artists*
LPC2468 OEM Board


NXP LPC24xx family
LPC2458, LPC2460, LPC2468, LPC2470, LPC2478
1.43.0 usbh_lpc2468_embart_demo.exe
Keil MCB2400*


NXP LPC24xx family
LPC2458, LPC2460, LPC2468, LPC2470, LPC2478
1.43.0 usbh_lpc2468_embart_demo.exe



Fujitsu USB Minihost API
MB90F337, MB96F338

Download

 

* The Embedded Artists LPC2468 OEM Board is also shipped as MCB2400 evaluation board by Keil. Therefore the same demo package is used for both boards.

 

Your feedback is greatly appreciated. Please e-mail to

Free Evaluation Version

On request Thesycon provides a free evaluation package which contains the Embedded USB Host Stack as linkable object code (link library). With the evaluation package it is possible to modify the demo application source code and to recompile the application. It is also possible to integrate the device stack link library into the target application to evaluate its functionality before a license is purchased.

To receive a free evaluation package, an evaluation agreement needs to be signed and returned. Contact for more information.

Documentation

Licensing conditions & Prices

Single product and product family licenses are available. A host stack license includes the full source code and allows royalty-free distribution of binaries compiled from the sources. Distribution of source code is not permitted. For complete license conditions and prices please contact

USB Vendor and Product ID

When designing a USB device you need an official USB vendor ID (VID) which is unique world-wide. Vendor ID's will be assigned by the USB Implementers Forum (www.usb.org). There is a fee of $1500 US.

 

Thesycon owns a USB vendor ID and provides a subset of product ID's (PID) to customers who licensed our USB software. This service is free of charge. You will receive a set of product ID's that is, if used in combination with Thesycon's vendor ID, unambiguous world-wide. You can use these ID's for your products.

 

If you are interested, please contact us at e-mail:

Keep up to Date

If you would like to be kept informed of product updates, please subscribe to the Thesycon newsletter.

 

 

© 2008 THESYCON

Device Driver - Software Development - Consulting home to the german version
-
-Home
-
-USB
-USB Device Drivers
-USB Device Stack
-USB Host Stack
-USB Firmware
-Price Overview
-
-IEEE1394
-IEEE1394 Device Driver
-IEEE1394 Bus Driver
-Price Overview
-
-Installation
-Device Installation
-
-Services
-Software Development
-Consulting
-References
-
-Free Utilities
-Free Downloads
-
-Information
-Newsletter
-Partners