Zum Inhalt

USB und CherryUSB

Bei SF32-Geräten und Boards mit unterstützter USB-Hardware zeigen die SiFli-SDK-Dokumentation und Beispiele die Integration mit CherryUSB. Prüfen Sie die vom konkreten Chip, Board und SDK-Release unterstützten USB-Rollen und -Klassen, und betrachten Sie USB als vollständigen Software-Stack statt nur als Hardwarefunktion.

Bei USB müssen Firmware, Deskriptoren, Host-Betriebssysteme, Energieverhalten und Produktionswerkzeuge gemeinsam berücksichtigt werden. Wird ein Gerät auf dem Entwicklungs-Laptop einmal erfolgreich enumeriert, ist die Arbeit noch nicht abgeschlossen.

Anwendungsfälle

  • Serielle Kommunikation über USB CDC.
  • HID-Geräte.
  • MSC-Speicher.
  • USB-Audio: Mikrofon/Lautsprecher.
  • MTP.
  • USB-Host-Unterstützung für CDC-, HID-, MSC-, UVC- und UAC-Peripheriegeräte, sofern SDK und Board dies unterstützen.

Praktischer Arbeitsablauf

  1. Prüfen Sie, ob das Board den benötigten USB-Anschluss und den passenden Versorgungspfad bereitstellt.
  2. Beginnen Sie mit dem SDK-USB-Beispiel, das dem Anwendungsfall am nächsten kommt.
  3. Testen Sie die USB-Enumeration unter Windows, macOS und Linux.
  4. Prüfen Sie Suspend/Resume sowie das Verhalten nach erneutem Anschließen des Kabels.
  5. Dokumentieren Sie VID/PID, Deskriptoren und Anforderungen an Host-Treiber.

Was zu testen ist

  • Vor dem Einschalten anschließen; im laufenden Betrieb ein- und ausstecken.
  • Zurücksetzen bei bestehender Verbindung.
  • Ruhezustand und Reaktivierung des Hosts.
  • Kabeltrennung während der Übertragung.
  • USB-Enumeration unter Windows, macOS und Linux.
  • Verhalten von Composite-Geräten, falls mehrere Klassen aktiviert sind.
  • Benutzer darauf hinweisen, dass reine Ladekabel keine Datenkommunikation unterstützen.

Deskriptor-Checkliste

  • Die VID/PID-Zuordnung ist eindeutig geklärt.
  • Der Produktstring ist final oder versioniert.
  • Das Verhalten der Seriennummer ist definiert.
  • Class-/Subclass-/Protocol-Werte passen zum vorgesehenen Host-Treiber.
  • Composite-Schnittstellen bleiben über Firmware-Updates hinweg stabil.

SDK-Beispiele

Der offizielle SiFli-SDK-CherryUSB-Beispielindex führt Beispiele für USB-Geräte und USB-Hosts getrennt auf. Beginnen Sie mit dem Beispiel, das zur vorgesehenen USB-Rolle und -Klasse passt, und übernehmen Sie dessen Prüfungen zu Deskriptoren, Stromversorgung und Host-Kompatibilität in die Produktimplementierung.

Tabelle: SiFli-SDK-CherryUSB-Beispiele für SF32LB58x
USB-Rolle Beispiel Ausgangspunkt
Gerät USB-Mikrofon USB-Audio-Class-1-Mikrofon
Gerät USB-Mikrofon und -Lautsprecher Bidirektionales Audio nach USB Audio Class 1
Gerät CDC ACM USB-Kommunikationsgerät
Gerät CDC ACM UART USB-UART-Brücke
Gerät CDC + HID + MSC Zusammengesetztes USB-Gerät
Gerät HID-Maus USB-HID-Zeigegerät
Gerät MSC mit NOR-Flash Massenspeicher mit NOR-Flash als Speicher
Gerät MSC mit RAM-Disk Massenspeicher mit RAM als Speicher
Gerät MSC mit zwei RAM-Disks Zwei logische Einheiten mit RAM als Speicher
Gerät MSC mit SD/eMMC Massenspeicher mit SD-Karte oder eMMC als Speicher
Gerät MTP mit DFS und RAM-Disk Media-Transfer-Protocol-Gerät
Host CDC-ACM-Host Kommunikation mit einem CDC-ACM-Gerät
Host HID-Host HID-Gerät anschließen und Eingaben auslesen
Host MSC-Host USB-Massenspeicher anschließen
Host UVC + UAC Host USB-Geräte der Video- und Audio-Klasse

Zuletzt aktualisiert: