La respuesta genérica a esta pregunta es sí, el VBUS (+ 5V del cable) debe estar conectado al dispositivo incluso si es autoalimentado. La razon es la siguiente:
Para iniciar el proceso de conexión en el lado del host, el dispositivo debe levantar D + (en el caso del modo FS / HS) o D- (en el caso del dispositivo LS).
Sin embargo, las especificaciones USB tienen un requisito obligatorio de que ningún dispositivo USB debe generar corriente en ningún pin de interfaz a menos que esté conectado a un cable, consulte la sección 7.1.5.1, que dice:
La fuente de voltaje en la resistencia pull-up debe derivarse o controlarse mediante la alimentación suministrada en el cable USB de modo que cuando se retira VBUS, la resistencia pull-up no suministra corriente en la línea de datos a la que está conectada.
Si un dispositivo USB no tiene este control, una de las líneas de datos será una fuente de corriente. La afirmación prematura de pull-ups fue una fuente de problemas para algunos hosts USB heredados. Es por eso que se instituyó esta regla, y hay una prueba especial para esto en el programa de certificación USB-IF.
Por lo tanto, el USB VBUS es una señal importante de "banda lateral" en el protocolo de conexión USB. Como tal, los CI de dispositivos USB normales tienen un pin de entrada separado para detectar la presencia de un host USB. Algunos fabricantes de circuitos integrados (por ejemplo, FT232H, MCP2221, etc.) omiten este requisito, suponiendo que su chip se utilizará únicamente en la configuración alimentada por bus, donde el requisito de control de extracción se cumple automáticamente. Sin embargo, al diseñar estos chips en diseños autoalimentados, se necesitan algunos esfuerzos de circuito adicionales para vincular la habilitación de pull-ups con la presencia de VBUS en el puerto USB.
Con respecto al protocolo de conexión USB "protocolo de enlace", USB no se basa en la corriente extraída de VBUS. El protocolo es el siguiente: el puerto del host debe tener VBUS activo; VBUS está conectado al dispositivo; el dispositivo ve el VBUS y levanta 1.5k en uno de los cables D + / D-; El host ve esta conexión y, después de un retraso de 100 ms, confirma la señalización USB_RESET (SE0, etc.).