Должно ли устройство USB с автономным питанием подключаться к VCC через порт хоста?

18

Периферийное USB-устройство с автономным питанием обеспечивает собственное питание, поэтому можно ли подключать только D +, D- и GND к порту хоста, или вам всегда нужно также подключить + 5V, затем дождитесь фазы согласования для устройства сказать хозяину, что он работает от сети и поэтому не хочет никакой энергии, большое спасибо?

Конкретная периферия, на которую я смотрю, основана на адаптере FTDI FT4232H USB-to-serial, но я действительно надеюсь на общий ответ на этот вопрос.

kbro
источник
1
У FTDI есть много примечаний приложения и информации об этом в их таблицах данных. Вы смотрели там?
Густаво Литовский
Таблица данных FTDI ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT4232H.pdf показывает VBUS, подключенный к RESET # через резисторный мост, так что (предположительно) отключение кабеля USB приводит к сбросу устройства (если оно питалось от шины, то очевидно, отключение USB-кабеля полностью отключило бы устройство!). Но вопрос в том, означает ли нагрузка на VBUS что-то для USB-хоста, и отсутствие нагрузки, если VBUS n / c что-то нарушает при установлении связи через USB?
Кбро
USB обычно не имеет представления о том, подключено ли что-нибудь. Если вы не тянете больше 100 мА, он не может определить, подключено ли что-то.
Густаво Литовский
@GustavoLitovsky, на самом деле, USB-хосты не имеют никаких средств, чтобы различать между током и током 100 мА, поступающим из его порта. Единственное средство, определенное в спецификациях USB, - это когда возникает перегрузка по току, которая превышает 500 или 900 мА. Однако все может быть спроектировано с использованием дополнительных схем и дополнительных выводов GPIO.
Ale..chenski

Ответы:

7

Общий ответ на этот вопрос - да, 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 и т. д.).

Ale..chenski
источник
18

С устройством с автономным питанием не подключайте его 5V к 5V хоста, вы можете отключить любой источник питания. GNDи D+, D-будет делать хорошо.

Имейте в виду, что уровни для D+и D-рассчитаны на + 3,6 В макс., А не на 5 В, как вы могли ожидать!

jippie
источник
5
Тем не менее, стоит отслеживать VBUS для обнаружения условий отключения / подключения, так как часть первоначального согласования USB включает подтягивания на D + и D-. Однажды мы столкнулись с проблемами, когда концентратор не мог правильно перечислить устройства в зависимости от порядка включения концентратора с автономным питанием и устройств с автономным питанием, если только вы не наблюдаете VBUS. Решение было использовать потенциальный делитель на VBUS для обработки.
Jxj
1
По этой же причине на нагрузочный резистор, который уведомляет хост о подключении устройства и определяет его начальную скорость, следует ссылаться на VBUS, а не на локальное питание устройства.
Дэйв Твид
1
Хммм - окно с надписью «Устройства с автономным питанием» на usbmadesimple.co.uk/ums_2.htm говорит о многом - не тяните D + или D- выше VBUS. Что еще интереснее, не водите D + или D-, когда VBUS выключен. Таблица данных FT4232H ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT4232H.pdf показывает VBUS, соединяющийся с RESET #, который связывает с «не ездить, когда VBUS выключен», но там, похоже, нет гарантируйте, что D + / D- всегда ниже VBUS при сбросе. Я думал, что весь смысл сброса в том, что D + выше или ниже D-, а не то, что было близко к VBUS.
Кбро