Aller au contenu

USB et CherryUSB

Pour les appareils SF32 et les cartes dotés d'un matériel USB pris en charge, la documentation et les exemples du SiFli-SDK présentent l'intégration de CherryUSB. Vérifiez les rôles et classes USB pris en charge pour la puce, la carte et la version du SDK utilisées, et traitez l'USB comme une pile logicielle complète, pas comme une simple fonctionnalité matérielle.

La mise en œuvre USB implique le firmware, les descripteurs, les systèmes d'exploitation hôtes, la gestion de l'alimentation et les outils de production. Un appareil qui s'énumère une fois sur l'ordinateur portable d'un développeur n'est pas pour autant terminé.

Cas d'usage

  • Port série USB CDC.
  • Périphériques HID.
  • Stockage MSC.
  • Microphone/haut-parleur audio USB.
  • MTP.
  • Prise en charge, en mode hôte USB, des périphériques CDC, HID, MSC, UVC et UAC, selon les capacités du SDK et de la carte.

Flux de travail pratique

  1. Vérifiez que la carte dispose du connecteur USB et du chemin d'alimentation requis.
  2. Partez de l'exemple USB du SDK le plus proche du cas d'usage.
  3. Testez l'énumération sous Windows, macOS et Linux.
  4. Vérifiez la suspension et la reprise, ainsi que le comportement après reconnexion du câble.
  5. Consignez le VID/PID, les descripteurs et les exigences des pilotes hôtes.

Ce qu'il faut tester

  • Connexion avant la mise sous tension, puis branchement et débranchement pendant le fonctionnement.
  • Réinitialisation pendant la connexion.
  • Mise en veille/réveil de l'hôte.
  • Déconnexion du câble pendant un transfert.
  • Énumération sous Windows, macOS et Linux.
  • Comportement d'appareil composite si plusieurs classes sont activées.
  • Informer les utilisateurs qu'un câble USB de charge uniquement ne permet pas la communication de données.

Liste de contrôle des descripteurs

  • La propriété du VID/PID est claire.
  • La chaîne de produit est définitive ou versionnée.
  • Le comportement du numéro de série est défini.
  • Les valeurs de classe/sous-classe/protocole correspondent au pilote hôte visé.
  • Les interfaces composites restent stables à travers les mises à jour du firmware.

Exemples SDK

L'index officiel des exemples CherryUSB de SiFli-SDK sépare les exemples USB-périphérique et USB-hôte. Commencez par celui qui correspond au rôle et à la classe USB visés, puis appliquez à l'implémentation du produit les vérifications des descripteurs, de l'alimentation et de la compatibilité avec l'hôte.

Tableau : Exemples CherryUSB de SiFli-SDK pour SF32LB58x
Rôle USB Exemple Point de départ
Périphérique Microphone USB Microphone USB Audio Class 1
Périphérique Microphone et haut-parleur USB Audio duplex USB Audio Class 1
Périphérique CDC ACM Appareil de communication USB
Périphérique CDC ACM UART Pont USB-vers-UART
Périphérique CDC + HID + MSC Appareil USB composite
Périphérique Souris HID Périphérique de pointage USB HID
Périphérique MSC avec Flash NOR Stockage de masse adossé à une Flash NOR
Périphérique MSC avec disque RAM Stockage de masse adossé à la RAM
Périphérique MSC avec deux disques RAM Deux unités logiques adossées à la RAM
Périphérique MSC avec SD/eMMC Stockage de masse adossé à une carte SD ou à l'eMMC
Périphérique MTP avec DFS et disque RAM Appareil Media Transfer Protocol
Hôte Hôte CDC ACM Communiquer avec un périphérique CDC ACM
Hôte Hôte HID Connecter et lire un périphérique HID
Hôte Hôte MSC Connecter un périphérique de stockage de masse USB
Hôte Hôte UVC + UAC Périphériques USB de classe vidéo et audio

Dernière mise à jour: