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¶
- Vérifiez que la carte dispose du connecteur USB et du chemin d'alimentation requis.
- Partez de l'exemple USB du SDK le plus proche du cas d'usage.
- Testez l'énumération sous Windows, macOS et Linux.
- Vérifiez la suspension et la reprise, ainsi que le comportement après reconnexion du câble.
- 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.
| 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: