Thesycons 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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.)
Dokumente, Downloads, Preislisten, Lizenzbedingungen (englischsprachig)
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.
Abonnieren Sie unseren Newsletter, um ständig aktuelle Informationen zu Updates unserer Produkte zu erhalten.
Thesycon Newsletter (Englisch)
© 2010 THESYCON