USB e CherryUSB¶
Para dispositivos SF32 e placas com hardware USB compatível, a documentação e os exemplos do SiFli-SDK mostram a integração com CherryUSB. Confirme quais papéis e classes USB são compatíveis com o chip, a placa e a versão do SDK específicos, e trate o USB como uma pilha de software completa, não apenas como um recurso de hardware.
O desenvolvimento USB envolve firmware, descritores, sistemas operacionais host, comportamento da alimentação e ferramentas de produção. Um dispositivo que enumera uma vez no notebook de desenvolvimento ainda não está concluído.
Aplicações¶
- Porta serial USB CDC.
- Dispositivos HID.
- Armazenamento MSC.
- Microfone/alto-falante USB Audio.
- MTP.
- Suporte, como host USB, a periféricos CDC, HID, MSC, UVC e UAC, conforme o suporte do SDK e da placa.
Fluxo de trabalho¶
- Confirme se a placa oferece o conector USB e o caminho de alimentação necessários.
- Comece pelo exemplo USB do SDK mais próximo da aplicação desejada.
- Teste a enumeração no Windows, macOS e Linux.
- Verifique a suspensão e a retomada, além do comportamento ao reconectar o cabo.
- Registre VID/PID, descritores e requisitos dos drivers host.
O que testar¶
- Conecte o dispositivo antes de ligá-lo; depois, teste a conexão e a desconexão durante o funcionamento.
- Reset com o dispositivo conectado.
- Suspensão e retomada do host.
- Desconexão do cabo durante uma transferência.
- Enumeração no Windows, macOS e Linux.
- Comportamento do dispositivo composto quando várias classes estão habilitadas.
- Informe aos usuários que cabos USB somente para carga não permitem comunicação de dados.
Checklist dos descritores¶
- A titularidade do VID/PID está definida.
- A string do produto está finalizada ou versionada.
- O comportamento do número de série está definido.
- Os valores de classe/subclasse/protocolo correspondem ao driver do sistema host previsto.
- As interfaces compostas permanecem estáveis entre versões do firmware.
Exemplos do SDK¶
O índice oficial de exemplos CherryUSB do SiFli-SDK organiza separadamente os exemplos de USB Device e USB Host. Comece pelo exemplo correspondente ao papel USB e à classe desejada; aplique à implementação do produto as verificações de descritores, alimentação e compatibilidade com o host.
| Papel USB | Exemplo | Ponto de partida |
|---|---|---|
| Dispositivo | Microfone USB | Microfone USB Audio Class 1 |
| Dispositivo | Microfone e alto-falante USB | Áudio bidirecional USB Audio Class 1 |
| Dispositivo | CDC ACM | Dispositivo de comunicação USB |
| Dispositivo | CDC ACM UART | Ponte USB-UART |
| Dispositivo | CDC + HID + MSC | Dispositivo USB composto |
| Dispositivo | Mouse HID | Dispositivo apontador USB HID |
| Dispositivo | MSC com memória NOR Flash | Armazenamento em massa com NOR Flash |
| Dispositivo | MSC com disco RAM | Armazenamento em massa com RAM |
| Dispositivo | MSC com dois discos RAM | Duas unidades lógicas armazenadas em RAM |
| Dispositivo | MSC com SD/eMMC | Armazenamento em massa com cartão SD ou eMMC |
| Dispositivo | MTP com DFS e disco RAM | Dispositivo MTP |
| Host | Host CDC ACM | Comunicação com um periférico CDC ACM |
| Host | Host HID | Conexão e leitura de um periférico HID |
| Host | Host MSC | Conexão de um periférico de armazenamento em massa USB |
| Host | Host UVC + UAC | Periféricos USB de vídeo e áudio |
Última atualização: