Страница 1 из 2
USB переключатель
Добавлено: Пн сен 29, 2025 12:11:48
VIK_SAI
Рассматривается потребность в переключателе с не менее чем шестью позициями. В текущей реализации используется плата расширения с интерфейсом ввода/вывода, где каждый вывод соответствует определенному режиму. Данное решение представляется избыточным для данной функциональности.
В качестве альтернативы рассматривается использование микроконтроллера STM32 с портом COM (USB), что представляется более оптимальным вариантом.
Существуют ли другие, более простые варианты реализации данной задачи?
https://img.radiokot.ru/files/161321/me ... 0aohp6.jpg
Re: USB переключатель
Добавлено: Пн сен 29, 2025 12:19:03
Николай_С
[uquote="VIK_SAI",url="/forum/viewtopic.php?p=4749454#p4749454"]Существуют ли другие, более простые варианты реализации данной задачи?[/uquote]кАнЭшнА! USB-хаб называется.

Портов столько, сколько нужно и все полнофункциональные.
Re: USB переключатель
Добавлено: Пн сен 29, 2025 12:27:15
u37
4051, 4052
Re: USB переключатель
Добавлено: Пн сен 29, 2025 13:17:56
VIK_SAI
[uquote="Николай_С",url="/forum/viewtopic.php?p=4749457#p4749457"][uquote="VIK_SAI",url="/forum/viewtopic.php?p=4749454#p4749454"]Существуют ли другие, более простые варианты реализации данной задачи?[/uquote]кАнЭшнА! USB-хаб называется.

Портов столько, сколько нужно и все полнофункциональные.[/uquote]
usb hub ? у меня есть 6 сигналов и мне нужно обрабатывать работу программы в зависимости от поступающего сигнала.
Добавлено after 2 minutes 21 second:
[uquote="u37",url="/forum/viewtopic.php?p=4749459#p4749459"]4051, 4052[/uquote]
мультиплексор, отлично, но как потом отправить все в ком. порт? если это дело связывать с МК то тогда и мультплексор будет лишним. ( в моем случае, если это будет отдельное устройство.
Re: USB переключатель
Добавлено: Пн сен 29, 2025 17:11:22
metan
VIK_SAI писал(а):более простые варианты
это экстремально растяжимое понятие.
Для одного специалиста просто - сунуть плату расширения в ПК, для другого - применить например, контроллер, способный эмулировать HID устройство, для третьего - применить преобразователь USB-UART и соединить его с ЛЮБЫМ знакомым микроконтроллером.
Точнее сказать невозможно по причине отсутствия инфы о характеристиках обрабатываемых сигналов, о вашей квалификации в харде и софте и т.д.
Re: USB переключатель
Добавлено: Пн сен 29, 2025 17:38:45
vlasovzloy
Fst3125 для скоростей юсбишных.
Re: USB переключатель
Добавлено: Пн сен 29, 2025 17:41:54
Николай_С
[uquote="VIK_SAI",url="/forum/viewtopic.php?p=4749470#p4749470"]у меня есть 6 сигналов и мне нужно обрабатывать работу программы в зависимости от поступающего сигнала.[/uquote]Вот и начните с написания технического задания (ТЗ). Опишите свои сигналы и что нужно получить в результате. Пока пишите ТЗ, сами поймёте как его реализовать.
Re: USB переключатель
Добавлено: Пн сен 29, 2025 19:25:47
linux_rulezz
Вот посмотрел я на картинку, и вообще ничего не понял!
Зачем вообще что-то переключать, если можно взять STM32 с достаточным количеством USART'ов. Или что нужно?
У STM32 8 конечных точек. Одна - нулевая - используется в служебных целях. Следовательно, на оставшихся (двунаправленных) можно реализовать 7 CDC устройств. При помощи udev-скрипта по полю iInterface они отлично различаются - по симлинкам в /dev/
На моем гитхабе можно посмотреть, как 7 CDC реализовать. В планах у меня "мультиинтерфейсную" плату сделать (232, 422 или SSI, 485, I2C, SPI и CAN), с гальваноразвязкой на все интерфейсы. Печатные платы получил достаточно давно, все некогда ею заняться.
P.S. А еще более странным является цеплять к STM32 преобразователь UART-USB, когда на борту есть готовый USB!
Re: USB переключатель
Добавлено: Пн сен 29, 2025 20:45:30
jcxz
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4749577#p4749577"]Вот посмотрел я на картинку, и вообще ничего не понял![/uquote]Видимо вы маловато выпили просветляющего отвара из мухоморов. Вон - другие товарищи уже угадывают. Значит - приняли просветляющий отвар.
Некоторые даже некие тайные заклинания уже произносят:
[uquote="u37",url="/forum/viewtopic.php?p=4749459#p4749459"]4051, 4052[/uquote]
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4749577#p4749577"]Зачем вообще что-то переключать, если можно взять STM32 с достаточным количеством USART'ов. Или что нужно?[/uquote]Господа, спокойствие! не волнуемся!
Скоро вернутся из отпусков прорицатели и гадалки. Они заколят жертвенного баранчика, его кровью умилостивят духов форума, достанут из него печень и по её виду предскажут: чего именно хочет ТС? и что за чудный зверь нацарапан на его наскальном рисунке?

Re: USB переключатель
Добавлено: Вт сен 30, 2025 18:37:46
abc
VIK_SAI
FT245 имеет 8 входов/выходов DATA и еще несколько вспомогательных
Re: USB переключатель
Добавлено: Вт сен 30, 2025 19:37:20
ПростоНуб
[uquote="VIK_SAI",url="/forum/viewtopic.php?p=4749454#p4749454"]В качестве альтернативы рассматривается использование микроконтроллера STM32 с портом COM (USB), что представляется более оптимальным вариантом.[/uquote]
Тогда уже скорее CH32V003F4P6. Там USB, конечно, специфичный, но вполне работоспособный.
Re: USB переключатель
Добавлено: Ср окт 01, 2025 12:39:37
VIK_SAI
[uquote="u37",url="/forum/viewtopic.php?p=4749459#p4749459"]4051, 4052[/uquote]
в чем суть применения мультиплексора в данной схеме?
Добавлено after 23 minutes 37 seconds:
[uquote="VIK_SAI",url="/forum/viewtopic.php?p=4750055#p4750055"][uquote="u37",url="/forum/viewtopic.php?p=4749459#p4749459"]4051, 4052[/uquote]
в чем суть применения мультиплексора в данной схеме?[/uquote]
на данный момент без управления мк не вижу логики или есть то о чем я не подумал ?
url=https://img.radiokot.ru/files/161321/medium/3um95ckix7.jpg]

[/url]
на первой картинке я так вижу применение 4051, но мне тогда еще нужен будет порт usb.
На данный момент самый логичный вариант ft245, но может есть еще актуальные варианты ?
Re: USB переключатель
Добавлено: Ср окт 01, 2025 13:43:06
u37
.....
Если вам так хочется именно UART, то:
4052 выборка AB подключается к контактам RTS и DTR, выходы переключателей COM на RI, DSR или DCD.
Входы 4052 на ваши 8 источников сигнала.
Чтобы вычитать два источника, вначале выставляется 0-1-2-3 на сигналы RTS+DTR, потом считывается регистр RI-DSR-DCD и оттуда берутся 2 бита. Естественно, из самого device UART должны выходить TTL уровни, а не RS232.
Re: USB переключатель
Добавлено: Ср окт 01, 2025 14:07:01
VIK_SAI
[uquote="u37",url="/forum/viewtopic.php?p=4750092#p4750092"].....
Если вам так хочется именно UART, то:
4052 выборка AB подключается к контактам RTS и DTR, выходы переключателей COM на RI, DSR или DCD.
Входы 4052 на ваши 8 источников сигнала.
Чтобы вычитать два источника, вначале выставляется 0-1-2-3 на сигналы RTS+DTR, потом считывается регистр RI-DSR-DCD и оттуда берутся 2 бита. Естественно, из самого device UART должны выходить TTL уровни, а не RS232.[/uquote]
мне на выходе нужен usb

виртуальный компорт который будет только лишь получать информацию о состоянии.
Re: USB переключатель
Добавлено: Ср окт 01, 2025 15:04:35
ds1307
1. Вам уже написали, сделайте нормальное ТЗ. Я тоже не с первого раза понял что вам надо.
2. Без микроконтроллера здесь не обойтись. Он позволит снимать аналоговую инфу с любого из источников. В нужном для вас порядке и передавать в нужном для вас виде. Главное чтобы хватило скорости. Должно получиться что-то типа многоканального USB осциллографа.
Re: USB переключатель
Добавлено: Ср окт 01, 2025 21:14:14
VIK_SAI
я кажется придумал, к555ир9, осталось придумать как эту имс привязать к например ft232.
Re: USB переключатель
Добавлено: Ср окт 01, 2025 21:35:53
linux_rulezz
У 40-рублевого STM32F103C6T6 (с этим и C4 справится — "голый" CDC на семь устройств чуть больше пяти килобайт; но почему-то они дороже) достаточно аналоговых входов, чтобы не ставить внешний мультиплексор. Между прочим, мультиплексор тоже далеко не нулевой импеданс имеет… Так, для точного чтения температур с платиновых терморезисторов, мне пришлось использовать внешний АЦП с двумя прецизионными источниками тока и три компаратора; хитрый алгоритм измерений (нашел в статье одного китайца) позволил почти до нуля свести влияние мультиплексоров.
Ну, а пока ТЗ не озвучено, вообще непонятно, что нужно. Может, там вообще двухбитного АЦП хватит?
А протокол - какой удобно. И, опять же, если нет нужды в одном приложении иметь все источники, можно по интерфейсу USB на каждый сделать. Открыл, скажем, /dev/analog5 - и читаешь шестой вход…
Re: USB переключатель
Добавлено: Ср окт 01, 2025 22:15:40
ПростоНуб
[uquote="VIK_SAI",url="/forum/viewtopic.php?p=4750240#p4750240"]я кажется придумал, к555ир9, осталось придумать как эту имс привязать к например ft232.[/uquote]
CH32V003F4P6 обойдется на порядок дешевле и уже имеет достаточно выводов для этой задачи.
linux_rulezz писал(а):У 40-рублевого STM32F103C6T6
CH32V003F4P6 для этой задачи использовать разумней и дешевле.
Ну да, несколько больше приключений с USB, но всё решаемо
https://habr.com/ru/articles/852908/
Строго говоря с этой задачей справится даже PFS154-S14, но затраты на его программатор для DIY великоваты.
Re: USB переключатель
Добавлено: Ср окт 01, 2025 22:25:00
linux_rulezz
ПростоНуб, там RISC-V. А ее еще освоить надо. Я вот "нахрапом" не смог сишный стартап написать и забросил эти МК. Да и по производительности они как-то не очень…
И да, у V003 нет USB! Оно в более старших семействах (05 и далее).
- 1.png
- (143.23 КБ) 128 скачиваний
// блин, что тут за дебильный движок? На скриншот 2025.10.01_22:23:22.png ругается, что "недопустимое имя", приходится переименовывать...
Re: USB переключатель
Добавлено: Ср окт 01, 2025 23:05:54
ПростоНуб
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750279#p4750279"]
ПростоНуб, там RISC-V. А ее еще освоить надо. Я вот "нахрапом" не смог сишный стартап написать и забросил эти МК.[/uquote]
Странно. Мне они поддались сразу. И что такого в RISC-V страшного? ESP32-С3 тоже RISC-V, а их уже давно массово самодельщики используют.
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750279#p4750279"]Да и по производительности они как-то не очень…[/uquote]
А тут она нужна?
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750279#p4750279"]И да, у V003 нет USB![/uquote]
Он есть, но своеобразный, полностью программный. Я же дал ссылку. Могу повторить
https://habr.com/ru/articles/852908/
Вот еще исходник
https://github.com/cnlohr/rv003usb
Понятно, что программно можно получить только Low Speed USB, Но для большинства задач этого вполне достаточно )