Концентратор на USB-шині - понад 100 мА на пристрій?


11

Я хотів би задати досить конкретне питання щодо управління живленням USB.

Перш за все, я окреслю дизайн свого пристрою. Це симетричний драйвер сигнальної лінії із вбудованим звуковим кодеком для моєї системи гучномовців DIY. Пристрій внутрішньо розділений на два, головним чином, незалежні блоки: лінійний драйвер із керуючим MCU та аудіокодек (PCI2706 TI). І те й інше потребує підключення даних 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 повна швидкість. Тоді кореневий концентратор ПК повинен IMO постачати 500 мАмп на весь пристрій. Таким чином, я міг би встановити FT232 драйвера таким чином, щоб він вимагав лише 100 мА, і концентратор ніколи не дізнається, чи я перевищив би межу (зважаючи, звичайно, на 500 мА від ПК). Хтось може сказати, чи може це спрацювати?

Відповіді:


3

Моє розуміння вашої конструкції полягає в тому, що весь пристрій знаходиться на одній платі, знаходиться в одному корпусі і з'єднаний з хостом одним кабелем USB. Ви інтегрували концентратор на друковану плату, щоб дозволити обом пристроям спілкуватися з ПК. Наступна відповідь буде залежати від цих припущень, якщо вони зроблені з декількох окремих пристроїв, з'єднаних невід'ємними кабелями, то це змінює речі.

У цьому випадку я пропоную вам просто налаштувати концентратор для перерахунку як пристрій високої потужності та поділити отримані 500 мА серед усієї плати. Цікаво, що зразок схеми TI на зразковому порті показує пристрої, які з'єднані разом, навіть при використанні ІМ управління потужністю:

введіть тут опис зображення

Вхідний 5В блок живлення (виділений синім кольором, оскільки це одна з двох мереж, які нас цікавлять на цій складній схемі) підключений до ІС управління TPS2041 управлінням електроенергією (щедрий опис, це справді просто БНТ, що вимикається, коли він виявляє, що проходить 500 мА струму). Однак кожен із входів коротко поєднується, і кожен із результатів також коротко спільно, а потім розподіляється на кожен наступний порт (мережа показана червоним кольором).

В основному, вони захищають надмірний струм для всіх секцій нижче за течією в одному ІС. Вони не можуть визначити, чи є у них три малопотужні (100 мА) блоки, один блок високої потужності або два малопотужні блоки та один блок 300 мА. Усі ці параметри прийнятні на основі цієї еталонної конструкції. Ви написали:

Відповідно до специфікації USB, концентратор, що працює на шині, може забезпечити лише один пристрій на нижньому порту, малюючи максимум 5 одиниць ...

але, щоб безпосередньо відповісти на ваше запитання, ця конструкція від Texas Instruments (учасника групи USB та основного виконавця) показує, що вам потрібно лише гарантувати, що загальний струм менше 5 одиниць.


Щоб вирішити вашу проблему, вказуються правила (взяті з відмінного USB- документа в двох словах ):

Функції, що працюють на шині великої потужності, витягуватимуть всю потужність з шини і не можуть витягти більше ніж одне навантаження, поки вона не буде налаштована, після чого вона зможе злити 5 одиничних навантажень (макс. 500 мА) за умови, що вимагає цього в своєму дескрипторі.

Якщо ви можете гарантувати, що етап драйвера не почне подавати струм, поки пристрій не буде налаштовано (що може бути таким же простим, як тимчасова затримка в хост-контролері), ви можете просто з'єднати все разом. Оскільки вся ваша схема знаходиться на одній друкованій платі і не має доступних для користувача портів нижнього течії, ви, ймовірно, також можете вимкнути TPS2041 і просто спроектувати систему, не вимагаючи більше 500 мА струму в будь-якому стані.

Ще однією перевагою перерахування як потужного пристрою є покращені характеристики вхідної напруги. Коли ви перерахували як пристрій малої потужності, хосту потрібно лише виробити 4,40 В на верхньому порту (який буде нижчим у вашого пристрою через опір кабелю). Якщо вас перерахували як пристрій високої потужності, специфікація гарантує, що ви отримаєте 4,75 В, що швидше за все буде в межах робочого діапазону будь-яких 5В компонентів, які ви можете використовувати.


Дякую за відмінну відповідь. Але як же налаштувати концентратор таким чином? Мені потрібен зовнішній EEPROM або я просто прив’язую штифт / GANGED до землі (а інші шпильки конфігурації відповідно до надісланої вами схеми)?
Ладислав

1
Вам потрібно буде прив’язати! ЗГАДЕНО до землі та! EXTMEM до 3,3В. Однак зовнішній EEPROM може бути приємним: інакше ваш пристрій відобразиться як "загальний USB-концентратор" на ПК. Крім того, ви, ймовірно, могли б імітувати EEPROM за допомогою вбудованого мікроконтролера (конфігуруйте один з інтерфейсів I2C, щоб він був веденим). Тоді ви можете повідомити про це як "драйвер системи динаміків та контролер кодека" або щось подібне.
Кевін Вермер

5

Я створив дошку навколо цього хабу.

У моїй програмі це дозволило отримати доступ до FT232 та FT245.

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

У моїй ситуації я прив’язав TUSB, щоб вимагати повних 500 ма і відключити захист над струмом, і просто запустив все прямо з USB 5.0v. Я досяг цього, змусивши концентратор звітувати як власне живлення до верхнього хоста.

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

Звичайно, якщо це для виробничого пристрою, а не для особистого проекту чи тестового з’єднання (що таке в моєму випадку), це зовсім інша проблема.

введіть тут опис зображення

(Див. Примітку на схемі)


Для чого це варто, ви можете дуже жахливо зловживати більшістю сучасних портів USB без особливих проблем. Багато з них можуть забезпечити набагато більше енергії, ніж 500 мільйонів, на які вони оцінені, без особливих проблем.
Крім того, більшість з них (все, що я перевірив, забороняючи деякі ноутбуки ) із задоволенням забезпечить повну 500м, без пристрою взагалі потрібно перераховувати.

Однак це залежить від материнської та материнської плати, залежно від того, як розроблений USB-хост. Ваш пробіг може відрізнятися.


Так, я думав про це, але, як ви вже сказали, це залежить від МБ до МБ. Пристрій не буде вироблятися тисячами, але мені потрібно, щоб він був настільки ж сумісним, як це може бути, тому він би "Просто працював" на будь-якому комп'ютері. Все-таки спасибі, практичні спостереження такі ж цінні :).
Ладислав

@Ladislav - Я не думаю, що в будь-якому разі не потрібно, щоб увімкнути можливість перемикання живлення пристроїв нижче, не порушуючи специфікацію USB хоча б дещо.
Вонор Коннор

Варто зауважити, що якщо обв’язати пристрій, щоб повідомити, що він працює на шині, і просто не турбуватися про перемикання живлення, воно може працювати в будь-якому випадку. Це може бути варте тестування. Крім того, шукайте ІМ-концентратор тільки USB-1.1.
Вонор Коннор

1

Можливо, це трохи забруднено: TUSB2036 дозволяє здійснити вибір порту вниз за потоком (p3 NPINT1-0 встановлено на 10). Потім підключіть свій пристрій до двох (фізичних) портів, щоб ви могли намалювати 2 одиниці паралельно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.