USB y CherryUSB¶
En los dispositivos SF32 y las placas con hardware USB compatible, la documentación y los ejemplos de SiFli-SDK muestran la integración con CherryUSB. Confirme qué roles y clases USB admite la combinación concreta de chip, placa y versión del SDK, y trate USB como una pila de software completa, no solo como una función del hardware.
El desarrollo USB abarca el firmware, los descriptores, los sistemas operativos del host, la alimentación y las herramientas de producción. Que el dispositivo se enumere una vez en el portátil de desarrollo no significa que el trabajo esté terminado.
Casos de uso¶
- Puerto serie USB CDC.
- Dispositivos HID.
- Almacenamiento MSC.
- Micrófono/altavoz de audio USB.
- MTP.
- Compatibilidad con host USB para periféricos CDC, HID, MSC, UVC y UAC, cuando el SDK y la placa lo permitan.
Flujo de trabajo práctico¶
- Confirme que la placa dispone del conector USB y de la ruta de alimentación necesarios.
- Parta del ejemplo USB del SDK más próximo al caso de uso.
- Pruebe la enumeración en Windows, macOS y Linux.
- Verifique la suspensión y reanudación, así como el comportamiento al volver a conectar el cable.
- Registre el VID/PID, los descriptores y los requisitos del controlador.
Qué probar¶
- Conectar el dispositivo antes de encenderlo; conectarlo y desconectarlo mientras está en funcionamiento.
- Reinicio con el dispositivo conectado.
- Suspensión/reactivación del host.
- Desconexión del cable durante una transferencia.
- Enumeración en Windows, macOS y Linux.
- Comportamiento del dispositivo compuesto cuando se habilitan varias clases.
- Informar a los usuarios de que los cables USB de solo carga no admiten comunicación de datos.
Lista de comprobación de descriptores¶
- Está claro quién es titular del VID/PID.
- La cadena de producto es definitiva o está versionada.
- Está definido el comportamiento del número de serie.
- Los valores de clase/subclase/protocolo corresponden al controlador host previsto.
- Las interfaces compuestas se mantienen estables entre versiones del firmware.
Ejemplos del SDK¶
El índice oficial de ejemplos CherryUSB de SiFli-SDK separa los ejemplos de dispositivo USB y de host USB. Empiece por el ejemplo que corresponda al rol y a la clase USB previstos, y aplique a la implementación del producto las comprobaciones de descriptores, alimentación y compatibilidad con el host de ese ejemplo.
| Rol USB | Ejemplo | Punto de partida |
|---|---|---|
| Dispositivo | Micrófono USB | Micrófono USB Audio Class 1 |
| Dispositivo | Micrófono y altavoz USB | Audio bidireccional USB Audio Class 1 |
| Dispositivo | CDC ACM | Dispositivo de comunicaciones USB |
| Dispositivo | CDC ACM UART | Puente USB-UART |
| Dispositivo | CDC + HID + MSC | Dispositivo USB compuesto |
| Dispositivo | Ratón HID | Dispositivo apuntador USB HID |
| Dispositivo | MSC con memoria NOR Flash | Almacenamiento masivo respaldado por NOR Flash |
| Dispositivo | MSC con disco RAM | Almacenamiento masivo respaldado por RAM |
| Dispositivo | MSC con dos discos RAM | Dos unidades lógicas respaldadas por RAM |
| Dispositivo | MSC con SD/eMMC | Almacenamiento masivo respaldado por tarjeta SD o eMMC |
| Dispositivo | MTP con DFS y disco RAM | Dispositivo Media Transfer Protocol |
| Host | Host CDC ACM | Comunicación con un periférico CDC ACM |
| Host | Host HID | Conexión y lectura de un periférico HID |
| Host | Host MSC | Conexión de un periférico de almacenamiento masivo USB |
| Host | Host UVC + UAC | Periféricos USB de vídeo y audio |
Última actualización: