Коммутатор USB своими руками

  • Цена: USD $1.49

У Вас есть два хоста и одно USB устройство? Или один хост и два USB устройства? И вам нужно это переключать?
Вам под кат

Мотивация

Работа из дома добавила ещё один системный блок с работы в домохозяйстве. И если монитор есть возможность переключать с помощью HDMI коммутатора, то клавиатуру и мышь — вручную.
Этот пробел я и решил автоматизировать.
Я вскрыл HDMI коммутатор и нашел точку на плате, на которой появляется 3,3В при переключении на второй выход и вывел этот сигнал с помощью micro USB кабеля.
Этот кабель и будет управлять коммутатором USB.
К выходу коммутатора я подключил USB хаб с клавиатурой и мышью.

История

Это не первый мой свич. В 2017г я сделал товарищу свич на 5В реле tq2-5v, которое переключает линии D+ и D- и это до сих пор работает. Теперь же реле стоит в 5 раз дороже специализированной микросхемы TS3USB221.

Технические детали

К коммутатору подключаются два USB от двух системных блоков.
Входящее питание объединяется с помощью двух диодов и идет на выходной разъем.
Пока хотя бы один источник даёт питание, то устройство будет функционировать.
Для питания микросхемы коммутатора я применил стабилизатор на 3.3В MCP1700T-3302E.
Для того, чтобы отвязать внешний управляющий сигнал от микросхемы применил оптопару TLP290.
Использовал вот этот Type-A разьем.

Печатная плата

Разведена в Sprint Layout

и

Собранная печатная плата:

и


Готовая конструкция

Собрана в этом корпусе, размеры 45x45x19mm:

и


Выводы

Получилось дешевле, чем покупать на Амазоне готовый HDMI KVM…
Планирую купить +23 Добавить в избранное +69 +101
+
avatar
  • u3712
  • 04 мая 2020, 02:57
+12
Диоды слишком близко, via =в= smd pad не ставят. Схему можно существенно удешевить, поставив более доступные детали. Например, переключатели взять в sot23-5 (что вряд-ли существенно скажется на качестве работы), оптопару pc817.

Да, вот еще что… если вы хотели сохранить правильный импеданс, то трассы надо было делать гораздо шире. Ваша трассировка рассчитана на многослойную плату, а там расстояние до слоя экрана гораздо меньше.
+
avatar
+4
Согласен. Делал из того, что было уже в наличии. Кроме коммутатора: меньше бакса за корпус…
+
avatar
  • tklim
  • 04 мая 2020, 08:47
+4
Хм… Полное отсутствие конденсаторов в схеме вас не смутило?
А также непонятно зачем двухстронний монтаж.
К коммутатору подключаются два USB от двух системных блоков.
Надеюсь, хоть они подключены в один блок розеток с общим заземлением…

Главное, корпус красивый.
+
avatar
  • woddy
  • 04 мая 2020, 08:50
0
ага, линейник MCP1700T должен в возбуд уходить))) странно что работает
+
avatar
+1
0,1мкФ на нижнем слое. Микросхема потребляет 30мкА по линии 3.3В
+
avatar
+3
Хм… Полное отсутствие конденсаторов в схеме вас не смутило?
А 0,1мкФ возле микросхемы не заметили?

А также непонятно зачем двухстронний монтаж.
Если положить микросхему на верхний слой, то у двух входных разъемов пришлось бы перебрасывать D+ и D- местами…

Надеюсь, хоть они подключены в один блок розеток с общим заземлением…
Именно так.
+
avatar
  • tklim
  • 04 мая 2020, 09:58
0
Неправильно выразился. Имел в виду кондесаторы для LDO.
Если положить микросхему на верхний слой, то у двух входных разъемов пришлось бы перебрасывать D+ и D- местами…
Или у одного выходного — 1 переходное отверстие, а так у вас их 6, что вряд ли, лучше.
+
avatar
+17
Будто спор богов почитал! ;)
+
avatar
+1
а между дорожками провести — никак?
+
avatar
  • tklim
  • 04 мая 2020, 13:35
0
Можно, наверняка и работать даже будет.
Но если следовать правилам, то для USB2.0 крайне рекомендуется 4+ слоев + соблюдение остальных правил, касающихся разводки дифф-линий.
+
avatar
  • CuMr
  • 04 мая 2020, 15:06
+1
Зачем между дорожками? Там ведь места просто вагон.
+
avatar
0
У меня чип в другом корпусе
+
avatar
0
Не ставят. А я ставлю. Свожу все к смд, но индуктивность вдруг и на тор мотать.
Очень плохо?
+
avatar
0
Чисто теоретически, при машинном монтаже через виа в паде может вытечь припой на другую сторону. Но у меня поделка ручной сборки, потому и воткнул, хотя u3712 прав, нужно отвыкать от такой порочной практики…
+
avatar
0
Не может, а вытечет в 95% случаев :)
+
avatar
+1
При том как китайцы замуровали маской виа с другой стороны — без шансов ))))


Потому я и объявлял регионы без маски для отверстий пластиковых «усов» USB разьема, а то законопатят по самое не хочу.
+
avatar
0
А, ну так может быть и да :)
+
avatar
0
Я думаю что один диод лишний вообще. Нужно было пускать напрямую, а второй порт — через диод…
Кстати подскажите конкретные переключатели в sot23-5?
+
avatar
  • u3712
  • 04 мая 2020, 23:29
0
Для вас — да легко.
SN74LVC1G3157DBVR ~$1 10pcs
Да, немного описался, SOT23-6.
Сдвоенные переключатели значительно дороже (за порт).
+
avatar
  • navyg
  • 04 мая 2020, 03:34
+5
Решение сделать управляющий вход в виде разъёма USB — так себе решение. Да и полное отсутствие надписей на корпусе очень скоро вас заставит задумчиво морщить лоб в попытке понять, а что же имел в виду автор произведения. Я понимаю, что делалось для себя, но…
+
avatar
+3
Если по ошибке туда подать 5В, то ничего не случится. 300Ом резистора последовательно — достаточно.
Оптопара с двумя диодами, потому даже перепутанная полярность откроет её.
Я просто не нашел другого такого же компактного разъема…
+
avatar
  • navyg
  • 04 мая 2020, 04:01
+6
Да я не про ошибку подключения. Понимаю, что ровным счётом ничего не произойдёт. Но три однотипных разъёма в ряд с одной стороны и ещё один разъём сходного назначения с другой, да ещё при полном отсутствии надписей кого угодно вгонят в ступор, даже автора изделия.

Тот же джек 3.5 мм не намного крупней микро-юсб, но разница в предназначении разъёмов сразу бросится в глаза, даже если на хаб посмотреть вверх ногами. И без надписей типа «USB 2.0 коммутатор», «К хабу», «Компьютер 1», «Компьютер 2» и хотя бы чего-то вроде «управление +3...5в» устройство выглядит незаконченным, даже несмотря на нарядный корпус.

P.S. Ну и надпись на плате «USB switch 1.1» заставила задуматься и даже открыть datasheet по вашей ссылке. Какой USB 1.1 в 2020 году? Ааа, это версия переключателя, а коммутирует он привычные 2.0
+
avatar
+3
Надписи напечатаю на p-touch. Да, это версия.
+
avatar
  • jh7
  • 04 мая 2020, 07:59
-1
а почему просто не использовать протокол удаленного доступа, вроде RDP?
+
avatar
+4
Потому что рабочая машина строго уходит VPN-ом в локальную сеть компании, и настройки политик предотвращают RDP на локальный IP и с машин(читай с не рабочих) не имеющих на борту сертификатов компании. На личные машины сертификаты уносить запрещено.
+
avatar
  • jackT
  • 04 мая 2020, 10:40
-1
Ну всегда есть VNC, внутри сети задержки не заметны.
Хотя второй мотнитор и софтверный квм для проброски мыши с клавой мне всегда больше нравились.
+
avatar
0
Если там гемор с сертами, то 100% там белые и черные списки приложений. И я не удивлюсь, если VNC прописан болт. Плюс опять же читай внимательно «машина строго уходит VPN/ом в ЛВС компании». Как vnc достать если брендмауром заблокировано все.
+
avatar
  • jackT
  • 04 мая 2020, 16:02
-2
Впн поднимается для шифрования трафика в первую очередь, а не для изолирования компа от внешнего мира.
А фаервол так унифицированно не настроить, чтоб учесть всевозможные сетевые конфигурации.
Даже если заморочиться, это нереально поддерживать будет.
+
avatar
0
В моем случае — для изолирования…
+
avatar
0
Дамс… Ты если не понимаешь, то пройди мимо. Тем более «не для изолирования»…
это нереально поддерживать будет.
Все это более чем реально. Kaspersky Endpoint Security. Ставим запрет на отключение антивируса и один раз централизованно настраиваем все что нам нужно. В комплекте файрвол приличный. Там же в совокупности через kasperscky security center если нет AD удаленно делаем абсолютно все что хотим. В том числе по запросам и потребностям вносим изменения. Он же может автоматически распространять приложения и прочее на пользовательские ПК. Во вторых у людей в таком случае 100% AD. А это очень многое что решает. И да, VPN можно использовать абсолютно в любых целях в которых он применим. В том числе и для изоляции заворачивая весь трафик в тунель.
+
avatar
+1
У нас самописный движок управления машинами и Tanium. Имею админ привилегии локальные, но есть список нарушений, за которые я их могу потерять :)
+
avatar
  • jackT
  • 04 мая 2020, 17:51
0
Ну вот и ответ, руками поддерживать головняк, а если есть ресурсы на написание такой системы, то это уже стовсем другая история…
+
avatar
0
Эммм… Если так глубоко рассуждать.

1. На текущий момент нет ни чего, что тем или иным способом нельзя вытащить имея локального администратора/root. Не контролируемый физический доступ к машине == администратор/root.

2. Как только машина покидает контролируемую территорию == является скомпрометированной.

3. Если не прописан сценарий как определить скомпрометирована машина или нет, и по итогу не блокируются все доступы, то получение нужной информации/привилегий вопрос времени и навыков.
+
avatar
0
Вытащить <> работать. Тут обсуждался RDP на машину.
+
avatar
  • tklim
  • 05 мая 2020, 08:42
0
Имею ту же самую беду. После подключения ВПН фаервол отрубает всю локальную сеть. Даже «шлюз по умолчанию» не пингуется.
Могу ли я обойти? Да. Если сильно постараться — то и без админского доступа. Вопрос зачем? Доказать что-то кому-то?
Потому давно задумывался о подобном девайсе, как у автора, но лень довела до «уверенного пользователя тачпада»
+
avatar
  • aik
  • 05 мая 2020, 11:02
0
А галочку «использовать шлюз в удаленной сети» в настройках VPN снимали?
Ну если вообще это вообще проблема.
+
avatar
  • tklim
  • 05 мая 2020, 11:50
0
При чем тут это? У меня на домашнем компе есть Wireguard, openvpn, l2tp ipsec. Все с галочкой и без.
В любом раскладе внутренняя сеть доступна всегда. Потому как 0.0.0.0/0 менее приоритетнее чем 192.168.0.0/24. Но тут работает фаервол, который блочит все кроме впн-интерфейса.
+
avatar
  • aik
  • 04 мая 2020, 08:16
0
Я в похожей ситуации просто к HDMI-переключателю примотал изолентой USB-VGA KVM. :)
И вывел кнопочки в отдельную коробку — сами переключатели под столом, а наверху только коробка с кнопками и одним кабелем, под стол уходящим.
+
avatar
0
У меня же под столом одна кнопка переключателя на липких велкро.
+
avatar
  • aik
  • 04 мая 2020, 09:51
0
Я малой кровью одной кнопкой обойтись не мог — у HDMI-переключателя одна кнопка, которая гоняет три выхода по кругу, у KVM — две кнопки, которые по нажатию определённый выход включают.

Потому, чтобы голову не забивать, просто удлинил кнопки.
Под столом, впрочем, никто не мешает переключатель повесить.
Но у меня сейчас на носу усложнение конструкции — там будет матричный HDMI-переключатель на два монитора, конвертор различного аналогового сигнала в HDMI, аудиомикшер и ещё по мелочи всякой хрени…
+
avatar
0
Т.к. kvm тупая железка, перепайка vga на hdmi будет вполне разумным ходом
+
avatar
  • aik
  • 05 мая 2020, 02:09
0
Проще уж к hdmi-переключателю припаять usb, как автор статьи сделал.
+
avatar
0
Я в похожей ситуации просто к HDMI-переключателю примотал изолентой USB-VGA KVM. :)
Я тоже. Только на липучку на подставку монитора посадил. VGA — анахронизм. Не попадать же добру.
+
avatar
0
Надо полагать при переключении портов в компе заново определяются устройства, подключенные к хабу? Или всеже висят виртуальные?
+
avatar
0
Нет, они определяются единожды. Потом при переключении повторных определений не происходит, и всё работает моментально.
+
avatar
0
не знаю как это правильно назвать, но скажем так что похоже что этот свитч «кеширует» устройства, так?
+
avatar
0
Это как и без свича. Если вставить флешку или клавиатуру в порт, в который никогда они не вставлялись прежде, то будет поиск и установка драйверов. Потом, если вставлять их снова в этот же порт — поиска уже не будет, так как для этого устройства в этом порту драйвер уже установлен. Так и этот коммутатор — он возвращает каждый раз клавиатуру и мышь в тот-же порт, потому поиск и установка драйверов не происходит при переключении каждый раз.
А с электрической точки зрения это действительно переключатель. Никакой больше высокоуровневой логики он не выполняет. Устройство или туда или сюда подключает…
+
avatar
-2
То, что винда изображает какую-то бурную деятельность при вставке устройства никак не относится к определению устройств.
+
avatar
  • diz
  • 04 мая 2020, 11:34
+1
Ниче он не кэширует. Также будет каждый раз тыгыдымкать и давать микролаг системы при подключении
+
avatar
0
печально
мне, конечно, видится здесь микроконтроллер, который будет держать соединения и транслировать от клавы и мыши сигналы. ну и переключение по хоткею логично предположить. хз почему это все стоит таких космических денег.
+
avatar
  • Zardek
  • 04 мая 2020, 14:03
0
Это как? Драйвера на компутере или на то, или на то. Хотите вместе — пишите свои.
+
avatar
0
есть такой класс устройств как HID
+
avatar
  • CuMr
  • 04 мая 2020, 15:12
+1
Все просто. Контроллер с двумя USB-device и одним USB-host, на обоих девайсах он изображает из себя HID устройство, а к хосту подключается клаво-мышь. На активном канале репорты прокидываются, а на неактивном хосту отвечается «нет для тебя данных, отстань». Дело в том, что USB хост-ориентирован, т.е. всем обменом по шине руководит хост, т.е. хост периодически опрашивает устройство. Вот для этого и нужно постоянно отвечать.
+
avatar
0
Ведь можно переключать ещё и принтер и USB звук, потому ограничиваться HID не целесообразно, хотя хоткей — интересно.
+
avatar
  • Sanja
  • 04 мая 2020, 13:27
0
У него монитор будет при смене источника HDMI дольше перерисовываться, чем «микролаг» определения уже известных системе мыши и клавиатуры завершится.
+
avatar
0
Именно так и есть…
+
avatar
+1
Получилось дешевле, чем покупать на Амазоне готовый HDMI KVM…
Почему именно на Амазоне, на Али же проще и дешевле? Посмотрел в профиле вашу страну и получил ответ.
А где же цена конечного изделия, а то USD $1.49 из шапки явно не соответствуют действительности. Один корпус на Ebay — $6,85, не считая траблов с доставкой. Я на Али такой за $2.39 заказал, всё никак не доедет.
+
avatar
+2
Я отталкивался от цены самого дешевого HDMI KVM в 100 канадских долларов.
У меня все детали уже были в наличии, кроме микросхемы коммутатора. Микросхема 1 канадский доллар и платы 3 канадских доллара без учета доставки с JLC.
Если попробовать посчитать все детали, то думаю за 20 долларов я не выйду. А унять паяльный зуд во время коронавируса ведь бесценно :)
На самом деле теперь куплена микросхема HDMI свича за 2 доллара и микросхема 4-портового USB-хаба. Так что, если скука не одолеет, то сделаю в одном корпусе полный KVM и сразу с хабом для клавиатуры и мыши…
+
avatar
0
А унять паяльный зуд во время коронавируса ведь бесценно :)
Это точно
+
avatar
  • CuMr
  • 04 мая 2020, 15:14
0
Чем вам поможет хаб в деле переключения клаво-мыши между двумя устройствами? Коммутатор все равно будет нужен, только коммутировать он будет уже весь хаб…
+
avatar
0
Потому что сейчас коммутатор коммутирует внешний хаб с клавиатурой и мышью. А так он будет уже встроенным…
+
avatar
0
HDMI KVM Switch 2 порта:



ССЫЛКА
+
avatar
0
Ага, и ждать посылки до окончания карантина :)
+
avatar
0
Так мы же на Муське находимся, али как? :)
Кому паяльник в руки, а кому заказ в Китай…
+
avatar
0
Вот есть ещё дешевле, да ещё и типа, с USB хабом:



ССЫЛКА
+
avatar
0
Класс, вот это я бы и купил… Ниже психологических 50 долларов
+
avatar
0
Есть подозрение, что еще горстку микросхем придется досыпать. :)


Плата управления:
1. TUSB2046B — 4-Port USB 2.0 12 Mbps USB Full-Speed Hub
2. Cypress SL811HST-AXC) — Embedded USB Host/Slave Controller
3. 4 шт. GL850G — USB 2.0 HUB Controller
4. PIC16F887 — MCU
5. и 6. Пара PI3USB /14LE — Low Voltage, High Bandwidth, USB 2.0, 4:1 Mux/DeMux with Single Enable
7. 74HC374D
8. 4 шт. CY7C63743 /C-SXC — enCoRe™ USB Combination Low-Speed USB and PS/2 Peripheral Controller

Вторая плата (DVI):
1. 4 шт. CAT6354CQ — 4-to-1 HDMI1.3 Retiming Switch
2. LM358
3. CU253C /14M

Верхняя плата:
1. 2 шт. MDT2010ES — MCU
2. 6 шт. ATMLH424
3. 6 шт. CU257C

Первая мысль была, когда разобрал — туда хардварный кейлоггер встроили что ли? На простейший по сути девайс одних только MCU 3 штуки влепили (PIC + пара мутных).
+
avatar
0
Да, было время, когда не экономили текстолит.
www.mouser.ca/ProductDetail/701-XR22404CL24TR-F
www.mouser.ca/ProductDetail/729-PI3WVR13412ZHEX
Да и герой обзора: www.mouser.ca/ProductDetail/595-TS3USB221DRCR

Кстати тот дешевый HDMI свич, который я использую построен на PI3WVR13412ZHEX
Внутри кроме микросхемы, переключателя, стабилизатора и небольшого количества рассыпухи ничего нет…
+
avatar
+3
А почему бы не использовать для коммутации D+ и D- распространённый коммутатор к561кп1!? Наверняка она есть в каждой конторе по продаже чипов.
+
avatar
  • tklim
  • 04 мая 2020, 08:39
0
Может, потому что:
Время задержки распространения 1800 нс?
+
avatar
  • woddy
  • 04 мая 2020, 08:41
+1
это время переключения. не имеет значения :)
работать будет, вполне вариант
+
avatar
  • tklim
  • 04 мая 2020, 09:03
0
Работать с чем?
Разве что с USB1.1.

Вот даташит для www.ti.com/product/CD4052B
Bandwidth (MHz) 25
Будет ли она работать на 480мбит/с? Возможно, да, но лучше уже тогда реле использвать — надежнее будет.
+
avatar
+1
Будет ли она работать на 480мбит/с?
А надо ли оно для мыши и клавиатуры? :)
+
avatar
  • navyg
  • 04 мая 2020, 10:38
0
Можно одну флешку на два компа расшарить и переключать по очереди. ))
+
avatar
0
отличное решения. сам так хотел сделать. самый прикол в том что китайские свичи с vga стоят копье, а с hdmi сразу ценник шкалит.
+
avatar
  • tklim
  • 04 мая 2020, 13:01
0
Проверил свои два «свистка» от мышек-клавиатур — дешевый определяется как 1,5мбит/с — тут точно заработает. Тот что получше — 12мбит/с. Будет ли работать — скорее да. Будет ли работать надежно — сомневаюсь.
В любом случае, какой смысл экономить «на спичках», если спецализированная микросхема по сравнению с платой, доставкой и т.д. стоит почти ничего. (я уже не говорю про стоимость работы)
+
avatar
0
12 мбит/с — это, если не ошибаюсь, в физическом протоколе USB — около 6 МГц в максимуме. Не такая уж высокая частота :)
+
avatar
  • woddy
  • 04 мая 2020, 08:44
0
при цене TS3USB221 всего 40 рублей не понятно зачем экономить
+
avatar
0
Где по 40руб?
+
avatar
0
Мне его на маузере не купить :(
+
avatar
0
Собирал подобную штуку, но в разы проще с помощью переключателя на 12 контактов. По цене выходит дешевле, но из-за того, что питание и данные подключаются одновременно иногда отваливается клавиатура, но мышь при этом работает(подключены через usb хаб).
Сейчас подумываю о коммутировании usb 2.0 и платки QC3.0 внутри компа, чтоб на столе был 1 провод type c
+
avatar
  • GYUR22
  • 04 мая 2020, 10:43
+2
зная как чудесно любит выгорать usb хабы от статики посоветовал бы ставить защиту типа sr05.tct или USBLC6-2SC6 стоят копейки, но нервы помогут сэкономить.
+
avatar
0
кстати есть свичи блютусные. в комп свисток и шаришь по блютусу к нескольким девайсам клавы+мышь. правда хрен достанешь. у меня такой купил на сейле за 15 баксов. а так по 50+ продаются. немного глючит иногда, но работает.
кстати, альтернативное решение — клава+мышь Rapoo 8300T. умеет цепляться к нескольким устройствам. но нужно по отдельности переключать.
не забываем про софт Microsoft Garage Mouse without Borders ну и у кого много денег — logitech flow ;)
+
avatar
0
непонятно, как переключается-то. импульсом (нажатием кнопки)? наличием/отсутствием напряжения на управляющем входе? 2 машины одновременно включены — и штекер включать-выключать?
+
avatar
+1
«Я вскрыл HDMI коммутатор и нашел точку на плате, на которой появляется 3,3В при переключении на второй выход и вывел этот сигнал с помощью micro USB кабеля.
Этот кабель и будет управлять коммутатором USB.»
отдельный вход у него для этого. туда приходит напряжение с hdmi свича
+
avatar
0
На этом конкретном HDMI свиче кнопка с фиксацией.
+
avatar
0
Mне вот что интересно: как автору удалось так красиво всё припаять, особенно эти микроUSB разъём, где ножки выходят на 2 мм из разъёма? и расстояние между ними такое, что чуть дрогнула рука, и спаял с соседней ножкой.
+
avatar
+2
Нормальный флюс
+
avatar
+1
Кстати паял К-жалом t12, которое ну уж очень гигантское для ножек разъемов.
USB2 сначала запаял дату а потом две ноги фиксации корпуса, вышла кривулька.
Остальные уже паял правильнее — Сначала ноги фиксации, а потом уже ноги данных.
Ноги фиксации паял снизу платы. Припой засосало нормально…
Флюс — Ф-99, и адекватное количества припоя на жале

Микросхему паял лопаткой 0,6мм, а её брюхо — тем же К-жалом
+
avatar
  • kirich
  • 04 мая 2020, 20:47
0
и спаял с соседней ножкой.
Потом немного флюсом смочил и снял лишнее, вообще не проблема с таким шагом выводов.
+
avatar
0
Поверхостное натяжение. Хороший флюс и наличие маски на плате творят чудеса. Поэтому хоть топориком, хоть микроволной все это нормально паяется, несмотря на размеры жала
+
avatar
0
Может кому пригодится. Брал такой себе запасным (есть D-LINK работает более 10 лет):



ССЫЛКА
+
avatar
  • Savrik
  • 05 мая 2020, 01:23
0
Есть специальное приложение, что бы одну мышь и клаву расшарить на пару устройств
symless.com/synergy
+
avatar
0
Интересно, но запрещено политикой
+
avatar
  • Savrik
  • 05 мая 2020, 06:08
0
Чего?
+
avatar
+1
Компьютер компании. Программы для удаленного доступа к рабочему столу по сети в любом виде запрещены как политикой так и на уровне DPI
+
avatar
0
Есть ещё Mouse without Borders.
ссылка
Но только win-машины.