Я хотел бы задать довольно конкретный вопрос относительно управления питанием USB.
Прежде всего, я опишу дизайн моего устройства. Это симметричный драйвер сигнальной линии со встроенным аудиокодеком для моей акустической системы DIY. Устройство внутренне разделено на два в основном независимых блока: линейный драйвер с управляющим MCU и аудиокодек (TI PCM2706). Для обоих требуется подключение USB-данных (через FT232R для блока драйвера), и все устройство должно питаться от шины. Два блока будут связаны между собой с помощью USB-чипа-концентратора, что приведет к единственному USB-соединению восходящей линии связи с ПК. Я ожидаю, что потребление ступени драйвера будет между 100 и 200 мА (определенно больше, чем одна единица нагрузки).
Возникает проблема: в соответствии со спецификацией USB концентратор с питанием от шины может обеспечить только один модуль на каждый выходной порт, в то время как отводит максимум 5 устройств от входного порта. Я хотел бы знать, что бы сделал концентратор, если бы я запросил два модуля через FT232 для этапа драйвера. Верхний предел в 5 блоков не будет достигнут (1 единица для концентратора, 1 единица для кодека и два для драйвера), поэтому компьютер должен быть физически способен подавать этот ток.
Что касается чипа-концентратора, я проверял http://www.ti.com/lit/ds/symlink/tusb2036.pdf . Есть опция «группового» режима питания, это поможет? Или чип просто отказался бы предоставить два блока водителю? И в этом случае, есть ли грязный обходной путь?
Мне известно о требовании, чтобы устройства высокой мощности также потребляли максимум 100 мА во время подсчета; это не проблема, так как FT232 может включить драйвер сразу после перечисления. Концентратор включит стадии независимо также.
Надеюсь, я изложил свою проблему достаточно ясно и спасибо за ваше время заранее :)
ОБНОВИТЬ:
Я провел еще несколько исследований на чипе TUSB2036. Защита от перегрузки по току может быть отключена с помощью контакта / OCPROT. Затем концентратор сообщает корневому контроллеру, что он не может обнаружить превышение тока. В техническом паспорте есть предупреждение, что защита по OC требуется по спецификации USB 2.0 - для меня это не важно, мне нужен только 1.1 Full-speed. Корневой концентратор ПК должен затем подать ИМО 500 мА на все устройство. Таким образом, я мог установить для FT232 драйвера только 100 мА, и концентратор никогда бы не узнал, превысил ли я предел (конечно, учитывая 500 мА от ПК). Может кто-нибудь сказать, может ли это работать?
Я разработал доску вокруг этого центра.
В моем приложении это разрешало доступ к FT232 и FT245.
Если все находится на вашей собственной печатной плате, я бы порекомендовал вам просто полностью игнорировать все системы защиты от сверхтока. В конце концов, если что-то на вашей печатной плате выходит из строя, все это должно работать, поэтому создание устройства, способного справиться с частичным отказом, является своего рода спорным вопросом.
В моей ситуации я связал TUSB, чтобы запросить полные 500 мА и отключить защиту от перегрузки по току, и просто запустил все прямо с USB 5.0v. Я достиг этого, заставив концентратор сообщать о том, что он подключен к автономному хосту.
Я сделал пару плат без каких-либо реальных проблем, так что это кажется вполне выполнимой стратегией. Он также использовался на нескольких разных компьютерах, поэтому я чувствовал себя довольно уверенно, используя его как есть.
Конечно, если речь идет о производственном устройстве, а не о личном проекте или тестовом жгуте (что и есть в моем случае), это совсем другая проблема.
(См. Примечание на схеме)
Для чего бы это ни стоило, вы можете довольно ужасно злоупотреблять большинством современных USB-портов без особых проблем. Многие из них могут обеспечить гораздо большую мощность, чем 500 мА, на которые они рассчитаны, без особых проблем.
Кроме того, большинство из них (все, что я тестировал, за исключением некоторых ноутбуков ) с радостью предоставят полные 500 мА без устройства для перечисления вообще.
Тем не менее, это зависит от материнской платы к материнской плате, в зависимости от того, как устроен USB-хост. Ваш пробег может варьироваться.
источник
Может быть немного грязно: TUSB2036 позволяет выбирать порт нисходящего потока (p3 NPINT1-0 установлен в 10). Затем подключите ваше устройство к двум (физическим) портам, чтобы вы могли подключить 2 устройства параллельно.
источник