Datenkommunikation USB richtig integrieren

Autor / Redakteur: Amardeep Gupta* / Holger Heller

USB-Kommunikation in Embedded-System-Netzwerken nimmt rasant zu. Die Wahl des richtigen USB-Transfermodus ist daher für Embedded-Applikationen von entscheidender Bedeutung. Welcher Modus eignet sich bei der Vielzahl unterschiedlicher Anwendungen am besten?

Anbieter zum Thema

Der Support heutiger und zukünftiger Geräte basiert auf der richtigen Auswahl des Datentransfermodus, der auf die jeweilige Applikation zugeschnitten sein muss. Die verschiedenen USB-Transfermodi helfen Entwicklern, die Ungleichheiten zwischen verschiedenen Applikationen wie Computer-Mäuse, Audio, Speicheranwendungen, Telefone und interaktive Spiele zu überwinden. Jeder Transfermodus bietet unterschiedliche Kommunikationscharakteristika für das Datenformat, die Paketgröße, Latenz, Fehlerbehandlung und die Kommunikationsrichtung.

Die USB-Spezifikation definiert vier Transfermodi: Control, Interrupt, Bulk und Isochron. Die Kommunikation wird durch den Host initiert, die Tranfermodi führen aber bestimmte Funktionen aus. Control-Transfers bilden und erhalten die Kommunikation zwischen Device und Host aufrecht. Interrupt-Transfers wickeln eine latenzbegrenzte Kommunikation bei niedriger Frequenz ab.

Bulk-Transfers sind nicht periodisch, finden als Burst statt und werden für Daten verwendet, die jede verfügbare Bandbreite nutzen können. Sie können auch verzögert werden, bis Bandbreite wieder zur Verfügung steht. Isochrone Transfers beinhalten eine periodisch-kontinuierliche Kommunikation zwischen Host und Device, erfordern eine bestimmte Bandbreite und sind am gängigsten.

Control-Transfers

Laut USB-Spezifikation muss jedes Device die vorgegebene Control Pipe als seine Message Pipe enthalten, um Zugriff auf den USB-Device-Konfigurationsstatus und die Control-Informationen zu erhalten. Control-Transfers bieten Zugriff auf die Deskriptoren eines Devices und ändern deren Verhalten. Nur für Control-Transfers definiert die USB-Spezifikation ein Datenformat: ein fertiges Paket mit vordefinierter Struktur, das die minimal erforlderliche Information enthält, die für die Kommunikation zwischen Host und USB-Device erforderlich ist. Die Struktur enthält anbieter- und klassenspezifische sowie Endpunkt-bezogene Informationen.

(ID:266061)