Thesycon’s USB device software stack implements the core functionality of a USB device and optionally provides device class specific protocols. It enables developers to easily add USB device functionality to embedded systems incorporating Renesas microcontrollers.
The software stack complies with the USB v1.1 and USB v2.0 specifications. It supports the transfer modes control, bulk and interrupt at low and full speed. Complete USB request processing and extended error recovery mechanisms that are required for reliable operation are implemented internally.
The modular design allows to implement proprietary USB interfaces and standard device classes. The creation of composite devices which implement multiple logical functions on one physical controller as well as multi-configuration devices are fully supported.
To use the USB Function API directly without a device class, basic USB knowledge is required. The device class specific APIs provide a high abstraction level and are easy to use. No USB know-how is required.
Thesycon also offers the appropriate device drivers for PC and so is able to provide complete software solutions.
The USB Function Library is a software layer which is designed to handle the complete USB function peripheral. It implements all USB standard requests, the required state machines and the data transfer. An embedded application program does not have to access the USB peripheral via registers, it simply uses the software API defined by the USB Function Library.
To use the USB Function API directly without a device class, basic USB knowledge is required.
The Bulk Loop Demo application included in the demo packages represents a plain sample for the usage of the USB Function Library without a device class.
The device class specific APIs provide a high abstraction level and are easy to use. No USB know-how is required.
The CDC/ACM protocol module implements a standard-compliant serial link (RS-232) emulation on top of USB. This provides an easy migration path for existing applications. Thesycon also offers an appropriate CDC/ACM class driver for Windows operating systems. The combination of the CDC/ACM device class and the CDC/ACM class driver for Windows allows to re-use existing Windows applications unmodified.
The CDC/ACM Loop Demo application included in the demo packages represents a plain sample for the usage of the CDC/ACM device class.
The CDC/ACM Multi Instance Loop Demo application included in the demo packages represents a plain sample for the usage of the CDC/ACM device class with multiple instances (so called composite device).
The RNDIS module implements an Ethernet emulation on top of USB. This approach is especially useful if an embedded system contains an Ethernet interface and a TCP/IP protocol implementation. A suitable RNDIS device driver is included in Windows and some other operating systems.
The RNDIS Simple IP Demo application included in the demo packages provides very basic IP protocol functionality to support ARP, ICMP and DHCP. So it is possible to attach the device to a PC and to test the USB connection by means of ping.
The Mass Storage protocol module emulates a disc drive with FAT or CD-ROM file system. It can be used to create a CD-less PC software installation, or to exchange static data files between the device and the PC. The required PC drivers are part of Windows, MacOS, and Linux. Under Windows the CD-ROM emulation supports the auto-run feature.
The THID module implements a generic HID device (Human Interface Device). The device does not require a device driver installation under Windows. It uses the in-box HID class driver. Applications can communicate with the THID device by means of Windows HID API functions. Thesycon provides sample application source code.
The THID Loop Demo application included in the demo packages is designed to demonstrate and test the data exchange.
The Embedded USB Device Stack firmware is implemented in ANSI-C and supports the Renesas HEW development environment. For easy integration the software is designed as a library and provided as source code. The library does not depend on any specific operating system support. It can be integrated into any embedded OS, or can be used in stand-alone applications.
Thesycon provides demo packages for a lot of microcontrollers.
The demo package includes:
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.
Embedded USB Device Stack Product Sheet ![]()
Embedded USB Device Stack Manual ![]()
Mass Storage Device Class Manual ![]()
If you would like to be kept informed of product updates, please subscribe to the Thesycon newsletter.
© 2011 THESYCON