Recentemente, baixei o aplicativo stm32 para pesquisa no MCU e descobri que, por exemplo, o STM32F429 possui "NÃO" no periférico "Dispositivo USB", enquanto diz "SIM" em "USB OTG FS" e "USB OTG HS". O que é bastante surpreendente, pois o STM32F429 é totalmente funcional como dispositivo USB, ou seja, suporta todas as bibliotecas e classes USB.
Alguns outros MCUs possuem "Dispositivo USB", por exemplo. STM32L052
Então tentei verificar o CubeMX e descobri que existe um periférico USB_Device em sua pesquisa (e novamente o STM32F429 não o inclui, o material USB é feito através do OTG).
Pode ser uma pergunta bastante fácil, pois suspeito que o dispositivo USB significa simplesmente aquele que não suporta OTG, mas não tenho certeza, geralmente os MCUs usam o OTG de qualquer maneira (além disso, existe apenas uma biblioteca, então por que indicar "NÃO" no USB periférico). Não consegui encontrar informações sobre isso no google ou na documentação do CubeMX.
Não estou muito preocupado com isso, pois o USB OTG HS parece funcionar bem com a biblioteca, mas estou pensando em terminologia.
Eu entendo que provavelmente o fórum ST é um lugar melhor para esta pergunta, mas muitos tópicos existem apenas que não são respondidos ou respondidos após dois anos. :)
Obrigado.
fonte
Respostas:
Sua opinião está correta: os dispositivos marcados com "Sim" na coluna do dispositivo USB são capazes de funcionar como um dispositivo USB. Eles não suportam as especificações do OTG e também não podem atuar como host.
Mas é claro que qualquer dispositivo capaz de USB OTG pode, por outro lado, atuar como um dispositivo simples. Quem pode fazer mais pode fazer menos.
Eles os identificam dessa maneira porque o "dispositivo USB", "OTG FS" e "OTG HS" são três núcleos IP diferentes nos chips. Todos eles têm suas capacidades / especificações particulares e podem exigir drivers diferentes (como você notou).
Resumindo:
* Editar : Parece que a ST finalmente fez alguns esforços para integrar um PHY de alta velocidade no chip em alguns de seus MCUs mais recentes (mais especificamente: algumas das versões STM32F7x3 e STM32F730, no momento). No entanto, não há uma coluna específica que indique claramente esse recurso em sua tabela de seleção de dispositivos, o que novamente aumenta a confusão. Você precisa observar os detalhes da folha de dados.
fonte