Host STM32F4 alimentando dispositivo USB usando VBUS

Estoy tratando de diseñar un host USB STM32F411. Lo conectaré a un dispositivo MIDI USB. El dispositivo MIDI USB que estoy usando es AKAI Professional MPK Mini MKII, que solo tiene 1 puerto USB tanto para alimentación como para datos, lo que significa que necesito alimentar el dispositivo a través de USB.

De la hoja de datos STM32F411, encontré algunos esquemas de circuitos relevantes:

ingrese la descripción de la imagen aquí

Sin embargo, no estoy seguro acerca de la parte VBUS. ¿Cómo se supone que debo alimentar mi dispositivo USB con un microcontrolador? La lógica de mi microcontrolador es +3.3V y el USB requiere +5V. ¿Necesito alimentar el dispositivo USB a través del pin VBUS en el microcontrolador?

He leído en alguna parte que VBUS se usa para detectar:

El dispositivo USB está alimentado por bus, la detección VBUS no es obligatoria (el USB siempre está conectado cuando el dispositivo está alimentado)

Para mi aplicación, el microcontrolador será solo host, por lo tanto, supongo que ni siquiera necesito usar el VBUS. ¿Puedo simplemente conectar la fuente externa de +5 V al pin USB VBUS en su lugar?

Respuestas (2)

Está mezclando declaraciones que se aplican cuando STM32 es un dispositivo USB y cuando es un host USB. Sí, como host USB, debe tener un suministro de 5 V en el conector del dispositivo USB. El esquema de la hoja de datos es correcto, el VDD es de 5 V y hay un componente de interruptor para que la MCU pueda controlar la alimentación del puerto y determinar con seguridad la situación de sobrecorriente. Pero la MCU es el host, por lo que no necesita monitorear el suministro de 5 V en el conector con el pin VBUS de la MCU. El conector USB de 5 V también se denomina VBUS.

Gracias por responder. ¿Qué sucedería si suministre un suministro externo de +5 V al pin de 5 V en el conector? ¿Podría darme un ejemplo del dispositivo "interruptor de alimentación del limitador de corriente" ya que no puedo encontrar algo relevante? Además, ¿es necesario un oscilador externo para el host USB, ya que he visto que la mayoría de los ejemplos de esquemas usan un oscilador externo?
Si solo suministra 5 V al conector USB, el STM32 no puede encenderlo y apagarlo para restablecer el dispositivo USB. La mejor fuente para encontrar un interruptor de alimentación es mirar las placas del kit de evaluación STM32, los interruptores de alimentación limitada de corriente OnSemi y ST son populares allí. ¿Te refieres a cristal externo u oscilador externo? La necesidad de una fuente de reloj externa depende completamente de si el reloj interno es lo suficientemente preciso o no, y esto se lee en las hojas de datos. No perdería el tiempo pensando en eso, simplemente colocaría un cristal externo allí para evitar el problema.
Muchas gracias.
Encontré un ejemplo como tal: farnell.com/datasheets/… En el esquema de ejemplo, el Vin se usa como 5V, supongo que esto no me servirá, ya que necesita ser alimentado desde el VCC +3.3V.
Creo que he usado ese chip. Sí, realmente necesita darle 5 V a este chip de interruptor de alimentación para que pueda dar 5 V a su dispositivo USB. Simplemente no funciona con 3.3V. Si crea un host USB, necesita una fuente de alimentación de 5V. ¿Cuál es tu fuente de poder ahora? Quiero decir que los 3.3V también deben provenir de algún lado, entonces, ¿por qué no 5V?
Tengo una fuente externa de +5V que puedo usar como VIN para ese chip, sin embargo, el pin FLAG se coloca en +5V y se conecta a uno de los pines GPIO. ¿Creo que eso dañará mi pin GPIO?
STM32 no utiliza lógica de 5V. En general, tienes una fuente de 5V para USB y 3.3V para STM32. Depende de su implementación cómo desea generarlos con lo que tiene disponible. Y no se que tenes disponible.
Bueno, hay dos cosas. No levante la bandera a 5V sino a 3.3V. O asegúrese de usar un pin tolerante a 5V en STM32. Solo mire cómo ST ha diseñado sus placas para host USB.
Gracias. Además, el dispositivo MIDI que uso es: AKAI Professional MPK Mini MKII. Parece que no puedo encontrar el consumo de corriente para este dispositivo, ya que necesito saber qué fuente de alimentación diseñar.
Esta es la belleza de USB, si lo diseña según las especificaciones, funcionará con todos los dispositivos. Excepto aquellos que no están construidos por las especificaciones, por supuesto. Por lo tanto, espere un consumo máximo de 500 mA, pero reserve un poco más, tal vez 700-800 mA. O 1A.

Necesita el convertidor de voltaje que convertirá 3.3V VDD a 5V requerido por el USB. ¡El pin Vbus uC no alimenta nada! Se utiliza en el modo de dispositivo para detectar la presencia de la alimentación USB.

Muchos dispositivos USB se alimentan de VBUS.
@benvoigt en serio? Pin Vbus STm32 uC? Enseñame una. Este pin puede generar 10 mA y es de 3,3 V. Entonces, muéstrame cualquier dispositivo alimentado por este pin
Estoy hablando del pin VBUS en el conector USB, no en el microcontrolador. Si no quiso decir el pin VBUS definido por el pin estándar USB, sería bueno dejar claro (en su respuesta, no en un comentario) de qué pin está hablando.
@benvoigt consulte la pregunta orinal y los esquemas publicados allí. ¿Me engañaste? Votaste para eliminar mi respuesta?
En referencia al esquema publicado en la pregunta, la única apariencia de VBUS está en el conector USB-A. Ese sí necesita ser alimentado con + 5V. OP ya tiene una fuente de 5V y debería usarla en lugar de usar un convertidor elevador alimentado por VDD.
@BenVoigt lee la oración debajo de la imagen ( Do I need to power USB device through VBUS pin on the microcontroller?)
Sí, acepto que hay dos pines VBUS diferentes. Es bueno que hayas editado tu respuesta para decir de cuál estás hablando. Ahora, si también leyó la última oración de la pregunta "¿Puedo simplemente conectar la fuente externa de +5V al pin USB VBUS?" es posible que no haya dado consejos para agregar un convertidor de refuerzo innecesario e ineficiente.
@benvoigt si tiene 5v disponibles ... Pero estaba confundido por muchas señales Vbus y mi respuesta es sobre la que no puede usar