Embedded USB Device Stack
Thesycons Embedded USB Device 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. The software stack supports all transfer modes (control, bulk, interrupt, isochronous) at full and high speed. Extended error recovery mechanisms as 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. Device class specific APIs provide a high abstraction level and are easy to use. No USB know-how is required. Using Thesycons USB bootloader package helps in implementing firmware upgrade functionality for embedded systems.
Thesycon Systemsoftware & Consulting GmbH
Industrial-grade, standard-compliant USB device software solution
Embedded Applications
API Mass Storage
Device Classes
API CDC/ ACM
API RNDIS
API HID
USB Function API USB Function Core
Hardware-independent
USB Device Controller Driver
Hardware-specific
Hardware Abstraction Layer (HAL) USB Device Controller
Hardware
Connects to USB host (PC or laptop)
Device Classes
The CDC/ACM protocol module implements a standardcompliant serial link (RS-232) emulation on top of USB. Thesycon also offers an appropriate device driver for Windows operating systems. The RNDIS module implements an Ethernet emulation on top of USB. This approach is especially useful if an embedded system contains a TCP/IP protocol implementation. 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 HID module implements a generic HID device (Human Interface Device). The device uses the in-box HID class driver. Further device classes can be created on request.
Platform Source Code License
A device 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 Thesycon.
Supported Controllers
NXP ARM Cortex-M3 core, LPC23xx, LPC24xx, LPC28xx, LPC31xx, LPC32xx Atmel ARM Cortex-M3 core, AT91SAM7, AT91SAM9 families (ARM) Atmel AT32 family (AVR32) Renesas H8S/H8SX, M16C/6C families ST Microelectronics STR9xx based family Other device controller drivers can be created on request. For the latest list of supported platforms, check out [Link]
Thesycon Systemsoftware & Consulting GmbH Werner-von-Siemens-Str. 2 D-98693 Ilmenau Germany Tel: +49 3677 8462-0 Fax: +49 3677 8462-18 e-mail: usb [Link] [Link]
Platform Integration
The Embedded USB Device Stack is written in ANSI C. 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.
Software solutions utilizing the Embedded USB Device Stack
The modular concept enables the Embedded USB Device Stack and its device classes to be integrated in a wide range of application scenarios. Bellow common application scenarios are shown with respect to the involved modules of the Embedded USB Device Stack and the appropriate PC device drivers.
Raw bulk
USB device functionality in embedded systems by using raw USB bulk mode and implementing a vendor-specfic protocol.
RS-232 over USB
Standard-compliant serial link (RS-232) emulation on top of USB implementing the CDC/ ACM protocol.
Ethernet over USB
Ethernet emulation on top of USB implementing the RNDIS protocol.
Custom Applications
Legacy Applications (Hyperterminal)
Custom Applications
Web Browser Configuration Monitoring
Custom Network-based Applications
TCP/IP Protocol Stack
USBIO API
Generic Device Driver USBIO
Virtual COM Port API
RNDIS Network Adapter API
CDC/ACM Class Driver
USB RNDIS Device Driver (Microsoft)
USB Host Driver Stack (Microsoft)
USB Host Driver Stack (Microsoft)
USB Host Driver Stack (Microsoft)
USB Host Controller (Hardware)
USB Host Controller (Hardware)
USB Host Controller (Hardware)
Windows PC
Windows PC
Windows PC
USB
USB
USB
Embedded Device
USB Device Controller (Hardware)
Device Controller Driver
Embedded Device
USB Device Controller (Hardware)
Device Controller Driver
Embedded Device
USB Device Controller (Hardware)
Device Controller Driver
USB Function Core
USB Function Core
USB Function Core
CDC/ACM Protocol
RNDIS Protocol
USB Function API
Virtual UART style API
Virtual Ethernet controller API
TCP/IP Protocol Stack
Embedded Application
Embedded Application
Embedded HTTP Server
Embedded Application
Provided by Thesycon
Provided by Customer
Provided by other
Thesycon Systemsoftware & Consulting GmbH
[Link]