Thesycons Embedded USB Device Stack implementiert die Funktionalität eines USB Gerätes und stellt gerätespezifische Protokolle bereit. Dem Entwickler wird 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.
Die APIs der Geräteklassen sind leicht verständlich 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.
Die USB Function Library ist eine Softwarekomponente zur Behandlung der kompletten USB Peripherieaufgaben. Hier sind USB-Standard-Requests, die benötigten State Machines und der Datentransfer implementiert. Sie bietet eine einfach zu benutzende Softwareschnittstelle für Embedded Applikationen.
Die Nutzung des USB Function API ohne Geräteklassen erfordert USB Grundkenntnisse.
Die Bulk Loop Demoapplikation ist ein einfaches Beispiel für die Benutzung der USB Function Library ohne Geräteklasse.
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.
Die CDC/ACM Loop Demo ist ein einfaches Beispiel für die Benutzung der CDC/ACM Geräteklasse.
Die CDC/ACM Multi Instance Loop Demo ist ein einfaches Beispiel für die Benutzung der CDC/ACM Geräteklasse mit mehreren Instanzen (auch als Composite Device bezeichnet).
Das RNDIS Protokoll Modul stellt eine Ethernet-Emulation auf Basis von USB zur Verfügung. Dieser Ansatz ist empfehlenswert, 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.
Die RNDIS Simple IP Demo bietet die IP Protokoll Funktionalität zur Unterstützung von ARP, DHCP und ICMP. Es ist somit möglich ein USB Gerät an den PC anzuschließen und die Verbindung zwischen PC und Gerät mittels ping zu testen.
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.
Die Mass Storage Demo 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. 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.)
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.
Die THID Loop Demo demonstriert und testet den Datenaustausch.
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 Anwendungen mit Betriebssystem oder selbstständig 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).
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)
© 2011 THESYCON