Embedded USB Device Stack - Thesycon Systemsoftware ...
Embedded USB Device Stack - Thesycon Systemsoftware ...
Embedded USB Device Stack - Thesycon Systemsoftware ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Embedded</strong> <strong>USB</strong> <strong>Device</strong> <strong>Stack</strong><br />
<strong>Thesycon</strong>’s <strong>Embedded</strong> <strong>USB</strong> <strong>Device</strong> <strong>Stack</strong> implements<br />
the core functionality of a <strong>USB</strong> device and optionally<br />
provides device class specific protocols. It enables<br />
developers to easily add <strong>USB</strong> device functionality to<br />
embedded systems.<br />
The software stack supports all transfer modes (control,<br />
bulk, interrupt, isochronous) at full and high speed.<br />
Extended error recovery mechanisms as required for<br />
reliable operation are implemented internally.<br />
The modular design allows to implement proprietary<br />
<strong>USB</strong> interfaces and standard device classes. The creation<br />
of composite devices which implement multiple<br />
logical functions on one physical controller as well as<br />
multi-configuration devices are fully supported.<br />
<strong>Device</strong> class specific APIs provide a high abstraction level<br />
and are easy to use. No <strong>USB</strong> know-how is required.<br />
Using <strong>Thesycon</strong>’s <strong>USB</strong> bootloader package helps in<br />
implementing firmware upgrade functionality for embedded<br />
systems.<br />
Platform Source Code License<br />
� NXP ARM Cortex-M3 core, LPC23xx, LPC24xx,<br />
LPC28xx, LPC31xx, LPC32xx<br />
� Atmel ARM Cortex-M3 core, AT91SAM7, AT91SAM9<br />
families (ARM)<br />
� Atmel AT32 family (AVR32)<br />
® <strong>Thesycon</strong> <strong>Systemsoftware</strong> & Consulting GmbH<br />
Industrial-grade, standard-compliant <strong>USB</strong> device software solution<br />
<strong>Device</strong> Classes<br />
The CDC/ACM protocol module implements a standardcompliant<br />
serial link (RS-232) emulation on top of <strong>USB</strong>.<br />
<strong>Thesycon</strong> also offers an appropriate device driver for<br />
Windows operating systems.<br />
The RNDIS module implements an Ethernet emulation<br />
on top of <strong>USB</strong>. This approach is especially useful if an<br />
embedded system contains a TCP/IP protocol implementation.<br />
The Mass Storage protocol module emulates a disc<br />
drive with FAT or CD-ROM file system. It can be used<br />
to create a CD-less PC software installation, or to<br />
exchange static data files between the device and the<br />
PC.<br />
The HID module implements a generic HID device<br />
(Human Interface <strong>Device</strong>). The device uses the in-box<br />
HID class driver.<br />
Further device classes can be created on request.<br />
Platform Integration<br />
The <strong>Embedded</strong> <strong>USB</strong> <strong>Device</strong> <strong>Stack</strong> is written in ANSI C.<br />
For easy integration the software is designed as a<br />
library and provided as source code. The library does<br />
not depend on any specific operating system support.<br />
It can be integrated into any embedded OS, or can be<br />
used in stand-alone applications.<br />
<strong>Embedded</strong> Applications<br />
API<br />
Mass<br />
Storage<br />
<strong>Device</strong> Classes<br />
API<br />
CDC/<br />
ACM<br />
<strong>USB</strong> Function API<br />
A device stack license includes the full source code<br />
and allows royalty-free distribution of binaries compiled<br />
from the sources. Distribution of source code is not<br />
permitted. For complete license conditions and prices<br />
please contact <strong>Thesycon</strong>.<br />
Supported Controllers<br />
API<br />
RNDIS<br />
<strong>USB</strong> Function Core<br />
Hardware-independent<br />
<strong>USB</strong> <strong>Device</strong> Controller Driver<br />
Hardware-specific<br />
Hardware Abstraction Layer (HAL)<br />
<strong>USB</strong> <strong>Device</strong> Controller<br />
Hardware<br />
Connects to <strong>USB</strong> host<br />
(PC or laptop)<br />
� Renesas H8S/H8SX, M16C/6C families<br />
API<br />
HID<br />
� ST Microelectronics STR9xx based family<br />
Other device controller drivers can be created on request.<br />
For the latest list of supported platforms, check out<br />
http://www.thesycon.com/embusbdevice<br />
<strong>Thesycon</strong> <strong>Systemsoftware</strong> & Consulting GmbH<br />
Werner-von-Siemens-Str. 2 • D-98693 Ilmenau • Germany<br />
Tel: +49 3677 8462-0 • Fax: +49 3677 8462-18<br />
e-mail: usb thesycon.de • http://www.thesycon.de/embusbdevice
Software solutions utilizing the <strong>Embedded</strong> <strong>USB</strong> <strong>Device</strong> <strong>Stack</strong><br />
The modular concept enables the <strong>Embedded</strong> <strong>USB</strong> <strong>Device</strong> <strong>Stack</strong> and its device classes to be integrated<br />
in a wide range of application scenarios. Bellow common application scenarios are shown with respect<br />
to the involved modules of the <strong>Embedded</strong> <strong>USB</strong> <strong>Device</strong> <strong>Stack</strong> and the appropriate PC device drivers.<br />
Raw bulk RS-232 over <strong>USB</strong> Ethernet over <strong>USB</strong><br />
<strong>USB</strong> device functionality in<br />
embedded systems by using<br />
raw <strong>USB</strong> bulk mode and<br />
implementing a vendor-specfic<br />
protocol.<br />
Custom Applications<br />
<strong>USB</strong>IO API<br />
Generic <strong>Device</strong> Driver<br />
<strong>USB</strong>IO<br />
<strong>USB</strong> Host Driver <strong>Stack</strong> (Microsoft)<br />
<strong>USB</strong> Host Controller (Hardware)<br />
Windows PC<br />
<strong>USB</strong><br />
<strong>Embedded</strong> <strong>Device</strong><br />
<strong>USB</strong> <strong>Device</strong> Controller (Hardware)<br />
<strong>Device</strong> Controller Driver<br />
<strong>USB</strong> Function Core<br />
<strong>USB</strong> Function API<br />
<strong>Embedded</strong> Application<br />
Provided by <strong>Thesycon</strong><br />
Provided by Customer<br />
Provided by other<br />
Standard-compliant serial link<br />
(RS-232) emulation on top of<br />
<strong>USB</strong> implementing the CDC/<br />
ACM protocol.<br />
Legacy<br />
Applications<br />
(Hyperterminal)<br />
Virtual COM Port API<br />
CDC/ACM Class Driver<br />
<strong>USB</strong> Host Controller (Hardware)<br />
<strong>USB</strong><br />
<strong>USB</strong> <strong>Device</strong> Controller (Hardware)<br />
<strong>Device</strong> Controller Driver<br />
<strong>USB</strong> Function Core<br />
CDC/ACM Protocol<br />
Custom<br />
Applications<br />
<strong>USB</strong> Host Driver <strong>Stack</strong> (Microsoft)<br />
Windows PC<br />
<strong>Embedded</strong> <strong>Device</strong><br />
Virtual UART style API<br />
<strong>Embedded</strong> Application<br />
® <strong>Thesycon</strong> <strong>Systemsoftware</strong> & Consulting GmbH<br />
http://www.thesycon.de<br />
Ethernet emulation on top of<br />
<strong>USB</strong> implementing the RNDIS<br />
protocol.<br />
Web Browser<br />
Configuration<br />
Monitoring<br />
TCP/IP Protocol <strong>Stack</strong><br />
RNDIS Network Adapter API<br />
<strong>USB</strong> RNDIS <strong>Device</strong> Driver (Microsoft)<br />
<strong>USB</strong> Host Driver <strong>Stack</strong> (Microsoft)<br />
<strong>USB</strong> Host Controller (Hardware)<br />
Windows PC<br />
<strong>USB</strong> <strong>Device</strong> Controller (Hardware)<br />
<strong>Device</strong> Controller Driver<br />
<strong>USB</strong> Function Core<br />
RNDIS Protocol<br />
Virtual Ethernet controller API<br />
TCP/IP Protocol <strong>Stack</strong><br />
<strong>Embedded</strong> HTTP<br />
Server<br />
Custom<br />
Network-based<br />
Applications<br />
<strong>USB</strong><br />
<strong>Embedded</strong> <strong>Device</strong><br />
<strong>Embedded</strong><br />
Application