Передача данных через USB с питанием (вроде как концентратор, но не)

837
Michael Graff

У меня есть устройство, которое не поддерживает концентратор USB и не обеспечивает питание. Мне нужно подключить телефон к этому устройству, и, к сожалению, это означает, что я не могу заряжать телефон во время его использования.

Я попробовал простые, наивные подходы:

  • Попытка автономного концентратора; хост-устройство не поддерживает концентратор.
  • Попытка подать питание напрямую, отсоединив шнур питания от устройства к телефону; согласование питания на основе USB сообщает телефону, что электропитания нет, и он не будет заряжаться.
  • Сначала закоротите контакты данных, чтобы зарядить телефон, а затем откройте их. Как и ожидалось, это означает, что он не будет общаться с хост-устройством.

Я думаю, мне нужно что-то, что действует почти как концентратор, но проходит через все сообщения протокола USB, кроме тех, которые используются для согласования питания, и прекратит те, которые вызывают подачу питания.

Есть ли такое устройство?

0
Я не уверен, что это должно было быть перемещено; Я подозреваю, что результатом будет какой-то нестандартный чип, маленький uP или что-то подобное, в то время как superuser больше предназначен для готовых аппаратных решений. Michael Graff 7 лет назад 0
Фундаментальная проблема заключается в том, что эта проблема, вероятно, требует глубоких технических деталей, но задается с очень поверхностной точки зрения конечного пользователя без предоставления необходимой информации. Политика SE не состоит в том, чтобы перенести нерешенные вопросы, она должна быть просто закрыта. Chris Stratton 7 лет назад 0
То, что вы хотите, скорее всего, невозможно. Сторона хоста ссылки должна обеспечивать питание ссылки, а стороне устройства ссылки не разрешено обеспечивать питание. Поэтому, когда кабель хост-типа подключен к вашему смартфону, он переключается в режим хоста и не будет рассчитывать на питание от ссылки. Laszlo Valko 7 лет назад 0
@LaszloValko, это очень хорошо может быть то, что происходит. Однако, насколько я могу судить, пульт Дрон находится либо в режиме хоста, либо в режиме клиента, и в этом случае он действует как хост. Телефон на короткое время пытается зарядиться, затем останавливается. Michael Graff 7 лет назад 0

1 ответ на вопрос

0
Ale..chenski

Вы действительно решили первую часть проблемы, компенсируя недостаток дизайна USB-порта вашего «устройства», предоставляя внешнее питание (VBUS) для связи. Это довольно законное решение.

Вторая часть (зарядка при подключении в качестве USB-устройства) является более сложной.

Решение будет зависеть от того, какую подпись о начислении платы портит ваш PHONE, поддерживая протокол передачи данных. Заряжается ли он когда-либо при подключении к любому обычному USB-порту ПК или работающему концентратору?

Если он не может заряжаться от обычного порта данных (потребляя 500 мА и заряжаясь, но, возможно, медленно), то вам нужно попробовать порт «Battery Charging» (BC1.2), если вы можете его найти. Если ваш телефон поддерживает / распознает подпись для зарядки BC1.2, вам необходимо создать собственное устройство, эмулятор дополнения BC1.2 между вашим телефоном и вашим специальным «устройством».

В данном случае это iPhone 6s, который будет заряжаться (или, по крайней мере, не так быстро) от порта с емкостью 500 мА. Я не подключил его напрямую к порту BC, но я провел небольшой тест на стенде и, используя надлежащие делители напряжения, чтобы сказать, что телефон 2 A доступен, я видел, что он потребляет примерно 1,8 A. Michael Graff 7 лет назад 0
@MichaelGraff, поэтому вы предоставили статическую «подпись Apple», и телефон начинает заряжаться (как и положено, предполагается, что он подключен к законному зарядному устройству). Однако, чтобы подключиться к USB-каналу передачи данных, вам необходимо переключиться на обычное USB-подключение. В пространстве ПК существует так называемый «режим зарядки аксессуаров», когда хост OTG превращается в приемник, выступая в качестве хоста USB, и все это выполняется вне протокола USB. В Apple space я считаю, что это должно быть сделано на уровне протокола USB, MacBooks спрашивает, хотите ли вы «синхронизировать» после того, как iPhone подключен и заряжается. Как это делается, я не знаю. Ale..chenski 7 лет назад 0
@MichaelGraff, ДОПОЛНЕНИЕ: похоже, Apple отказалась от классической возможности USB3.0 для зарядки и синхронизации. Теперь это должно быть сделано через порт Type-C, со всеми наворотами протокола USB Power Delivery. Удачи в реализации этого на «вашем устройстве». Ale..chenski 7 лет назад 0
Али Чен, в этом случае просто подача внешнего напряжения +5 В постоянного тока приводит к тому, что телефон начинает заряжаться, но затем сразу же останавливается, как только он перечисляется. Я думаю, что это порт хоста, говорящий, что для него нет доступной мощности, будь то проклятый предел неконфигурированного порта 500 мА. Если я не подключаю линии передачи данных, я получаю заряд 500 мА, и, пока он не будет перечислен, он заряжается. Michael Graff 7 лет назад 0
Я знаю проблемы, связанные с попыткой перехватить и заменить часть протокола USB, и при этом разрешить передачу данных по одной и той же линии с высокой скоростью. Я думаю, что лучшим решением здесь было бы убедить производителя оборудования позволить USB-концентратору подключиться к их устройству, и в этот момент я могу довольно легко питать концентратор от батареи, и телефон будет заряжаться нормально. Michael Graff 7 лет назад 0