Ir para o conteúdo

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

  1. Confirme se a placa oferece o conector USB e o caminho de alimentação necessários.
  2. Comece pelo exemplo USB do SDK mais próximo da aplicação desejada.
  3. Teste a enumeração no Windows, macOS e Linux.
  4. Verifique a suspensão e a retomada, além do comportamento ao reconectar o cabo.
  5. 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.

Tabela: Exemplos CherryUSB do SiFli-SDK para SF32LB58x
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: