Как выбрать или изготовить USB-хаб
Разное
Главная Радиолюбителю Разное
Сегодня для подключения периферийных устройств к компьютеру чаще всего используют интерфейс USB. Но рано или поздно пользователь обнаруживает, что все имеющиеся в его компьютере USB-порты заняты мышью, клавиатурой, WEB-камерой и другими устройствами, а вновь приобретённый принтер, TV-тюнер, USB-осциллограф или что-либо ещё подключить некуда. Как же соединить с компьютером 127 устройств, обещанных спецификацией USB?
Чтобы к одному USB-порту компьютера можно было подключить более одного устройства, применяют хабы (англ. hub — ступица колеса, в которую вставлены все его спицы), называемые также концентраторами. Хаб имеет «восходящий» (upstream) USB-порт, соединяемый с компьютером, и несколько «нисходящих» (downstream) USB-портов, к которым присоединяют периферийные устройства. Спецификация USB допускает последовательное соединение до пяти хабов.
В магазинах, торгующих компьютерной периферией, ассортимент USB-хабов довольно велик — на любой вкус, цвет и кошелёк. Казалось бы, выбирай любой, наиболее симпатичного дизайна с нужным числом портов и за минимальную цену. Ведь неискушённый пользователь часто представляет себе хаб чем-то вроде устройства для подключения двух телевизоров к одной антенне — внутри пара резисторов либо миниатюрный трансформатор.
Однако в данном случае всё гораздо сложнее. В этом я убедился, когда приобрёл два USB-хаба, один — для цифрового интерфейса к трансиверу, второй — для подключения внешнего жёсткого диска к стационарному ПК. Первый хаб на четыре порта с логотипом «DNS» был приобретён в обычном магазине, второй — неизвестного производителя на семь портов — был заказан в зарубежном интернет-магазине.
Эксперименты в лабораторных условиях показали, что оба хаба без проблем работают с мышью, клавиатурой, адаптером USB-COM и звуковой картой, оснащённой интерфейсом USB. Однако с внешним жёстким диском и FLASH-накопителем работает только хаб DNS. При подключении таких устройств через безымянный хаб компьютер выдаёт сообщение «USB-устройство не определено».
Дополнительные эксперименты с цифровым интерфейсом трансивера показали, что хаб DNS и здесь работает без проблем, а вот использование безымянного хаба приводит к «зависанию» компьютера при каждом включении передатчика. При непосредственном без хаба подключении адаптера USB-COM и внешней звуковой карты к компьютеру всё работало без проблем.
Такая ситуация меня заинтересовала. Я решил выяснить, чем же различаются эти два хаба. Почему один полностью выполняет свои функции, а второй, в принципе, работает, но не всегда и не со всеми устройствами?
Каково же было моё удивление, когда после вскрытия корпусов выяснилось, что оба хаба собраны на одной и той же элементной базе и по абсолютно одинаковым схемам! Только в семипортовом установлены две одинаковые микросхемы-контроллера USB-хаба последовательно: к одному из четырёх нисходящих портов первого контроллера подключён восходящий порт второго аналогичного контроллера. Отключение второго контроллера путём перерезания печатных проводников ситуацию не изменило. Чтобы понять причину, пришлось знакомиться с основами устройства и работы шины USB.
Первая спецификация USB 1.0 была опубликована в начале 1996 г., а осенью 1998 г. появилась спецификация 1.1, устранившая проблемы, обнаруженные в первой редакции. Спецификация USB 1.1 определяет два режима передачи информации: низкоскоростной (LS — low-speed), работающий со скоростью до 1,5 Мбит/с и полноскоростной (FS — Full-speed) с предельной скоростью 12 Мбит/с.
Весной 2000 г. была опубликована спецификация USB 2.0, предусматривающая 40-кратное повышение пропускной способности шины. В дополнение к двум ранее имевшимся скоростным режимам введён третий — высокоскоростной HS (High-speed), способный работать со скоростью до 480 Мбит/с.
В 2008 г. появился новый стандарт — USB 3.0 (Super Speed), coгласно которому скорость передачи доведена до 5 Гбит/с. Однако, чтобы достичь такой скорости, пришлось серьёзно изменить конструкцию разъёмов и кабелей, при этом полной совместимости с предыдущими версиями достичь не удалось. Этот интерфейс целесообразно использовать для связи с высокоскоростными жёсткими дисками, если требуется частая пересылка файлов большого объёма. Но за ним, несомненно, будущее.
С логотипом «USB 2.0» связан один тонкий момент. Хотя предельная пропускная способность этого интерфейса 480 Мбит/с, в спецификации заложена и возможность его работы в режимах LS и FS. Таким образом, пропускную способность 480 Мбит/с могут обеспечить только устройства, способные работать в режиме HS.
Разработчики USB рекомендуют использовать логотип «USB 2.0» только для HS-устройств, но на рынке свои законы и многие производители используют этот логотип и для FS-устройств, удовлетворяющих, по сути, лишь спецификации USB 1.1. Другими словами, надпись на упаковке «USB 2.0» ещё ни о чём не говорит. Устройства, полностью удовлетворяющие этой спецификации, должны иметь маркировку «USB 2.0 HI-SPEED» и явное указание на возможность работы со скоростью 480 Мбит/с.
Сигнал, передаваемый по линии связи со скоростью 480 Мбит/с, представляет собой прямоугольные импульсы, следующие с частотой до 480 МГц. Любому мало-мальски сведущему в радиотехнике человеку понятно, что для неискажённой передачи прямоугольных импульсов такой частоты необходимо при разработке печатной платы жёстко соблюдать требования к волновому сопротивлению линий передачи между микросхемами и разъёмами и его постоянству по всей длине линии.
Волновое сопротивление двухпроводной дифференциальной сигнальной линии на плате должно быть 90 Ом ± 10%. Линия должна быть симметричной, а расстояние между ней и другими печатными проводниками на плате — не менее пятикратного расстояния между проводниками линии. Под ними с обратной стороны платы на всём протяжении должен быть сплошной слой фольги — экран (общий провод). Участки линии, на которых эти требования не выполняются (например, подходы к выводам микросхем или к контактам разъёмов), должны быть минимальной длины.
Типичные ошибки при трассировке таких линий связи показаны на рис. 1, где 1 — разрыв экрана под линией; 2 — отвод от проводника линии; 3 — непа-раллельность проводников и изменение зазора между ними; 4 — посторонний проводник рядом с линией.
Рис.1.
Ну и, конечно, нужно соблюдать обычные требования к монтажу высокочастотных цепей. Все проводники должны быть минимальной длины, а блокировочные конденсаторы располагаться как можно ближе к соответствующим выводам микросхем.
При взгляде на фотографии печатных плат покупных хабов видно, что в хабе DNS (рис. 2) эти требования более-менее соблюдены. Разработчики же безымянного хаба (рис. 3) применили в нём одностороннюю печатную плату, поэтому волновое сопротивление линий связи сильно отличается от стандартных 90 Ом и наблюдается высокая чувствительность к электромагнитным помехам.
Рис. 2.
Рис. 3.
В обоих хабах использованы одинаковые микросхемы-контроллеры USB-хаба FE1.1s. Сайт их производителя http:// www.jfd-ic.com/ доступен, к сожалению, только на китайском языке. Возможная схема включения этой микросхемы показана на рис. 4. Она отличается от типовой отсутствием светодиодных индикаторов активных портов и дополнительной микросхемы энергонезависимой памяти. Подробнее с характеристиками и особенностями микросхемы FE1.1s можно ознакомиться в [1] (на английском языке).
Рис. 4.
Чтобы проверить предположение, что плохая работа хаба вызвана игнорированием требований спецификации USB к топологии печатной платы, я разработал свой вариант платы. Чертёж печатных проводников на её условно верхней стороне изображён на рис. 5. Фольга на нижней стороне сохранена полностью, за исключением зенковки отверстий для выводов деталей, не соединяющихся с общим проводом. Расположение деталей на обеих сторонах платы — на рис. 6. В переходные отверстия (они показаны залитыми) вставлены отрезки лужёного провода, пропаянные с обеих сторон платы.
Рис. 5.
Рис. 6.
Геометрические размеры сигнальных линий для получения требуемого волнового сопротивления рассчитаны с помощью программы TX-LINE [2]. Она бесплатна и доступна для скачивания после регистрации на сайте. Программа не требует инсталляции, работа с ней интуитивно понятна.
Запустив программу и перейдя на вкладку связанных микрополосковых линий (coupled MS line), следует выбрать материал проводников линии — медь (copper), ввести диэлектрическую проницаемость (dielectric constant) стеклотекстолита, равную 5,5, и размеры линии. При толщине стеклотекстолита 1 мм, ширине печатных проводников 0,7 мм, расстоянии между ними 0,5 мм и толщине фольги 0,02 мм получаем на частоте 500 МГц волновое сопротивление около 93 Ом.
Все предназначенные для поверхностного монтажа пассивные элементы — типоразмера 1206 или 0805. Оксидные конденсаторы C1, C3, С5, кварцевый резонатор ZQ1 и разъём внешнего питания XS5 смонтированы со стороны сплошной фольги, остальные элементы — со стороны печатных проводников.
Если хаб будет использоваться только как пассивный (все подключённые к нему устройства будут получать питание от компьютера), то диод VD1 можно заменить перемычкой. При подключении к хабу устройств, потребляющих более 500 мА, питания от компьютера будет недостаточно. В этом случае перемычку следует удалить и, не устанавливая диод VD1, подключить к разъёму XS5 источник стабилизированного напряжения 5 В необходимой мощности.
Для эксплуатации хаба как в пассивном, так и в активном режиме без перепаек диод с барьером Шотки VD1 в нём должен быть установлен. Он исключит попадание напряжения внешнего блока питания в USB-порт компьютера.
В принципе, для уменьшения толщины платы все детали можно разместить со стороны печатных проводников, но без металлизации отверстий это усложняет монтаж. Если необходимо, можно изменить размеры платы и расположение разъёмов uSb, немного скорректировав рисунок печатных проводников.
Микросхему FE1.1 s я выпаял из своего семипортового хаба, но в Интернете её можно приобрести и отдельно. Это один из немногих контроллеров USB-хаба, выпускаемых в корпусе SSOP-28 с шагом выводов 0,64 мм. Плата под такой корпус вполне может быть изготовлена методом термопереноса рисунка на фольгу.
Испытывая изготовленный хаб, я обнаружил, что влияние электромагнитного излучения полностью исчезло, два из четырёх его портов великолепно работают с FLASH-накопителем и с жёстким диском с интерфейсом USB, но два других — только с мышью.
Пришлось выпаять из семипортового хаба второй контроллер и заменить им первый на самодельной плате. Теперь полноценно заработали три порта из четырёх. Причём перестал работать в режиме HS тот порт, который с первым контроллером функционировал без проблем.
В документации на микросхему FE1.1 s сказано, что все её экземпляры после изготовления проходят выходной контроль. Очевидно, бракованные экземпляры отправляются не в мусор, а к безымянным производителям. Либо контроллер имеет какие-то недокументированные варианты исполнения. Так или иначе, вариант с тремя полноценными портами USB 2.0 меня устроил.
Обращаю внимание, что практически все дешёвые хабы с разъёмом для подключения внешнего блока питания не имеют никакой развязки между цепями внешнего и внутреннего питания. Контакты питания всех разъёмов просто соединены между собой. В результате есть шанс вывести из строя USB-порт компьютера, подав на него напряжение внешнего блока питания, подключённого к хабу.
Если к приобретённому хабу предполагается подключение внешнего блока питания, нужно вскрыть корпус хаба и перерезать проводник, идущий от контакта 1 разъёма восходящего порта (того, который соединяют с компьютером). Для сохранения возможности использования хаба в пассивном режиме в это место можно впаять диод аналогично VD1 на схеме рис. 4. Он должен быть с барьером Шотки (для уменьшения падения напряжения) и с допустимым прямым током не менее 1 А.
Согласно спецификации USB 2.0, соединительный кабель должен быть обязательно экранированным. При покупке кабеля бывает, однако, сложно определить, есть в нём экран или нет. Единственное, что может свидетельствовать о наличии экрана — маркировка «USB 2.0 High Speed» на кабеле. Косвенным признаком служат помехоподавляющие ферритовые «защёлки» на его концах.
Однако ни маркировка, ни защёлки ничего не говорят о качестве экрана. В хорошем кабеле он должен быть из фольги, обёрнутой вокруг жгута проводов, поверх которой надет плетёный медный «чулок». Нередко производители удешевляют производство, используя вместо полноценного экрана несколько омеднённых стальных жил.
Качество экрана можно оценить, измерив сопротивление между металлическими корпусами разъёмов на обоих концах кабеля. Если оно близко к нулю, в кабеле полноценный медный экран. Если сопротивление 3…4 Ом и более — экран есть, но он из стальных проволок. Такой кабель обычно тоньше, но его использование в условиях электромагнитных помех может приводить к сбоям компьютера. Например, когда рядом с кабелем лежит сотовый телефон или поблизости работает любительский трансивер.
Если сопротивление между корпусами разъёмов бесконечно, значит, кабель не экранирован и для работы в режиме High Speed непригоден. В любом случае корпус разъёма не должен соединяться ни с одним из его контактов. Никакие самостоятельные пайки, сращивание проводов, экранирование или замена разъёмов в кабеле недопустимы.
Самый надёжный критерий выбора — прозрачная внешняя оболочка кабеля, через которую отчётливо просматривается качественная экранирующая оплётка. А если при этом на обоих концах имеются ферритовые защёлки, то такой кабель смело можно отнести к категории PRO.
Подытоживая сказанное, сформулирую основные критерии выбора хаба USB 2.0 для высокоскоростного обмена информацией:
— приобретать хаб лучше в розничном магазине, заранее оговаривая возможность его возврата или обмена на другую модель;
— на упаковку и корпус хаба должны быть нанесены логотип «USB 2.0 High Speed» и явное указание на возможность работы со скоростью 480 Мбит/с;
— сразу после покупки (а по возможности до неё) следует проверить работу всех портов хаба с высокоскоростным устройством, например с FLASH-накопителем USB 2.0;
— если для подключения устройств к хабу или хаба к компьютеру планируется использование соединительных кабелей, предпочтение лучше отдать тем хабам, у которых все разъёмы смонтированы на плате, поскольку торчащие «хвостики» с разъёмами почти наверняка не имеют экранов. В результате один конец экрана кабеля окажется никуда не подключённым, что может привести к сбоям при работе в режиме High Speed;
— если предполагается использовать хаб с внешним блоком питания, будьте готовы к тому, что потребуется доработка хаба, описанная выше;
— никакой защиты от перегрузки в дешёвых хабах нет, чтобы там ни было написано на упаковке. Предполагается, что она имеется в USB-портах компьютера. Полноценный хаб с защитой от перегрузки — это уже совсем другая ценовая категория;
— приобретайте высококачественный экранированный кабель с надписью «High Speed» на нём, по возможности с прозрачной внешней оболочкой.
Если ни одна из продаваемых моделей хабов не устраивает, сделайте его сами, как описано выше.
ЛИТЕРАТУРА
1. FE1.1s USB 2.0 High Speed 4-Port Hub Controller. — URL: http://www.jfd-ic.com/ Documents/FEI. 1 s%2oData%20Sheet%20 (Rev.%201.0).pdf (13.08.14).
2. TX-LINE: Transmission Line Calculator. — URL: http://www.awrcorp.com/products/ optional-products/tx-line-transmission-line-calculator (13.08.14).
Файл печатной платы в формате Sprint Layout 6.0 имеется здесь
Автор: Н. Хлюпин, г. Киров
Дата публикации: 19.11.2014
Мнения читателей
- Antimonil / 03.12.2017 — 19:20
Автор ты черт гребаный, ни на схеме ни в файле *.lay не стоИт маркировка первой ножки микросхемы, развел оказалась зеркальной, с@%ка предупреждать надо. - Дмитрий / 03.02.2017 — 15:33
Уважаемый автор, правильно ли было рассчитывать волновое сопротивление при помощи вкладки связанных микрополосковых линий (coupled MS line)? Разве по этим двум проводникам распространяются разные не сигналы (прием и передача)? На Ваш взгляд не было бы правильнее рассчитывать во вкладке Microstrip? - Роман / 09.03.2015 — 13:22
Заморочился созданием хаба на сей микрухе. Новые, непаяные, заказал у производителя. Есть баг, пока не прошьешь ИДдевайса и ИД производителя в ЕЕПРОМ — иначе, чем через еще 1 хаб комп не хочет работать. Вот играемся, будем шить еепромину. skype meffistoffel_romansv8
Вы можете оставить свой комментарий, мнение или вопрос по приведенному вышематериалу:
Как превратить «столетний» usb-хаб в «умный» управляемый и сэкономить при этом 300$
Как-то давно понадобился мне хаб, желательно с большим количеством портов и c достаточно удобной формой, пригодной для встраивания вместо флоппи-дисковода в отсек 3,5». Беглый просмотр барахолки подкинул модель D-link DUB-H7, да еще и в комбинации «2 по цене 1». Внешний осмотр ничего особенного не дал, хаб как хаб, сделан добротно, капитальный «принтерный» USB AM-BM на оборотной стороне и 3 А блок питания. Как всегда первым делом разобрал, порадовался малому количеству пустых мест вместо элементов вкупе с качественной пайкой и успокоился. Правда на всякий случай зашел в интернет посмотреть, а что это за хаб и есть ли интересные проекты с его участием. Проектов не оказалось, отзывы пользователей 50/50, в общем, никакой динамики. Хаб на протяжении 5-7 лет довольно сносно работал и выполнял свою задачу, потом плавно переместился в коробку для электронного хлама и вполне возможно сгинул бы в итоге вместе с безызвестными переходниками, адаптерами и т. п. Но произошло у меня в жизни событие, которое заставило-таки меня покопаться в мешках со старым барахлом, найти этот, как оказалось уникальный D-link, и стряхнув пыль извлечь его на божий свет. Если интересно послушать зачем — добро пожаловать под cut.
Intro или Плач о жадных производителях usb-хабов
С появлением маленьких удобных SoC роутеров (вроде любовно описанного мной в статье Руководство по доведению «до кондиции» клона популярного китайского мини-роутера Hame A15, он же «unbranded A5-V11» ) и повсеместного внедрения openwrt для управления сонмами устройств (в абсолютном большинстве случаев, это устройства подключаемые по USB) очень актуальной задачей становится задача управления электропитанием всевозможных модемов, картридеров, usb-rs232 преобразователей и т. д. и т. п. Найболее часто встречается необходимость управления портом при работе с GSM-модемами (для перезагрузки, например). В принципе, народ наработал уже достаточное количество решений. Для этих целей, начиная от использования свободных GPIO выводов в роутере, и заканчивая готовыми реле. Существуют решения и от сторонних производителей. Это например программируемый USB хаб на 4 порта от Acroname, который и в корпусе приятном и программным обеспечением богат, но стоит около 300$.
Есть вариант подешевле, умный переключаемый хаб с приятным названием Yupkit YKUSH всего лишь за 35€:
Самые же экономные могут использовать связку из самого дешевого usb хаба, нормально закрытого 5V реле, и любой из Arduino-к для отключения питания от usb порта в случае необходимости. Стоимость такого решения < 10$, без учета временных затрат на пайку и программирование Arduino.
Казалось бы тупик. Либо дорого и красиво, либо просто и на соплях неказисто. Но оказалось существует третий вариант. Притом решение старо, как сама спецификация USB 2.0 для хабов в которой оно описано.
Выдержки из спецификации, касающиеся управления питания USB
Self-powered hubs may have power switches that control delivery of power downstream facing ports but it is not required. Bus-powered hubs are required to have power switches. A hub with power switches can switch power to all ports as a group/gang, to each port individually, or have an arbitrary number of gangs of one or more ports. A hub indicates whether or not it supports power switching by the setting of the Logical Power Switching Mode field in wHubCharacteristics. If a hub supports per-port power switching, then the power to a port is turned on when a SetPortFeature(PORT_POWER) request is received for the port. Port power is turned off when the port is in the Powered-off or Not Configured states. If a hub supports ganged power switching, then the power to all ports in a gang is turned on when any port in a gang receives a SetPortFeature(PORT_POWER) request. The power to a gang is not turned off unless all ports in a gang are in the Powered-off or Not Configured states.
Although a self-powered hub is not required to implement power switching, the hub must support the Powered-off state for all ports. Additionally, the hub must implement the PortPwrCtrlMask (all bits set to 1B) even though the hub has no power switches that can be controlled by the USB System Software.
Переводя на русский, получается, что в стандарте USB уже прописана возможность управления питанием портов, с помощью т.н.
Чутко реагируя на запросы рынка некоторые производители указывают в спецификациях хабов функцию PPPS, но на деле дальше надписи на коробке дело не идет. И в принципе, придраться тяжело, ведь многие чипы внутри хабов эту функцию поддерживают, но вот реализовать ее без дополнительных переключателей (транзисторов) невозможно (чаще всего USB порты напрямую подключены к линии +5V).
Я даже разобрал специально несколько маленьких USB-хабов, которые планировал использовать совместно c A5-V11 роутером. Внутри оказались: чип GL850G и горяче любимый китайцами FE1.1s. Естественно внутри обнаружились только сами контроллеры с минимумом деталей. Ввиду миниатюрного размера платы поместить даже навесным монтажом транзистор и примкнувшие к нему детали тяжело. Пришлось это успокоится. Хотя, в зависимости от чипа, если в даташите встречается упоминание о over-current detection and Individual or ganged power control, то можно провести операцию по smart-изации такого устройства по методу описанному в статье. Товарищ использовал комбинацию из транзистора и кучки резисторов для включения функции PPPS в своем хабе.
Схема переделки и внешний вид устройства
Также читая документацию, ловишь себя на том, что в ней нет-нет да и встречается упоминание о том, что режим управления портами можно реализовать, добавив дополнительно в схему какой-нибудь AIC1526-0 или MIC2026 (Dual-channel power distribution switch).
Схемы из даташитов не дадут соврать
Часть основная или переходим к сути
Обуреваемый невеселыми мыслями по поводу покупки китайских хабов с неизвестным функционалом («кота в мешке») и невозможности предварительной их проверки, я нечаянно натолкнулся на статью, посвященную настройке openwrt для управления питанием USB-хаба, притом в качестве примера приведен тот самый, заброшенный и забытый
Изучив матчасть стало ясно, что на борту хаба помимо достаточно продвинутого контроллера Philips ISP1521BE есть и целая куча тех самых dual-channel power distribution switch AIC1528-0 для полноценного переключения питания. Хотя судя по даташиту, чип с минимальным обвесом сам может управлять питанием downstream портов (а еще там много чего, как оказалось, не реализовано, например индикация активности upstream порта с помощью технологии GoodLink, или хост USB 1.1 для корректной поддержки смеси 2.0 и 1.1 на downstream портах и т.д. и т.п.).
Кстати, для тех, кто решится повторить пройденный мной путь, сразу скажу, что современные версии D-Link DUB-H7 (в черном глянцевом корпусе) уже не так полезны, как старички серого цвета.
По информации с wikidevi.com (1,2,3,4) существует несколько ревизий данного хаба, с различным набором компонентов на борту, и соответственно с различным функционалом (А1/A5 — ISP1521BE 7-port, B1-2xGL854G 4-port, C1 — 2xGL850Z 4-port).
Внимание на D-Link DUB-H7 обращено еще и потому, что помимо его неплохого функционала, это еще и самый доступный (как по цене, так и по распространенности) в наших краях вариант. Из моделей, которые могли упоминаться попутно с «Per-Port Power Switching» можно дополнительно отметить, например, такие:
- Linksys USB2HUB4 USB 2.0 hub.
- D-Link DFB-H7 Combo Hub
- Elecom U2H-G4S
- Sanwa Supply USB-HUB14GPH
- Targus Inc. PAUh312
- Hawking Technology Uh314
Мне искать упомянутые устройства не довелось, потому что когда-то повезло с версией ревизии A5. Правда сейчас, если бы пришлось покупать такой хаб, я бы постарался найти ревизию B1, потому что помимо управления питанием портов, чип, на котором она построена (GL854G) имеет внутри такую штуку, как
Важность наличия Multi Transaction Translator (MTT) в USB хабе
Небольшое отступление для того, чтобы расказать, что такое этот Multi Transaction Translator (MTT) и почему он так важен и нужен. Передатчик операции (англ. transaction translator, TT) является важным компонентом любого высокоскоростного хаба, который обеспечивает связь между upstream и downstream портами концентратора, особенно в случае, когда эти порты работают на разных скоростях передачи данных. Фактически, TT отделяет низко- и среднескоростные устройства, от высокоскоростных (сугубо USB 2.0, например) и отвечает за работу на скоростях USB 1.1.
Передатчик операции может быть двух видов — одинарным (англ. Single Transaction Translator, STT) или множественным (англ. Multiple Transaction Translator, MTT). В случае STT используется один передатчик для всех портов, а в случае MTT — у каждого порта свой передатчик. Понятно что первый вариант более дешевый и простой, откуда происходит и основной недостаток такого варианта — в случае подключения к хабу нескольких USB 1.1 портов все они будут работать через одно-единственное «бутылочное горлышко». Думаю можно представить что будет со скоростью обмена.
Говоря простым языком, STT-хабы имеют ограничение на количество устройств, которыми можно пользоваться одновременно. В противном случае это чревато потерей пакетов из-за конфликтов в планировании передачи данных, перегрузкой хаба (особенно в случае использования активно обменивающихся данными устройств, вроде звуковых карт) и т.п. Поэтому лучше при выборе хаба сразу ориентироваться на устройства с MTT, а не искать потом причину нестабильности в работе. Если хаб уже имеется, и он, к несчастью, оказался с STT, то остается только внимательно проверить стандарты подключенных к хабу устройств и, по возможности, сократить количество подключенных USB 1.1 до одного.
К сожалению, абсолютное большинство недорогих хабов, построенных на бюджетных чипах (fe1.1s, GL850G, и ISP1521BE моего A5 хаба) на борту имеют STT, более дорогие и продвинутые (GL852G, GL854G (B1 ревизия обсуждаемого D-link DUB-H7), GL3520, VL812, VL813, SMSC USB2514) работают под управлением MTT.
Проверить тип передатчика операции можно либо прочитав даташит на чип (но часто китайцы не могут или не хотят сообщать марку чипа), либо подключив хаб к компьютеру с *nix и выполнив команду lsusb -v и найдя кусок служебной информации, относящийся к исследуемому хабу (по названию). В строке DeviceProtocol будет указано либо Single TT либо Multi TT. Ясно, что покупать лучше только с Multi 🙂
Описание характеристик хаба выданное командой lsusb
Bus 001 Device 005: ID 2001:f103 D-Link Corp. DUB-H7 7-port USB 2.0 hub
Couldn’t open device, some information will be missing
Device Descriptor:
bLength 18
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x2001 D-Link Corp.
idProduct 0xf103 DUB-H7 7-port USB 2.0 hub
bcdDevice 1.00
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
При запуске команды lsusb -v -t можно увидеть симпатичную иерархическую структуру подключенных usb-устройств.
Вместо lsusb можно использовать утилиту hwinfo с ключем —usb (ее желательно предварительно установить через sudo apt-get install hwinfo). Тогда вывод информации о usb устройствах будет выглядеть немного иначе:
Информация выдаваемая hwinfo
lab@lab-G:~$ hwinfo —usb
23: USB 00.0: 10a00 Hub
[Created at usb.122]
Unique ID: zFuK.sOcBcpBDhs4
Parent ID: k4bc.9T1GDCLyFd9
SysFS ID: /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0
SysFS BusID: 1-8:1.0
Hardware Class: hub
Model: «D-Link DUB-H7 7-port USB 2.0 hub»
Hotplug: USB
Vendor: usb 0x2001 «D-Link»
Device: usb 0xf103 «DUB-H7 7-port USB 2.0 hub»
Revision: «1.00»
Driver: «hub»
Driver Modules: «usbcore»
Speed: 480 Mbps
Module Alias: «usb:v2001pF103d0100dc09dsc00dp01ic09isc00ip00in00»
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #21 (Hub)
В общем, кратенько с особенностями работы низкоскоростных устройств разобрались и теперь самое время перейти к программной части.
Управляем питанием USB-портов
Cкажу сразу, найти способ реализации функционала PPPS в среде Windows мне не удалось (хотя бы из праздного интереса). Максимум — включить/отключить устройство с помощью утилиты devcon. Буду рад, если кто-то из читателей поправит и дополнит. А пока же все процедуры проводятся на примере Ubuntu (в случае openwrt – алгоритм аналогичен, хотя в последних trunk-ах она уже должна быть включена в состав «дистрибутива»).
Итак, возможность Per-Port Power Switching (PPPS) или «попортового переключения питания» реализуется на хабах с аппаратной поддержкой этой функции с помощью программы hub-ctrl или ее потомка uhubctrl. Рассмотрю их по-очереди.
HUB-CTRL
Программа написана японским борцом за независимость инженером Niibe Yutaka в далеком 2006 году. Но работает без проблем и сейчас. Для установки нам понадобится любой *nix и библиотека libusb-dev. На примере Ubuntu 16.04 LTS алгоритм следующий:
Устанавливаем доп. пакеты: sudo apt-get update && sudo apt-get install libusb-dev git gcc Скачиваем исходники: git clone https://github.com/codazoda/hub-ctrl.c Комплируем с помощью gcc: cd hub-ctrl.c && gcc -o hub-ctrl hub-ctrl.c -lusb
В случае недоступности адреса, можно вручную закачать исходники отсюда или отсюда и скомпилировать описанной выше командой.
У программы достаточно простой синтаксис командной строки, укладывающийся в следующее описание:
./hub-ctrl [{-h HUBNUM | -b BUSNUM -d DEVNUM}] \ [-P PORT] [{-p [VALUE] | -l [VALUE]}]
где HUBNUM — номер хаба, BUSNUM-номер шины, DEVNUM-номер устройства, PORT-номер порта
Для того, чтобы узнать эти параметры, достаточно запустить команду lsusb:
Кстати, программа hub-ctrl может выступать в качестве своеобразного «пробника» usb-хаба на факт наличия в нем способности к управлению питанием портов. Достаточно ее запустить с ключом -v. Получаем список имеющихся в системе поддерживаемых хабов (строка INFO) и состояние портов (в моем случае все порты выключены).
lab@lab-G:~/hub$ sudo ./hub-ctrl -v
Hub #0 at 001:006
INFO: individual power switching.
WARN: Port indicators are NOT supported.
Hub Port Status:
Port 1: 0000.0000
Port 2: 0000.0000
Port 3: 0000.0000
Port 4: 0000.0000
Port 5: 0000.0000
Port 6: 0000.0000
Port 7: 0000.0000
А вот так будет выглядеть конфигурация, когда все порты включены:
lab@lab-G:~/hub$ sudo ./hub-ctrl -v
Hub #0 at 001:006
INFO: individual power switching.
WARN: Port indicators are NOT supported.
Hub Port Status:
Port 1: 0000.0100 power
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Port 5: 0000.0100 power
Port 6: 0000.0100 power
Port 7: 0000.0100 power
Чтобы включить какой-то из портов нужно выполнить команду sudo ./hub-ctrl -h 0 -P 1 -p 1, где -h указывает какой хаб используем (0-й в моем случае), -P говорит какой порт (1-й порт в моем случае), а -p указывает на состояние (0-выключен, 1-включен).
Чтобы получить конфигурацию как на картинке выше, понадобилось последовательно выполнить следующие команды (для изначально отключенных портов):
sudo ./hub-ctrl -h 0 -P 2 -p 1
sudo ./hub-ctrl -h 0 -P 4 -p 1
sudo ./hub-ctrl -h 0 -P 6 -p 1
Соответственно, не сложно написать скрипт, который заставит for fun мигать светодиоды в нужной последовательности. Примеры таких вещей уже есть и успешно функционируют:
азбука Морзе на usb-хабе, елочные гирлянды и т.д. и т.п. Мне вот из возможностей hub-ctrl не хватило функции циклического включения для реализации своих сиюминутных светотехнических фантазий (чтобы не тратить время на написание скрипта ну и т.п.). Этот досадный недостаток устранен в преемнике — uhubctl.
UHUBCTL
Программа uhubctl представляет из себя оптимизированный аналог hub-ctrl и обладает некоторыми косметическими отличиями (ну и конечно же поддерживает большее количество устройств).
С uhubctl работают:
Теоретически, утилита может быть скомпилирована для запуска в среде windows, но… Но пока взаимодействует она с утройствами через драйвер winusb.sys, который не может обращаться напрямую к хабу. Также в программе заявлена поддержка USB 3.0 (хабов USB 3.0 поддерживающих Per-Port Power Switching, кстати, намного больше чем хабов USB 2.0 с аналогичным функционалом). При работе с USB 3.0 хабом, подключенным к USB 3.0 upstream-порту, программа определяет его как два независимых виртуальных хаба: USB 2.0 и USB 3.0, а уже сами USB-устройства будут подключены к одному из них в зависимости от их возможностей и скорости соединения. Соответственно, для управления такими устройствами программа по-умолчанию включает/отключает питание на виртуальных хабах (перевести утилиту в ручной режим можно добавив в команду запуска ключ -е).
Важно: некоторую путаницу может вызвать система адресации для USB-портов (она схожа для hub-ctrl и uhubctl). При работе использует тот же метод адресации аналогичный таковому в ядре Linux: b-x.y.z, где b — номер шины USB, а x, y, z — номера портов цепочки узлов, начиная с корневого USB-хаба для данной шины. Если имеется больше чем один управляемый USB-хаб, определить правильные параметры можно запустив uhubctl с параметром -l (location). Отмечу, что эта адресация является полустабильной — она не изменится, если вы отключите и подключите USB-устройства обратно к одному и тому же физическому порту.
Алгоритм компиляции программы аналогичен алгоритму для hub-ctrl. За тем только исключением, что дополнительно нужно установить библиотеку libusb-1.0 (версия 1.0.12 или позднее) привычной командой sudo apt-get install libusb-1.0-0-dev, а затем скомпилировать бинарик командой make.
Синтаксис запуска программы следующий
uhubctl -a off -p 2
Эта команда отключает питание (-a off, или -a 0) на порту 2 (-p 2). Поддерживаемые команды off/on/cycle (или 0/1/2). Ключ cycle отключает питание, выжидает некоторое время (определяется ключом -d) и включает его обратно. Т.е. теперь хаб запросто для мигания может заменить микроконтроллер.
Что из этого всего следует, или Выводы
А следует из этого то, что «секрет» в старом хабе от D-Link все-такие есть. Использование описанной технологии (PPPS) вполне обосновано при необходимости удаленного управления массивом устройств, подключенных к шине USB. Более того, способ этот уже используется для отключения жестких дисков, веб-камер и GSM-модемов (таких как на картинке):
Хотя, что касается модемов и упомянутого мной D-link DUB-H7, то есть люди, которые подвергают сомнению работоспособность такой связки (при работе с программой hub-ctrl).
Причина заключается в том, что…
«… эксперименты с использованием Dlink DUB H-7 показали, что hub-ctrl -p 0 понижает напряжение только до уровня 1.47V. При этом после вставки модема в такой «выключенный порт» светодиод не моргает, однако файлы /dev/ttyUSBx для данного модема в системе появляются. Они даже могут быть открыты. Однако запись команд и чтение ответов из этого порта не заканчиваются успехом.»
Описанные в статье утилиты (lsusb, hwinfo, hub-ctrl) могут выступать отличным подспорьем при выборе очередного USB-хаба, особенно, если нет доступа к просмотру внутреннего устройства. На хабре уже описывались пользовательские идеи и ожидания от идеальных usb-хабов (здесь и здесь). Описанные алгоритмы проверки существующих хабов, на мой взгляд, отлично дополнят и разбавят описанные авторами подходы. Ну и так, вдогонку, герой моей статьи (D-link DUB-H7 ver. A5) на мой взгляд очень неплохо выглядит с точки зрения схемотехнических решений. На сим, пожалуй, откланяюсь 🙂
P.S. Вдогонку вопрос к членам хабра-сообщества, у которых вдруг совершенно случайно завалялся такой же как у меня D-link DUB-H7 в сером корпусе.
Что за детали установлены на обведенных позициях (а может быть кто-то даже видел схему)? Особенно интересуют элементы RP1…RP2 (подозреваю на резисторную сборку из 0-х cопротивлений).
Дополнение: если вдруг кому-то понадобится дамп прошивки микросхемы EEPROM 24C02, то выглядит он вот так:
Важно! Все обновления и промежуточные заметки из которых потом плавно формируются хабра-статьи теперь можно увидеть в моем телеграм-канале lab66. Подписывайтесь, чтобы не ожидать очередную статью, а сразу быть в курсе всех изысканий 🙂
Список использованных источников
FE1.1, FE2.1 или что нам стоит USB HUB построить
Лирическое отступлениеОднажды возникла у меня на работе задача встроить USB HUB в уже имеющееся устройство. Первая мысль была — заказать некоторое кол-во готовых хабов у наших китайских друзей, и лишив их корпуса, впихнуть в корпус собственно конечного устройства. Но этот вариант был отметён по причине абсолютного отсутствия места, да и как то всё таки кривое решение. Тогда было решено встроить USB HUB в уже имеющеюся печатную плату. Благо места на плате для этих действий было достаточно.
Порыскав на предмет того, на основе какой микрухи можно построить USB 2.0 High Speed USB HUB, наткнулся на очень вкусные по цене микрухи FE1.1 и FE2.1, отлчие у которых только в количестве портов хаба — 4 и 7 соответственно.
Отмазки
В приведённых примерах не будет реализована защита от перегрузки по току USB порта, хотя микруха это тоже умеет. Мне это было не надо. Если вам будет интересно, то в даташите схемы даны. Всё будет рассмотрено на примере микросхемы FE1.1 (не путать с FE1.1S, хотя там тоже всё просто. FE1.1S является самой урезанной по всем параметрам в этой линейке), FE2.1 отличается только кол-вом портов.
Ну к сути.
Суть
Микросхема FE1.1 представляет из себя однокристальный USB HUB, которому для работы надо минимум деталей. А именно кварц на 12МГц, пару конденсаторов и несколько резисторов.
Возможности
- USB 2.0 High Speed, а именно до 480Мбит в обе стороны.
- Возможность контроля потребления USB девайсов. В зависимости от микрухи, контролирует либо каждый девайс отдельно, либо группами.
- Встроенные стабилизаторы 1,8в и 3,3в. И ещё много чего, в даташите сами сможете почитать.
Одна из приятностей данной микросхемы — цена. У наших китайских друзей на АлиЭкспрессе цена на неё начинается от 20р за шт.
Распиновка
FE1.1 выпускается в корпусах LQFP48 и QFN48, отличие в распиновке не наблюдаются.
Строим HUB
И так, заказав данные микросхемы я по быстрому набросал схему хаба, вот такую:
Как видно, микруха сама в себе, вот только между собой много ног надо соединить.
Очень важно обратить внимание на такие вещи:
- Подтяжка ножки XRSTJ. В даташите нет требования подтянуть эту ногу, но по факту без подтяжки хаб легко сбрасывается дуновением электромагнитных ветров.
- Подтяжка ножек OVCB (на некоторых микрухах этой серии называются OVCJ). Это ноги, ответственные за сигнализацию потребления девайсом слишком большого тока. Если их оставить в воздухе, то периодически HUB будет писать, что питание девайса плохое, и вам придётся хаб «передёргивать». Ноги эти можно подтянуть как по отдельности резюками 10к-100к, так и все одним резюком 10к-100к. Я лично делал и так и так, разницы в работе не заметил.
- Номинал резистора подтяжки ножки REXT. Он должен быть именно 2,7k, и никак иначе. С другими номиналами хаб работать отказывается.
Опыт использования
На самом деле, хаб выполненный по данной схеме работает без каких либо нареканий. На некоторых форумах я встречал описания проблем при применении хабов на данных микрухах, такие как периодический сброс хаба, и сигналы о перегрузке, но как описано выше, причину их мне вроде бы удалось найти. Девайс с хабом построенным по схеме приведённой выше работает уже больше года без нареканий.
Ещё отмазки
На самом деле как мне кажется, мало кому из электронщиков часто надо самостоятельно изготовить USB HUB. Но если задача возникла такая, вот решение дешёвое и сердитое:)
Даташит на FE1.1, FE2.1 и схематика для FE1.1 в прикрепленном архиве.
Сайт производителя
Доработка USB-концентратора — RadioRadar
Бытовая техника
Главная Радиолюбителю Бытовая техника
Для увеличения числа USB-портов персонального компьютера, ноутбука, планшетного компьютера или современного телевизора применяют внешние USB-концентраторы (их ещё называют USB-хабами). С этой целью, а также для уменьшения вероятности повреждения дорогостоящей аппаратуры из-за неисправности подключаемого устройства были приобретены два безымянных концентратора (рис. 1), рассчитанных на подключение четырёх устройств. Кроме USB-розеток, они имеют встроенный выключатель питания, светодиодный индикатор включения и гнездо для подсоединения внешнего источника питания с выходным напряжением 5 В постоянного тока (в комплект не входит).
Рис. 1
При эксплуатации устройств выявились их некоторые недостатки. Оказалось, что оба средних USB-порта работают хуже крайних; при подключении к концентратору внешнего источника питание от USB-порта компьютера или другого устройства не отключается, поскольку установлено гнездо питания без размыкателя; наконец, светодиод светит излишне ярко.
Для устранения этих недостатков концентратор был разобран (для этого достаточно вывинтить два шурупа-самореза). Устройство собрано на интегральной микросхеме, обозначенной как LG347086212C. При осмотре печатной платы оказалось, что блокировочные конденсаторы EC1-EC3 (позиционные обозначения указаны на плате), место для которых на ней предусмотрено, отсутствуют. Ёмкость установленного в цепи питания керамического блокировочного конденсатора оказалась всего около 4,3 мкФ, что заведомо мало для подобных устройств.
Рис. 2
Фрагмент схемы доработанного концентратора изображён на рис. 2. Позиционные обозначения вновь введённых элементов начинаются с префикса 1, остальные соответствуют надписям на плате. На предусмотренные производителем места были установлены оксидные конденсаторы EC1-EC3 ёмкостью 22 мкФ. Для уменьшения вероятности повреждения концентратора при повышенном напряжении внешнего источника питания или его «переполюсов-ке» введён защитный стабилитрон 1VD1, а чтобы понизить яркость свечения светодиода LED, резистор R6 (330 Ом) заменён резистором сопротивлением 1,2 кОм.
Блокировочные конденсаторы EC1 — EC3 — малогабаритные оксидные алюминиевые или танталовые ёмкостью 22-47 мкФ в корпусе высотой не более 8 мм. Взамен стабилитрона КС156А можно применить КС156Г, 2С156А, КС456А, 1N4734A, 1N5339. При возникновении аварийной ситуации, например, из-за короткого замыкания, возможно срабатывание самовосстанавливающихся предохранителей, установленных на системной плате компьютера. Поскольку такие предохранители обычно рассчитаны на ток 1,6…3,6 А, что немало, возможно также повреждение соединительного USB-провода. В старых компьютерах для защиты USB-портов и источника питания от перегрузки на системных платах могут быть установлены не полимерные самовосстанавливающиеся предохранители, а одноразовые плавкие. Из-за отсутствия гнезда с встроенным переключателем пришлось изменить схему включения питания. Теперь при работе концентратора от внешнего источника питание от USB-порта компьютера можно отключить выключателем SA1. К печатным контактам для подключения идущих от выключателя проводов припаян дроссель 1L1 (любой малогабаритный индуктивностью 22.100 мкГн и сопротивлением постоянному току не более 0,04 Ом), который совместно с блокировочными конденсаторами образует LC-фильтр напряжения питания. В завершение после внимательного осмотра платы были устранены дефекты нескольких паек выводов USB-розеток к печатным проводникам. Вид на монтаж доработанного устройства показан на рис. 3.
Рис. 3
Выявился и ещё один недостаток концентратора. Дело в том, что для соединения его с компьютером применён неэкранированный четырёхпро-водный кабель длиной примерно 550 мм, на котором при подключении к концентратору нагрузки, потребляющей ток 0,5 А, падает около 0,5 В. Для устранения этого недостатка кабель следует заменить, купив, например, для этой цели удлинитель USB 2.0, в котором провода питания (обычно в изоляции красного и чёрного цветов) имеют больший диаметр и, следовательно, меньшее сопротивление. Если возможности приобрести такой кабель нет, то имеющийся следует укоротить до 100.150 мм.
Для питания подключаемых к Для питания подключаемых к универсальному USB-концентратору устройств подойдёт любой источник с выходным постоянным напряжением 4,9.5,25 В, рассчитанный на максимальный ток нагрузки 1.1,5 А, например, сетевой адаптер TESA5-0035015dV-B, входящий в комплект мобильных устройств (планшетных компьютеров, электронных книг) фирмы Texet с большим ЖК-экраном.
Дополнительное внешнее питание может потребоваться, если к концентратору будут подключены устройства с большим потреблением тока от USB-порта, например, внешний жёсткий диск, планшетный светодиодный сканер, внешний USB-привод чтения/записи оптических компакт-дисков.
Автор: А. Бутов, с. Курба Ярославской обл.
Дата публикации: 15.11.2013
Мнения читателей
Нет комментариев. Ваш комментарий будет первый.
Вы можете оставить свой комментарий, мнение или вопрос по приведенному вышематериалу:
Честный USB 2.0 хаб (в паре с блоком питания 5V 2A)
Здравствуйте, дорогие друзья! Как и обещал, продолжаю цикл обзоров про хабы с честным usb 2.0. В этой части соединяем хаб с уже описанным ранее блоком питания. Фото и полевые испытания под катом:)По поводу блока питания писал тут, кто не успел вылить тонны ненависти, поругать китайцев за хитрость, автора за расточительность, прошу: mysku.ru/blog/aliexpress/11673.html
Мой обзор про хаб другой конструкции тут: mysku.ru/blog/aliexpress/10638.html
Это хаб покупал со скидкой 7%, сейчас если еще не кончилась есть скидка 10% в честь праздников.
Доставка за 22 дня
Выполнен из белого пластика, очень стильно смотрится, размеры соответствуют описанию на сайте:
Внутри контроллер с честным USB 2.0 как и положено, пайка конечно не ювелирная, но для такой цены нормально. Производители забыли или не захотели паять конденсаторы на плату, в принципе, работает и без них:)
Как уже стало традицией для хабов в моих обзорах, для фильтрации пульсаций с БП и для большей стабильности работы и как профилактика возможных будущих отваливаний, впаиваю недостающие конденсаторы:
Без питания хаб держит не более 3 флешек одновременно, флешки 4-8 гб, крупных скоростных к сожалению нет, а на тех что есть скорость через хаб и без него одинаковая:
С блоком питания хаб раскрывает всю свою мощь, как положено, все 7 портов работают:
Замер напряжения без подключения к компьютеру (5.34V), блок питания справляется с нагрузкой:
Хаб подключен к компьютеру, флешки опознаны, без копирования (5.06V):
Во время копирования по всем флешкам одновременно (5.00V):
Скорость в двух режимах копирования, флешки на паузе, только жесткий диск:
Скорость копирования (в хабе только флешки):
Скорость (копирование на все устройства):
И на сладкое, тест хаба с планшетом Onda vi40D, 6 флешек, 1 жесткий диск, все работает, андроид их опознает как носители и открывает содержимое, мышку втыкал, тоже работает:
Плюсы покупки:
1) Честный USB 2.0
2) Стильный дизайн, тонкий корпус
3) Возможность апгрейда
4) Стабильная работа по всем 7 портам
5) Самая низкая цена
6) Совместим со всеми ОС, проверил: Windows xp, 7, vista, android
Минус заметил только один, невозможно впихать в такой корпус «по настоящему» мощные конденсаторы на 1000 mF и больше:)
Хаб справляется со всеми своими функциями, рекомендую к приобретению.
Спасибо за внимание, всем успешных предновогодних закупок!
Port 0004 USB 2.0 Hub
Хаб — концентратор ввода-вывода (англ. I/O Controller Hub, ICH).Куплен задешево, в основном, чтобы вникнуть в детали и оценить потенциальные возможности хабов вообще и приобретенного в частности.
Для тех, кого эти вопросы не интересуют, а интересует только покупка данного хаба, мой вывод:
— устройство допускает одновременную работу с 4 флешками.
— подключать внешние диски и заряжать гаджеты можно, но только с модернизацией цепи внешнего питания (если дочитаете до конца, то сможете сделать за час).
Не ошибусь, если скажу, что большинство покупателей, приобретая хаб, наивно предполагают получить выгоду в виде копии одного USB порта в несколько подобных и не задумываются, что эти копии даже в самых крутых устройствах хуже оригинала. Их может ждать разочарование.
Почему так складывается, можно узнать под катом.
Приобретенный хаб представляет из себя пластмассовую коробочку 10х3.5х2 см. Присутствуют 4 USB 2.0 порта, 4 выключателя питания портов и 4 индикаторных светодиода. На вход хаб подпаян 4-жильный USB кабель длиной 55 см. Все жилы кабеля одинаковые — по 4 нитки провода толщиной с человеческий волос. Есть разъем 3.5х1мм для подключения внешнего питания.
Нижняя пластина хаб закреплена на защелках и легко отделяется. Плата лежит на пластмассовых стойках нижней пластины.
Вся разводка выполнена на нижней стороне платы.
Плата отмыта и неравномерно покрыта лаком. Управляющий чип LG3J450A… На плате есть отверстия для четырех электролитов. На электролитах сэкономили. Защитные элементы отсутствуют. Токовые дорожки шириной от 0.5 мм и более. Схема имеет общий минус по питанию. Корпуса всех разъемов подсоединяются к общему минусу (но не пропаяны!) и держаться только за счет контактов. Это следует исправить, если использовать прибор по назначению. С другой стороны, если разбрасывать прибор на запчасти, то это даже удобно. У меня такая мысль была, когда заказывал хаб — не будет работать, так получу неплохой набор для поделок (разъемы, выключатели, кабель). Но, потом выяснилось, что не все так печально, хотя сама плата выполнена с максимальной экономией на элементах и работе.
Учитывая такую схемотехнику, решил не рисковать и первое подключение сделал не к ноуту, а к зарядному устройству. Пощелкал кнопками — кнопки работают, диоды загораются. За 10 минут никаких неожиданностей не произошло.
Нагружаю хаб по полной — 3 флешки класса 10 и жесткий диск Transcend. Подключаю хаб к USB ноута с напряжением холостого хода 5.12 В.
В файловом менеджере вижу 3 флешки — это хорошо. А внешний диск не определился — это плохо и есть повод для разбирательства.
Свое любопытство удовлетворяю четырмя тестами со своими выводами.
Тест 1.
Анализирую состояние цепей обмена данных.
Подключаю 3 флешки класса 10 и жесткий диск Transcend. Ток от ноута 0.6 А, напряжение на входе USB портов хаб 4.40 В. Флешки определяются и работают. Ток, потребляемый флешками не превышает 0.06 А. Подводимая мощность 0.6 х 4.40 = 2.65 Вт. А потребляемая одной флешкой мощность равна 0.26 Вт. Как видим, запас по мощности почти 10-кратный, поэтому проблем с питанием флешек нет. Но не забываем, что при совместной работе четырех флешек мы получаем четырехкратное снижение скорости передачи данных.
Сразу проверяю скорость чтения/записи флешки ноутом без хаба и с ним.
Здесь все в порядке — потеря на записи всего 0.4МБ/c. Чтение/запись файла 4Гб между парой флешек дает значения 14/8 МБ/c. Для двухканального обмена данными результат ожидаемый, и, по логике, при совместной работе четырех флешек мы получаем более, чем четырехкратное снижение скорости передачи данных. Такие реалии тиражирования USB портов и они могут многим не понравиться.
Если говорить о полученном из теста результате, то делаю первый вывод — канал передачи данных функционирует нормально даже при напряжении 4.4 В. В этой части хаб работает.
Тест 2.
Анализирую, почему не определяется жесткий диск.
Подключаю только жесткий диск. Напряжение на входе USB порта хаба 4.5 В. Ток через диск 0.27 А. Диск не определился. Вероятно, при таком напряжении и не стоило ожидать другой результат. Диск не флешка. Он не всегда запускается даже при прямом питании от компа. К нему в качестве подстраховки прилагается Y кабель, чтобы подключаться по питанию к двум портам. Попробую внешний источник питания, может подниму напряжение.
Подключаю павербанк к вводу внешнего питания хаба. Напряжение на входе USB порта хаба поднялось до 4.75 В. Ток через диск по-прежнему 0.27 А. Потребляемая диском мощность 0.95 Вт. Но диск не запускается. Это уже никуда не годится. Неужели можно ставить крест на возможности подключения жестких дисков даже при внешнем питании?
У меня диск запускается при прямом подключении к ноуту, поэтому есть возможность оценить, какую мощность ему необходимо подводить для нормальной работы. Подключаю, делаю замеры:
напряжение 5.03 В, пусковой ток 0.6 А, рабочий ток 0.47 А. Т.е., необходима подводимая мощность 3 Вт, а никак не 0.95 Вт, которую предлагают хаб и павербанк.
Вывод напрашивается сразу — есть проблема с рассеиванием мощности внутри хаба. Нужно разобраться с сопротивлениями цепи питания USB портов.
Тест 3.
Анализирую распределение сопротивлений цепи питания.
Разбираю хаб, чтобы получить доступ ко всем элементам схемы, запитываю его от блока питания током 0.9 А, делаю контрольные замеры напряжений и рассчитываю сопротивления элементов цепи. Результаты представлены на схеме.
Смотрим слева направо на зеленые стрелки:
— Сопротивление USB разъема и 0.5 м кабеля — 0.44 Ом (печаль — у «нормальных» кабелей оно в 3 раза меньше и поэтому не удивительно, что их делают к тому же в 2 раза короче).
— Сопротивление цепи питания хаба (дорожки 10 см + выключатель) — 0.77-0.44 = 0.33 Ом. Плохо, нужно уменьшать, поскольку здесь кроется также причина отказа запуска жесткого диска от внешнего источника питания.
— Сопротивление USB контакта 0.94-0.77 = 0.17 Ом. Тут ничего не поделаешь.
Приведенная схема позволяет делать расчеты различных режимов эксплуатации хаба.
Например, расчет показывает, что даже если бы удалось вдвое уменьшить сопротивление цепи USB ноута — кабель — включатель — USB порт хаба (что непросто), то при токе от одиночного USB порта компьютера 0.5 А, просадка напряжения на хабе будет 0.24 В. В этом случае на выходе получим 4.76 В или 2.38 Вт, что недостаточно для запуска жесткого диска без внешнего питания.
Поскольку вдвое уменьшить сопротивление всей цепи питания практически маловероятно, то делаю «безнадежный» вывод — при подключении через свой кабель данный хаб не позволяет запускать внешние жесткие диски и заряжать гаджеты.
Во втором тесте мне не удалось запустить жесткий диск даже при подаче внешнего питания, что по началу вызвало удивление. Почему павербанк не смог предоставить нужную мощность жесткому диску? Теперь пришла очередь для проверки цепи внешнего питания. Подозрения вызывают входной разъем 3.5 мм и включатели. Провожу новый тест.
Тест 4.
Вношу изменения в схему питания хаба от внешнего источника.
В цепи внешнего питания есть 2 элемента, которые ведут себя непредсказуемо. Это хлипкий 3.5х1 мм разъемчик (Р) и замыкающий цепь включатель (К), на которых из-за плохих контактов возникают перепады напряжения. Шатаю штекер разъема — напряжение меняется. Замеряю сопротивления замкнутых включателей. Вместо ожидаемого нуля, получаю значения от 0.1 до 0.7 Ом. Принимаю решение подавать питание непосредственно на контакты двух USB портов в обход этих элементов через кабель с сечением жил 1 квадратный миллиметр. К кабелю подпаиваю надежный USB разъем (папа), чтобы иметь возможность коммутироваться с павербанком и зарядками. Подключение кабеля показано на схеме внутри хаба штриховыми синими линиями.
Выполняю запуск жесткого диска через хаб. Диск определился! Добавляю еще 3 флешки — все работает штатно.
Теперь с внешнем питанием я могу подключать к хабу как жесткие диски, так и гаджеты на подзарядку.
Что я не рискнул сделать, так попробовать подключать внешнее питание хаба от сетевого блока. По логике, если корпус USB порта соединен с общим проводом, то напряжения межжу сетевым БП, хабом и ноутом должны выравниваться уже на этапе втыкании USB штекера. Я проверил у ноута — там тоже корпус USB соединен с общим проводом. Но, повторяю, не рискнул, и пользовался только павербанком, хотя это не совсем удобно при наличии парка зарядок. Хотелось бы получить дельный совет по этому поводу.
Оглядываясь на проведенную работу, вижу, что делов-то было на полчаса работы — открыть гаджет и подпаять надежный кабель с хорошим разъемом. Работа мелкая, гаджет дешевый и, по большому счету, он мне не очень нужен, но, как говорится, важен сам процесс. При восстановлении любых приборов я получаю больше удовольствия, чем от их покупки, когда «купил и забыл». Я удовлетворил любопытство и заодно что-то почерпнул для себя.
Извините, если что не так.
USB-хаб для «кипятильника». Улучшаем USB-хаб своими руками
Иногда бывает так, что необходимо подключить к одному устройству много USB девайсов, которые имеют значительное энергопотребление превышающее допустимое. В самом худшем случае это приводит к выходу из строя USB контроллера. В лучшем, USB порт просто отключается до того момента, пока энергопотребление не станет допустимым.
Имеющиеся в продаже USB хабы с внешним питанием не всегда удовлетворяют необходимым потребностям. Как правило, мне не попадались экземпляры с указанным током потребления выше 1А. Да и то, пристально приглядевшись к подавляющему большинству подобных устройств, можно с уверенностью сказать, что долговременно питать устройства при максимальном токе они не смогут.
Передо мной стояла следующая задача: запитать 4 USB 3G модема для подключения их к роутеру. Учитывая, что каждый модем потребляет примерно 170-500 mA, сделать это обычным USB хабом не представлялось возможным т.к. максимальный ток потребления не может превышать 500 mA. Цифру 500 mA подтвердить документально не удалось. Но проверять экспериментально, выдержит ли роутер необходимый ток в режиме долговременной эксплуатации, не было никакого желания. Надежных хабов с внешним питанием, обеспечивающих ток 1,5-2A, я не нашел. Мне пришлось взяться за паяльник и немного доработать обычный USB хаб. В качестве внешнего источника питания я выбрал устройство от D-link, которое давно пылилось в моем столе.
В качестве подопытного хаба нашелся обычный четырехразъемный 4world. Дабы показать, что подобную доработку можно сделать с любым подобным устройством, фотографию не показываю.
Приступим к доработке. Первым делом ищем на печатной плате впаянный провод, идущий от USB-разъема (как правило, он красного цвета) с надписью VCC, перерезаем его. Этим мы физически отключаем возможность питания через разъем подключения хаба. Т.е. наш хаб и все устройства, подключенные к нему, будут питаться исключительно от внешнего источника питания. Теперь осталось подключить внешний источник питания. Для этого ищем дорожку с надписью GND (это будет «минус» питания) в ближайшем месте, где есть возможность, аккуратно припаиваем провод. Далее, ориентируясь на крайний правый провод разъемов USB (смотрите изображение ниже), ищем «плюс» питания, и так же аккуратно припаиваем туда второй провод. В приобретенном мной девайсе для внешнего питания были предусмотрены отверстия в печатной плате, в которые я благополучно впаял провода.
Если никаких специально предназначенных отверстий нет, то можно просто припаяться к местам с надписями GND, это будет «минус» питания, а VCC будет «плюс» питания.
Всё, устройство готово к эксплуатации. Стоит отметить, что для питания USB устройств желательно использовать хорошо стабилизированные источники питания с номинальным напряжением 5 Вольт, иначе мы рискуем вывести из строя сам хаб и подключенные периферийные устройства или, по крайне мере, нарушить стабильность их работы.
Сергей ГУСАКОВ,
[email protected]