Übersicht über Azure RTOS USBX

Azure RTOS USBX ist ein eingebetteter USB-Hochleistungsstapel mit Host-, Geräte- und On-The-Go(OTG)-Unterstützung. Azure RTOS USBX ist vollständig in Azure RTOS ThreadX integriert und für alle ThreadX-unterstützten Prozessoren verfügbar. Azure RTOS USBX zeichnet sich ebenso wie ThreadX durch geringen Speicherbedarf und hohe Leistung aus und eignet sich somit perfekt für tief eingebettete Anwendungen, die eine Schnittstelle zu USB-Geräten erfordern.

Unterstützung für Hosts, Geräte und OTG sowie umfassende Klassenunterstützung

Der auf Host-/Geräteebene eingebettete USB-Protokollstapel Azure RTOS USBX ist eine industrielle eingebettete USB-Lösung, die speziell für tief eingebettete Echtzeit- und IOT-Anwendungen entwickelt wurde. Azure RTOS USBX bietet Unterstützung für Hosts, Geräte und OTG sowie umfassende Klassenunterstützung. Azure RTOS USBX ist vollständig in das Echtzeitbetriebssystem ThreadX, das eingebettete FAT-kompatible Dateisystem Azure RTOS FileX, Azure RTOS NetX und die eingebetteten TCP/IP-Stapel von Azure RTOS Net Duo integriert. All dies in Kombination mit einem extrem geringen Speicherbedarf, einer schnellen Ausführung und einer herausragenden Benutzerfreundlichkeit machen Azure RTOS USBX zur idealen Wahl für die anspruchsvollsten eingebetteten IoT-Anwendungen, die USB-Konnektivität erfordern.

Speicherbedarf von USBX

Azure RTOS USBX hat einen erstaunlich kleinen minimalen Speicherbedarf von 10,5 KB Flash und 5,1 KB RAM für die CDC/ACM-Unterstützung des Azure RTOS USBX-Geräts. Der Azure RTOS USBX-Host erfordert mindestens 18 KB Flash und 25 KB RAM für die CDC/ACM-Unterstützung.

Für die TCP-Funktionalität sind weitere 10 bis 13 KB Arbeitsspeicher im Anwendungsbereich erforderlich. Die RAM-Nutzung von Azure RTOS USBX liegt in der Regel zwischen 2,6 KB und 3,6 KB zuzüglich des Arbeitsspeichers für den Paketpool, der von der Anwendung abhängig ist.

Wie bei ThreadX wird die Größe von Azure RTOS USBX automatisch auf Grundlage der Dienste skaliert, die tatsächlich von der Anwendung verwendet werden. Dadurch entfällt die Notwendigkeit komplexer Konfigurations- und Buildparameter, was für den Entwickler einfacher ist.

Überprüfung der USB-Interoperabilität

Der Azure RTOS USBX-Gerätestapel wurde mit dem USB IF-Standardtesttool USBCV gründlich getestet, um volle Konformität mit den USB-Spezifikationen und Interoperabilität mit unterschiedlichen Hostsystemen sicherzustellen. Außerdem wurde der Azure RTOS USBX OTG-Stapel durch das unabhängige Testlabor Allion in Taiwan überprüft und zertifiziert.

Unterstützung von USB-Hostcontrollern

Azure RTOS USBX unterstützt wichtige USB-Standards wie OHCI und EHCI. Darüber hinaus unterstützt Azure RTOS USBX proprietäre diskrete USB-Hostcontroller von Atmel, Mikrochip, Philips, Renesas, ST, TI und anderen Anbietern. Azure RTOS USBX unterstützt auch mehrere Hostcontroller in derselben Anwendung. Unterstützung von USB-GerätecontrollernAzure RTOS USBX unterstützt beliebte USB-Gerätecontroller von Analog Devices, Atmel, Microchip, NXP, Philips, Renesas, ST, TI und anderen Anbietern.

Umfassende Unterstützung für Hostklassen

Der Azure RTOS USBX-Host bietet Unterstützung für die beliebtesten Klassen, einschließlich ASIX, AUDIO, CDC/ACM, CDC/ECM, GSER, HID (Tastatur, Maus und Remotesteuerung), HUB, PIMA (PTP/MTP), PRINTER, PROLIFIC und STORAGE.

Umfassende Unterstützung für USB-Geräteklassen

Das Azure RTOS USBX-Gerät bietet Unterstützung für die beliebtesten Klassen, einschließlich CDC/ACM, CDC/ECM, DFU, HID, PIMA (PTP/MTP) (w/MTP), RNDIS und STORAGE. Unterstützung für benutzerdefinierte Klassen ist ebenfalls verfügbar.

PictBridge-Unterstützung

Azure RTOS USBX unterstützt die volle PictBridge-Implementierung sowohl auf dem Host als auch auf dem Gerät. PictBridge befindet sich auf beiden Seiten oberhalb der PIMA-Klasse (PTP/MTP) von Azure RTOS USBX. Der PictBridge-Standard ermöglicht den Anschluss einer digitalen Standbildkamera oder eines Smartphones direkt an einen Drucker, ohne dass ein PC erforderlich ist, wodurch ein direkter Druck auf bestimmten PictBridge-fähigen Druckern möglich ist. Wenn eine Kamera oder ein Telefon mit einem Drucker verbunden ist, ist der Drucker der USB-Host und die Kamera das USB-Gerät. Bei PictBridge wird jedoch die Kamera als Host angezeigt und die Befehle werden von der Kamera aus gesteuert. Die Kamera ist der Speicherserver, der Drucker der Speicherclient. Die Kamera ist der Druckclient und der Drucker natürlich der Druckserver. PictBridge verwendet USB als Transportschicht, verlässt sich aber auf PTP (Picture Transfer Protocol) für das Kommunikationsprotokoll.

Unterstützung für benutzerdefinierte Klassen

Azure RTOS USBX-Host und-Gerät unterstützen benutzerdefinierte Klassen. Ein Beispiel für eine benutzerdefinierte Klasse wird in der Azure RTOS USBX-Verteilung bereitgestellt. Diese einfache Datapump-Klasse heißt DPUMP und kann als Modell für benutzerdefinierte Anwendungsklassen verwendet werden. Moderne TechnologieAzure RTOS USBX-Host und-Gerät unterstützen benutzerdefinierte Klassen. Ein Beispiel für eine benutzerdefinierte Klasse wird in der Azure RTOS USBX-Verteilung bereitgestellt. Die moderne Technologie von Azure RTOS USBX umfasst Folgendes:

  • Host-, Geräte- und OTG-Unterstützung
  • USB-Low-, Full- und High-Speed-Unterstützung
  • Autoskalierung
  • Vollständige Integration in ThreadX, Azure RTOS FileX und Azure RTOS NetX
  • Optionale Leistungsmetriken
  • Unterstützung für Azure RTOS TraceX-Systemanalysen

Azure RTOS USBX-APIs

Azure RTOS USBX-Host-API

Die Azure RTOS-API-Host-API ist eine intuitive und konsistente API, die auf einer Substantiv-Verb-Namenskonvention basiert. Allen APIs ist „ux_host_*“ vorangestellt, um sie problemlos als USBX identifizieren zu können. Blockierende APIs bieten optionales Threadtimeout.

  • ASIX
    • Minimaler Speicherbedarf von 0,3 KB Flash, 4 KB RAM
    • AutoskalierungAblaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_asix_*
  • AUDIO
    • Minimaler Speicherbedarf von 1,2 KB Flash, 4 KB RAM
    • Autoskalierung
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_audio_*
  • CDC/ACM
    • Minimaler Speicherbedarf von 1,4 KB Flash, 4 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_cdc_acm_*
  • HID
    • Minimaler Speicherbedarf von 0,3 KB Flash, 4 KB RAM
    • Tastatur-, Maus- und Remoteunterstützung
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_hid_*
  • HUB
    • Minimaler Speicherbedarf von 1,7 KB Flash, 2 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_hub_*
  • PIMA (PTP/MTP)
    • Minimaler Speicherbedarf von 0,9 KB Flash, 8 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_pima_*
  • PRINTER
    • Minimaler Speicherbedarf von 0,8 KB Flash, 8 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_printer_*
  • PROLIFIC
    • Minimaler Speicherbedarf von 1,5 KB Flash, 4 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_prolific_*
  • STORAGE
    • Minimaler Speicherbedarf von 5,6 KB Flash, 4 KB RAM
    • Autoskalierung
      In Azure RTOS FileX integriert
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_storage_*
  • USB Host STACK
    • Unterstützt mehrere Hostcontroller
    • Minimaler Speicherbedarf von 18 KB Flash, 25 KB RAM
    • Autoskalierung
    • Unterstützung für mehrere Hostcontroller auf derselben Plattform
    • USB-Low-, Full- und High-Speed-Unterstützung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Host-APIs in dieser Form: ux_host_class_stack_ *
  • OHCI, EHCI, PROPRIETARY Host CONTROLLERS

Azure RTOS USBX-Geräte-API

Die Azure RTOS-API-Geräte-API ist eine intuitive und konsistente API, die auf einer Substantiv-Verb-Namenskonvention basiert. Allen APIs ist „ux_device_*“ vorangestellt, um sie problemlos als USBX zu identifizieren. Blockierende APIs bieten optionales Threadtimeout. Weitere Informationen finden Sie im Benutzerhandbuch für den Azure RTOS USBX-Host.

  • CDC/ACM
    • Minimaler Speicherbedarf von 0,8 KB Flash, 2 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: *ux_device_class_cdc_acm_**.
  • CDC/ECM
    • Minimaler Speicherbedarf von 1,5 KB Flash, 4 bis 8 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
      Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: *ux_device_class_cdc_ecm_**.
  • DFU
    • Minimaler Speicherbedarf von 1,1 KB Flash, 2 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: ux_device_class_dfu_*.
  • GSER
    • Minimaler Speicherbedarf von 0,6 KB Flash, 4 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: ux_device_class_gser_*.
  • HID
    • Minimaler Speicherbedarf von 0,9 KB Flash, 2 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: ux_device_class_hid_ .
    • Minimaler Speicherbedarf von 5,2 KB Flash, 8 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: ux_device_class_prima_*.
  • STORAGE
    • Minimaler Speicherbedarf von 2,3 KB Flash, 4 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: ux_device_class_storage_*.
  • RNDIS
    • Minimaler Speicherbedarf von 2,3 KB Flash, 4 bis 8 KB RAM
    • Autoskalierung
    • Integriert in Azure RTOS NetX und Azure RTOS NetX DUO
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: ux_device_class_rndls_*.
  • Azure RTOS USBX Device STACK
    • Minimaler Speicherbedarf von 2,3 KB Flash, 4 KB RAM
    • Autoskalierung
    • Ablaufverfolgung auf Systemebene über Azure RTOS TraceX
    • Intuitive Azure RTOS USBX-Geräte-APIs in dieser Form: ux_device_class_storage_*.
  • OHCI, EHCI, PROPRIETARY Host CONTROLLERS

Nächste Schritte

Beginnen Sie das Arbeiten mit dem Azure RTOS USBX-Host- und -Gerätestapel, indem Sie das Benutzerhandbuch für den Hoststapel bzw. das Benutzerhandbuch für den Gerätestapel befolgen.