Общий ответ на этот вопрос - да, VBUS (+ 5 В от кабеля) должен быть подключен к устройству, даже если оно питается от сети. Причина в следующем:
Чтобы запустить процесс подключения на стороне хоста, устройство должно подтянуть D + (в случае режима FS / HS) или D- (в случае устройства LS).
Однако в спецификациях USB есть обязательное требование, чтобы никакое USB-устройство не подавало ток на какой-либо интерфейсный вывод, если оно не подключено к кабелю, см. Раздел 7.1.5.1, который гласит:
Источник напряжения на подтягивающем резисторе должен быть получен из источника питания USB-кабеля или контролироваться им, чтобы при отключении VBUS подтягивающий резистор не подавал ток на линию передачи данных, к которой он подключен.
Если устройство USB не имеет этого элемента управления, источником тока будет одна из линий данных. Преждевременное утверждение подтягиваний стало источником проблем для некоторых устаревших USB-хостов. Вот почему это правило было введено, и для этого существует специальная проверка в программе сертификации USB-IF.
Поэтому USB VBUS является важным сигналом «боковой полосы» в протоколе USB-подключения. Таким образом, обычные ИС устройства USB имеют отдельный входной контакт для определения присутствия USB-хоста. Некоторые производители микросхем (например, FT232H, MCP2221 и т. Д.) Пропускают это требование, предполагая, что их микросхема будет использоваться исключительно в конфигурации с питанием от шины, где автоматически выполняется требование управления подтягиванием. Однако при проектировании этих микросхем в конструкции с автономным питанием необходимо приложить дополнительные усилия, чтобы связать включение подтягиваний с наличием VBUS на USB-порту.
Что касается протокола «рукопожатия» USB-подключения, USB не зависит от тока, получаемого от VBUS. Протокол таков: порт хоста должен иметь активный VBUS; VBUS подключен к устройству; устройство видит VBUS и тянет 1,5к на одном из D + / D- проводов; хост видит это соединение, и после задержки 100 мс выдает сигнал USB_RESET (SE0 и т. д.).