La respuesta genérica a esta pregunta es sí, el VBUS (+ 5V del cable) debe estar conectado al dispositivo, incluso si es autoalimentado. El motivo es el 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 de USB tienen el requisito obligatorio de que ningún dispositivo USB debe generar ninguna corriente en cualquier 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 de arranque debe derivarse de o
controlado por la alimentación suministrada en el cable USB , de modo que cuando VBUS
se retira, la resistencia de pull-up no suministra corriente en los datos
línea a la que se adjunta.
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 los pull-ups fue una fuente de problemas para algunos hosts USB heredados. Es por eso que se estableció esta regla, y hay una prueba especial para esta en el programa de certificación USB-IF.
Por lo tanto, el USB VBUS es una importante señal de "banda lateral" en el protocolo de conexión USB. Como tal, los IC 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 usará ú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 "protocolo de enlace" de conexión USB, el USB no se basa en la corriente extraída de VBUS. El protocolo es este: 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, afirma la señalización USB_RESET (SE0, etc.).