Embedded USB Device Stack

GeräteklassenspaceSupported ControllersspaceDemosspaceDocumentationspacePrices

Embedded USB Device StackThesycons Embedded USB Device Stack implementiert die Funktionalität eines USB Gerätes und stellt gerätespezifische Protokolle bereit. Dem Entwickler wird somit eine einfache und schnelle Integration der USB-Funktionalität in ein eingebettetes System (embedded system) ermöglicht.

Die Software ist konform zur USB v1.1 und USB v2.0 Spezifikation und unterstützt alle verfügbaren Übertragungsarten (control, bulk, interrupt, isochronous) in den Geschwindigkeiten Low, Full und High Speed. Die Behandlung der USB Standard Requests sowie eine erweiterte Fehlerbehandlung für eine zuverlässige Übertragung sind im Embedded USB Device Stack implementiert.

Das modulare Design ermöglicht das Implementieren von proprietären USB Schnittstellen und Standard Geräteklassen (device classes). Multifunktionsgeräte (composite devices), welche mehrere logische Funktionen auf einem physikalischen Controller realisieren sowie Geräte mit mehreren Konfigurationen (multi-configuration devices) werden vollständig unterstützt.

Grundlegende USB Kenntnisse werden benötigt wenn das USB Function API ohne Geräteklasse benutzt wird. Die APIs der Geräteklassen sind leicht verständlich in der Benutzung und bieten ein hohes Abstraktionsniveau. USB spezifisches Fachwissen wird bei der Benutzung der Geräteklassen-APIs nicht benötigt.

 

Passend zum Embedded USB Device Stack bietet Thesycon auch Gerätetreiber für den PC an.

Geräteklassen

CDC/ACM Device Class

Das CDC/ACM Protokoll Modul implementiert eine standardkonforme Emulation einer seriellen Verbindung (RS-232) auf USB Basis. Dies bietet bestehenden Applikationen einen einfachen Migrationspfad. Thesycon bietet den CDC/ACM Class Driver für Windows Betriebssysteme an. Dieser emuliert einen seriellen Port (COM). Durch Einsatz der CDC/ACM Device Class und des CDC/ACM Class Drivers für Windows können bereits existierende Windows Anwendungen ohne Anpassung wieder verwendet werden.

RNDIS Device Class

Das RNDIS Protokoll Modul stellt eine Ethernet-Emulation auf Basis von USB zur Verfügung. Dieser Ansatz ist besonders nützlich, wenn das eingebettete System eine Implementierung des TCP/IP Protokolls enthält. Ein geeigneter RNDIS Gerätetreiber ist Windows und anderen Betriebssystemen standardmäßig beigefügt.

Mass Storage Device Class

Das Mass Storage Protokoll emuliert ein Laufwerk. Es kann benutzt werden, um die PC Software ohne eine CD-ROM zu installieren oder statische Daten zwischen dem PC und dem Gerät auszutauschen. Die notwendigen PC Treiber für Windows, MAC OS und Linux sind Bestandteile der jeweiligen Betriebssysteme. Das modulare Konzept ermöglicht es, mehrere Laufwerke auf der Basis von Logical Units oder einer Multi-Interface Architektur gleichzeitig zu nutzen.

HID Device Class

Das THID Modul implementiert die generische HID Geräteklasse (Human Interface Device). Das Gerät benötigt keine Gerätetreiberinstallation unter Windows. Es nutzt den in-box HID Klassentreiber. Applikationen kommunizieren mit dem THID Gerät mittels der Windows HID API Funktionen. Thesycon stellt Beispielapplikationen im Source-Code zur Verfügung.

Plattform Integration

Der Embedded USB Device Stack ist in ANSI-C implementiert und kann auf jede Hardwareplattform portiert werden. Um eine einfache Integration zu ermöglichen wurde die Software als Bibliothek entworfen und wird als Quelltext zur Verfügung gestellt.

Um die Portabilität zu gewährleisten ist die Bibliothek unabhängig von der Unterstützung durch ein Betriebssystem. Sie kann in ein Umfeld mit Betriebssystem integriert oder in einer selbstständigen Anwendung verwendet werden. Der Hardwarezugriff wird durch die Hardware Abstraktionsschicht (HAL) gekapselt, die spezifisch für jede Hardware Plattform implementiert werden muss. Der Embedded USB Device Stack unterstützt 32-Bit und 16-Bit CPUs und arbeitet in jeder Byteordnung (little-endian oder big-endian).

Kostenlose Demos

Das Demopaket enthält:

Hinweis: Der enthaltene Source-Code und die entsprechenden Projektdateien dienen nur der Dokumentation. Es ist nicht möglich die Applikationen des Demopaketes zu kompilieren. Dies ist nur mit der Evaluation Version möglich.

 

 

Atmel ARM7 core Status Demo Evaluation Board
AT91SAM7X256, AT91SAM7X128, AT91SAM7X512, AT91SAM7XC128, AT91SAM7XC256, AT91SAM7XC512 available usbf_at91sam7x-ek_demo.exe Atmel AT91SAM7X-EK
AT91SAM7SE512, AT91SAM7SE32, AT91SAM7SE256 available usbf_at91sam7se-ek_demo.exe Atmel AT91SAM7SE-EK
AT91SAM7A3, AT91SAM7S128, AT91SAM7S256, AT91SAM7S321, AT91SAM7S512, AT91SAM7S64, AT91SAM7S161 available    

 

Atmel ARM9 core Status Demo Evaluation Board
AT91RM9200 available usbf_at91rm9200-ek_demo.exe Atmel AT91RM9200-EK
AT91SAM9261, AT91SAM9260, AT91SAM9261S, AT91SAM9263 available usbf_at91sam9261-ek_demo.exe Atmel AT91SAM9261-EK
AT91SAM9XE128, AT91SAM9XE256, AT91SAM9XE512, AT91SAM9G10, AT91SAM9G20 available    
AT91SAM9R64, AT91SAM9RL64, AT91SAM9G45, AT91SAM9M10, AT91SAM9M11 coming soon    

 

Atmel ARM Cortex-M3 core Status Demo Evaluation Board
SAM3U1C, SAM3U2C, SAM3U4C,
SAM3U1E, SAM3U2E, SAM3U4E
coming soon    

 

Atmel AVR32 core Status Demo Evaluation Board
AT32UC3A0512, AT32UC3A0128, AT32UC3A0256, AT32UC3A1128, AT32UC3A1256, AT32UC3A1512 available usbf_atevk1100_demo.exe Atmel ATEVK1100
AT32UC3A3256S, AT32UC3A3256, AT32UC3A3128S, AT32UC3A3128, AT32UC3A364S, AT32UC3A364, AT32UC3B0128, AT32UC3B0256, AT32UC3B064, AT32UC3B1128, AT32UC3B1256, AT32UC3B164 available    
AT32AP7000, AT32AP7001, AT32AP7002 on request    

 

NXP ARM Cortex-M3 core Status Demo Evaluation Board
LPC1768, LPC1766, LPC1765, LPC1764, LPC1758, LPC1756, LPC1754, LPC1752, LPC1751 available usbf_mcb1760_demo.exe

usbf_spoerle_lpc17xx_poe.exe
Keil MCB1760

Spoerle Cube (LPC17xx)

 

NXP ARM 7 core Status Demo Evaluation Board
LPC2388, LPC2387, LPC2378, LPC2368, LPC2366, LPC2364, LPC2362 available usbf_chameleon_demo.exe

Download MCB2300 Demos
EBV ChameleonARM

Keil MCB2300
LPC2468, LPC2460, LPC2458, LPC2478, LPC2470, LPC2420 available usbf_ea-lpc2468_demo.exe Keil MCB2400
LPC2880, LPC2888 on request    

 

NXP ARM 9 Status Demo Evaluation Board
LPC3250, LPC3240, LPC3230, LPC3220, LPC3154, LPC3153, LPC3152, LPC3151, LPC3180/01, LPC3131, LPC3130 on request    

 

NXP ISP Status Demo Evaluation Board
ISP1362 on request    
ISP1582, ISP1583 available usbf_isp1582pci_demo.exe NXP ISP1582 PCI

 

Fujitsu Status Demo Evaluation Board
F2MC-16LX MB90335 series
MB90F337
F2MC-16FX MB96330 series
MB96F338
FR80 MB91660 series
MB91V650
available Download Fujitsu Demos  

 

Renesas Status Demo Evaluation Board
H8SX/1653F, H8SX/1654F
H8SX/1663F, H8SX/1664F
H8SX/1663RF, H8SX/1664RF, H8SX/1668RF
H8S/2462, H8S/2472
H8S/2215C, H8S/2215B, H8S/2215, H8S/2215T, H8S/2215R
M16C/6C
available Download Renesas Demos Renesas MCUs

 

STMicroelectronics STR9 Status Demo Evaluation Board
STR911FAM42, STR911FAW42, STR911FAM44, STR911FAW44, STR912FAW32, STR912FAW42, STR912FAZ42, STR912FAW44, STR912FAZ44 available usbf_mcbstr9_demo.exe Keil MCBSTR9
STM32F103C6, STM32F103C8, STM32F103CB, STM32F103R6, STM32F103R8, STM32F103RB, STM32F103RC, TM32F103RD, STM32F103T6, STM32F103T8, STM32F103V8, STM32F103VB, STM32F103VC, STM32F103VD, STM32F103VE, STM32F103ZC, STM32F103ZD, STM32F103ZE on request    

 

 

Thesycon erweitert ständig die Palette der unterstützten Controller. Wird der von Ihnen eingesetzte bisher nicht unterstützt, kontaktieren Sie uns bitte: .

Demoapplikationen

USBF Bulk Loop Demo

Die Bulk Loop Demoapplikation wurde auf dem USB Function API implementiert. Sie repräsentiert ein einfaches Beispiel für die Benutzung der USB Function Library ohne Geräteklasse.

Die Demoversion des generischen USBIO Device Driver für Windows ist im Demopaket enthalten und kann für das Gerät installiert werden. Zusätzlich sind zwei Demoapplikationen für den PC enthalten, welche zur Kommunikation mit dem Gerät benutzt werden können.

CDC/ACM Loop Demo

Die CDC/ACM Loop Demo wurde auf dem CDC/ACM Device Class API implementiert. Sie repräsentiert ein einfaches Beispiel für die Benutzung der CDC/ACM Geräteklasse.

Eine Demoversion von Thesycons USB CDC/ACM Class Driver für Windows ist im Demopaket enthalten und kann für das Gerät installiert werden. Zusätzlich ist eine Demoapplikation für den PC enthalten, welche zur Kommunikation mit dem Gerät benutzt werden kann.

CDC/ACM Multi Instance Loop Demo

Die CDC/ACM Multi Instance Loop Demo wurde auf dem CDC/ACM Device Class API implementiert. Sie repräsentiert ein einfaches Beispiel für die Benutzung der CDC/ACM Geräteklasse mit mehreren Instanzen (auch als Composite Device bezeichnet).

Eine angepasste Demoversion von Thesycons USB CDC/ACM Class Driver für Windows mit Unterstützung für mehrere Instanzen ist im Demopaket enthalten und kann für das Gerät installiert werden. Der Treiber stellt für jede Instanz der CDC/ACM Geräteklasse einen virtuellen COM Port zur Verfügung. Der Einsatz von Standard Terminal Programmen wie z.B. HyperTerminal ist somit gewährleistet. Die empfangenen Daten einer Instanz (COM Port) werden von der Applikation auf der anderen Instanz (COM Port) zurück gesendet.

RNDIS Simple IP Demo

Die RNDIS Simple IP Demo Applikation ist auf der RNDIS Device Class implementiert. Sie bietet die IP Protokoll Funktionalität zur Unterstützung von ARP, DHCP und ICMP. Somit ist es möglich ein USB Gerät an den PC anzuschließen und die Verbindung zwischen PC und Gerät mittels ping zu testen.

Mass Storage Demo

Die Mass Storage Demo Applikation ist auf der API der Mass Storage Device Class (MSD) implementiert. Sie arbeitet als Block Device Driver mit Zugriff auf den Flash Speicher. Dieses Beispiel implementiert ein Mass Storage Device mit mehreren Logical Units (LUN), wobei eine als CD-ROM Laufwerk arbeitet. Es kann zum automatischen Starten von Windows-Applikationen genutzt werden. Ein spezieller Kompressionsalgorithmus steht für ISO Images zur Verfügung. Die Implementierung der MSD Class ist kompatibel zu den Spezifikationen und besteht die Tests des USB Command Verifiers in der Klasse MSD. (Zur Zeit ist diese Demoapplikation nur im Demopaket des NXP LPC1768 enthalten.)

Vollständige Produktinformationen zum Embedded USB Device Stack

USB Vendor und Product ID

Wenn Sie ein USB-Gerät entwickeln, benötigen Sie eine USB Vendor ID (VID), die in Kombination mit der USB Product ID (PID) eine weltweit eindeutige Kennung für Ihr Gerät darstellt. USB Vendor IDs werden vom USB Implementers Forum (www.usb.org) gegen eine Gebühr von $1500 US vergeben.

 

Thesycon besitzt eine offizielle USB Vendor ID und bietet Kunden, die das USBIO Development Kit lizensiert haben an, diese zu nutzen.

Aktuelle Produktinformationen per E-Mail

Abonnieren Sie unseren Newsletter, um ständig aktuelle Informationen zu Updates unserer Produkte zu erhalten.

 

 

© 2010 THESYCON

Gerätetreiber - Systemsoftware - Consulting home to the english version
-
-
-



Suchen Sie nicht uns, sondern
TESYCON GMBH,
die Experten für
IT-Controlling?