Thesycons Embedded USB Host Stack bietet die volle USB Host Funktionalität inklusive der Unterstützung für externe Hubs. Zusätzlich werden spezielle Geräteklassentreiber (device class drivers) zur Verfügung gestellt. Dem Entwickler wird somit eine einfache und schnelle Integration der USB Host Funktionalität in ein Embedded System ermöglicht.
Der Software Stack ist konform zur USB 1.1 und USB 2.0 Spezifikation und unterstützt alle Transferarten (control, bulk, interrupt, isochronous) im Low, Full und High Speed Modus. Um eine sichere Operation gewährleisten zu können, werden eine USB Pipe Verwaltung sowie erweiterte Error Recovery Mechanismen benötigt. Diese sind im USB Host Stack bereits realisiert.
Durch das modulare Design kann eine Applikation direkt auf das USB Host API oder auf das API eines Geräteklassentreibers zugreifen. An der oberen Schnittstelle ist ein Geräteklassentreiber typischerweise mit einem Modul des Betriebssystems (z.B. Filesystem) verbunden.
Der Embedded USB Host Stack unterstützt Hot Plugging und kann mehrere Geräte und Hubs gleichzeitig verwalten. Die Programmierschnittstelle unterstützt die dynamische Enumeration und Identifikation der Geräte.
Der HID (Human Interface Devices) Geräteklassentreiber verwaltet Eingabegeräte wie z.B. Tastaturen und Mäuse.
Der Mass Storage Geräteklassentreiber steuert externe Flash Speichergeräte (USB Memory Sticks) und Festplatten. Dieser Treiber muss mit einem Modul für das Dateisystem (meist mit FAT Unterstützung) kombiniert werden.
Der Printer Geräteklassentreiber stellt eine Transportschicht zur Verfügung, welche die Datenübermittlung an einen USB-Drucker ermöglicht. Dies wird meist kombiniert mit einem Druckertreiber, welcher die zu druckenden Daten formatiert.
Weitere Geräteklassen können bei Bedarf von Thesycon oder vom Kunden selbst implementiert werden.
Der Embedded USB Host 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 im Quelltext ausgeliefert. Der USB Host Stack benötigt nur ein paar einzelne Systemroutinen, die durch eine Abstraktionsschicht gekapselt sind. Diese Schicht ist abhängig von der verwendeten Plattform und muss an diese angepasst werden. Dadurch kann der Stack in einem Umfeld mit Betriebssystem integriert oder in einer selbstständigen Anwendung verwendet werden. Der Embedded USB Host 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 HID Demo Demoapplikation wurde direkt auf dem USB Bus Driver implementiert. Sie repräsentiert ein einfaches Beispiel für die Benutzung des USB Bus Driver API. Ein Geräteklassentreiber (class driver) wurde nicht verwendet. Die HID Demo unterstützt das Maus und Tastatur Protokoll der HID Geräteklasse. Die anfallenden Daten angeschlossener Geräte werden dargestellt. So kann der Benutzer die Bewegung einer Maus oder den Tastenanschlag auf einer Tastatur nachvollziehen.
Die Thesycon Test Applikation wurde direkt auf dem USB Bus Driver implementiert. Sie repräsentiert ein einfaches Beispiel für die Benutzung des USB Bus Driver API. Ein Geräteklassentreiber (class driver) wurde nicht verwendet. Die Thesycon Test Applikation wurde entwickelt um den Datentransfer (control, bulk, and interrupt) zwischen Host und Gerät zu testen. Zur Funktion wird ein USB Gerät benötigt, welches ein spezielles Testprotokoll unterstützt. Eine entsprechende Demoapplikation ist für den Embedded USB Device Stack verfügbar. Somit ist es möglich die unterstützten Device-Controller des Embedded USB Device Stack als Testgeräte für den Embedded USB Host Stack zu verwenden.
Die Mass Storage Demoapplikation wurde direkt auf Thesycon’s Mass Storage Geräteklassentreiber implementiert. Sie repräsentiert ein einfaches Beispiel für die Benutzung des Mass Storage Geräteklassentreiber API. Die Mass Storage Demoapplikation benutzt das Filesystem emFile von Segger. Auf ein angeschlossenes Mass Storage Gerät wird eine Datei geschrieben, anschließend verifiziert und die dabei erreichte Datenrate ausgegeben.
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