Страница 2 из 2

Re: USB переключатель

Добавлено: Ср окт 01, 2025 23:13:21
linux_rulezz
ESP32-С3 тоже RISC-V, а их уже давно массово самодельщики используют
Главное - как используют! Я не опущусь до уровня абдурины. А ESP32 до сих пор на уровне baremetal разве что светодиодиком помигать может…
20-ногий CH32V003 по пинам полностью соответствует STM8S003, а по мощам куда круче. Видимо, как его замену и разработали (я встречал в более свежих "вольтметрах" и т.п. с алиэкспресса уже CH32V003 вместо STM8). Однако, если сравнивать с STM32, то лучше уже брать, например, CH32V2xx и выше.
Ну, у меня с ними получилось помигать диодиком и USART запустить, но с использованием асмового стартапа, что с интернетов скачал. А это - некошерно. Коль уж все исходники на сях, то и стартап обязан быть на С.
полностью программный
Это значит, что его нет! Да и реализовать CDC ногодрыгом… Тормоза же будут адовы!
А аппаратный в легкую 6Мбит/с может, без особого напряга. А если взять пошустрей чип, а не на 72МГц, то и 12Мбит/с получится + кучу всего параллельно можно считать.

Помнится, кто-то на БХ сетовал, мол, почему калокубовский USB такой тормозной. Потом взял на проверку мою реализацию и реализацию COKPOWEHEU. И, ух ты! 12Мбод!!! (правда, на F103 12Мбод - все-таки миф, т.к. если с такой скоростью непрерывно поток в компьютер засылать, больше ни на что не останется ресурсов).

Re: USB переключатель

Добавлено: Чт окт 02, 2025 00:21:41
ПростоНуб
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750294#p4750294"]
ESP32-С3 тоже RISC-V, а их уже давно массово самодельщики используют
Главное - как используют! Я не опущусь до уровня абдурины.[/uquote]
Я не часто свои проекты публикую. Но один для ESP32-C3 есть. https://github.com/vpetryaev/GateRTO-1000
Это похоже на уровень Ардуины?

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750294#p4750294"]20-ногий CH32V003 по пинам полностью соответствует STM8S003, а по мощам куда круче. Видимо, как его замену и разработали[/uquote]
Да, именно так.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750294#p4750294"]Это значит, что его нет! Да и реализовать CDC ногодрыгом… Тормоза же будут адовы![/uquote]
Его не было бы, если бы CPU не успевал его обслуживать на 1.5 мегабитах, минимально необходимых для корректной работы USB. Но он успевает. И ссылку на исходники геймпада, мыши, клавиатуры и бутлоадера на нем я предоставил.
Зря пытаетесь отрицать очевидное )))

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750294#p4750294"]А аппаратный в легкую 6Мбит/с может, без особого напряга.[/uquote]
Нет такого в стандарте. Есть Low-Speed 1.5 ± 1,5 %, потом Full-Speed 12 ± 0,25 %, потом High-Speed 480 ± 0,05 % и так далее. И если устройство работает не меньшей скорости, то это может приводить к проблемам в работе остальных устройств на этой же шине. Особенно изохронных.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750294#p4750294"]А если взять пошустрей чип, а не на 72МГц, то и 12Мбит/с получится + кучу всего параллельно можно считать.[/uquote]
И чем это поможет переключателю на 8 положений? )))
Средства надо подбирать под задачу, а не наоборот!

Re: USB переключатель

Добавлено: Чт окт 02, 2025 09:59:00
linux_rulezz
Это похоже на уровень Ардуины?
Непонятно. Но ржавчина... Ужас! Зачем себя так насиловать?
А вообще, если в коде поковыряться, видно вызовы каких-то сторонних методов. В общем, не видя исхдоников SDK, невозможно сказать, насколько она убога. Ну и, опять же, ethernet, bluetooth и wifi работать не будут.
И ссылку на исходники геймпада, мыши, клавиатуры и бутлоадера на нем я предоставил.
Как говорится: зачем нам экскаватор, если кайлом долбить веселей?
потом Full-Speed 12 ± 0,25 %
Вот, он самый. Но данные STM32F103 не успевает слать со скоростью больше 6Мбод, если нужно еще и что-то полезное делать. Даже при двойной буферизации.
Другое дело - мелкие транзакции. Да, там честно 12Мбод.
Средства надо подбирать под задачу, а не наоборот!
Вот я и советую самый распространенный 40-рублевый микроконтроллер. С аппаратным USB.
Ногодрыгом пусть абдуринщики занимаются.

Re: USB переключатель

Добавлено: Чт окт 02, 2025 10:47:30
ПростоНуб
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750341#p4750341"]
Это похоже на уровень Ардуины?
Непонятно. Но ржавчина... Ужас! Зачем себя так насиловать?[/uquote]
Потому что как только начинаются сетевые сервисы, ручное управление памятью и владением наверняка будет содержать ошибки, которые тяжело локализовать.
Если для сетевых сервисов под k8s я использую C#, Java или Go, то языки со сборкой мусора мне для встроенных систем совсем не по душе.
Остается Ada и Rust. Последний сейчас более развит. Потому его и выбрал, несмотря на 40 лет опыта разработки на C/C++.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750341#p4750341"]А вообще, если в коде поковыряться, видно вызовы каких-то сторонних методов.[/uquote]
Естественно. HTTP сервер - это намного сложнее, чем CAN/USB и даже ModBUS.
Поэтому я коммитер в ESP-IDF-HAL.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750341#p4750341"]Ну и, опять же, ethernet, bluetooth и wifi работать не будут.[/uquote]
А почему у меня работают? Или Вы имели ввиду, что хотите собрать команду инженеров, потратить несколько лет и написать собственный низкоуровневый API для 802.11 и 802.15.1? По самым скромным оценкам, стоимость такой разработки, по опыту Espressif, будет в районе миллиона долларов США.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750341#p4750341"]
И ссылку на исходники геймпада, мыши, клавиатуры и бутлоадера на нем я предоставил.
Как говорится: зачем нам экскаватор, если кайлом долбить веселей?[/uquote]
Вообще-то наоборот. Если Вы не заметили, то в качестве экскаваторов всё чаще выступают программные решения, заменяющие аппаратные.
Например, в RP2040 даже не стали делать CAN. Просто потому, что PIO легко позволяет реализовать его функционал, как и любого другого интерфейса подобного уровня сложности.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750341#p4750341"]
потом Full-Speed 12 ± 0,25 %
Вот, он самый. Но данные STM32F103 не успевает слать со скоростью больше 6Мбод, если нужно еще и что-то полезное делать.[/uquote]
Что ставит крест на полноценном использовании Full-Speed USB в STM32F103 в реальной жизни. У большинства чипсетов сейчас всего 3-4 USB шины. И выделять персональную шину под STM32F103 выглядит непозволительной роскошью.
Вообще для меня странен интерес к STM32F103. Для DIY он сейчас занимает весьма узкую нишу между CH32V003 и RP2040. Причем последний всё сильнее поджимает его по цене, на порядок превосходя по возможностям.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750341#p4750341"]
Средства надо подбирать под задачу, а не наоборот!
Вот я и советую самый распространенный 40-рублевый микроконтроллер.[/uquote]
Вы советуете устаревший бесперспективный МК, рынок которого сужается с каждым днем, что я уже указал выше )))
linux_rulezz писал(а):С аппаратным USB.
А клавиатурой Вы тоже пользуетесь чисто аппаратной, вроде EC 7927? Или переломили себя и перешли на современную, управляемую программно МК? )))
Монитор тоже у Вас чисто аппаратный ЭЛТ EGA без программного управления МК? )))
Неужели так трудно осознать, что программные решения куда более удобны в использовании, благодаря более простой поддержке и более низкой цене?

Re: USB переключатель

Добавлено: Чт окт 02, 2025 11:02:19
linux_rulezz
HTTP сервер - это намного сложнее
Простейший http-сервер - это три-пять страниц сишного кода! Понятно, если захочется уровень апача, то это жесть. Но для МК такого не нужно.
А почему у меня работают?
Потому что вы не пишете baremetal. А используете проприетарные закрытые блобы и убогие HAL'ы.
По самым скромным оценкам, стоимость такой разработки, по опыту Espressif, будет в районе миллиона долларов США.
Если бы все нужные спецификации были в открытом доступе, не бойтесь, буквально через 2-3 года появился бы свободный вариант.
в качестве экскаваторов всё чаще выступают программные решения, заменяющие аппаратные.
Это - некошерный, экстенсивный метод разработки. Нельзя так. Нужно по максимуму использовать аппаратные ресурсы МК. DMA, кстати, тоже.
PIO легко позволяет реализовать его функционал, как и любого другого интерфейса подобного уровня сложности
Софтовый CAN? Это уж вообще мужеложество какое-то!
странен интерес к STM32F103
Я его в основном рассматриваю как самый дешевый МК с CAN на борту (увы, там USB и CAN одновременно работать не могут, поэтому в таких случаях приходится брать F072 или F303).
устаревший бесперспективный МК
Китайцы еще лет 20 на нем будут всякие "ПЛК" и прочее шлепать. Например, клон FX3U. "Родная" прошивка там безобразная, поэтому я свою написал, чтобы хоть какое-то подобие конфетки из дерьма сделать. Но, увы, интерфейсы там не имеют гальваноразвязок, да и вообще с защитой плохо. Его можно только в некритичных узлах использовать, заранее сделав запас ЗИПа...
А клавиатурой Вы тоже пользуетесь чисто аппаратной
Какая мне разница, что там "под капотом"? Но, судя по разборке, таки там аппаратный USB. И свои HID я под STM32 разработал - тоже полностью аппаратные.
За использование софтового USB при наличии аппаратного нужно бить морду! Как и за прочие извращения (например, я встречал софтовый I2C, когда на МК есть аппаратный!). Если разработчик не в силах освоить документацию (причем, на английском, а не китайском!), гнать его надо из профессии ссаными тряпками!
Неужели так трудно осознать, что программные решения куда более удобны в использовании, благодаря более простой поддержке и более низкой цене?
А потом из-за таких как вы, людям приходится покупать новый компьютер, т.к. на старом, видите ли, криворукий быдлокодер не осилил нормально браузер написать, чтобы тот не жрал гигабайты оперативки!

Re: USB переключатель

Добавлено: Чт окт 02, 2025 12:32:23
ПростоНуб
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
HTTP сервер - это намного сложнее
Простейший http-сервер - это три-пять страниц сишного кода![/uquote]
Простейший http-сервер в ESP-IDF - это более трех тысяч строк сишного кода. Если у Вас на странице помещается от 600 до 1000 строк, то мне Вас жаль )))
И это только esp-idf/v5.2.2/components/esp_http_server, без TCP/IP стека.
Покажите мне хотя бы аналог lwip на три-пять страниц сишного кода )))
Я даже не касаюсь реализации 802.11, которая и в сто страниц сишного кода вряд ли уложится )))

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
А почему у меня работают?
Потому что вы не пишете baremetal.[/uquote]
А Вам жизни хватит написать свою реализацию на baremetal 802.11 для DSP и TCP/IP стека для CPU общего назначения? )))

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
По самым скромным оценкам, стоимость такой разработки, по опыту Espressif, будет в районе миллиона долларов США.
Если бы все нужные спецификации были в открытом доступе, не бойтесь, буквально через 2-3 года появился бы свободный вариант.[/uquote]
Так они в свободном доступе. Например, идете сюда https://standards.ieee.org/ieee/802.11/7028/, жмете Purchase, На открывшейся странице видите "Available through the Reading Room". Спокойно жмете на PDF и получаете 80211-2020.pdf размером ~50МБ. Его внимательно и изучаете. )))

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
в качестве экскаваторов всё чаще выступают программные решения, заменяющие аппаратные.
Это - некошерный, экстенсивный метод разработки.[/uquote]
Во-первых, на кошерность наплевать всем, кроме ортодоксальных евреев, да и то не всех.
Во-вторых, как Вы вообще представляете чисто аппаратную реализацию даже простейшего WiFi роутера? Даже каналы ввода вывода и стойки управления накопителями IBM 360 были реализованы во многом программно, а не аппаратно. Предлагаете всем вернуться в середину прошлого века? )))


[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
PIO легко позволяет реализовать его функционал, как и любого другого интерфейса подобного уровня сложности
Софтовый CAN? Это уж вообще мужеложество какое-то![/uquote]
Так как в RP2040 два PIO, то целых два программных CAN, совершенно не влияющих на работу остальных двух ядер CPU общего назначения.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
странен интерес к STM32F103
Я его в основном рассматриваю как самый дешевый МК с CAN на борту (увы, там USB и CAN одновременно работать не могут, поэтому в таких случаях приходится брать F072 или F303).[/uquote]
А на RP2040 одновременно могут работать два CAN и USB. Причем практически не нагружая основные два ядра. )

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
устаревший бесперспективный МК
Китайцы еще лет 20 на нем будут всякие "ПЛК" и прочее шлепать.[/uquote]
Партия сказала нет и все подчиняются. Точно не помню, но от ARM и прочих зарубежных лицензионных архитектур китайцы собрались отказаться уже примерно к 2030 году. Когда в ход вступает налоговая политика и господдержка, то бабло сразу всё решает )))

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
А клавиатурой Вы тоже пользуетесь чисто аппаратной
Какая мне разница, что там "под капотом"? Но, судя по разборке, таки там аппаратный USB.[/uquote]
А не факт. Судя по заявлениям Padauk, их OTP МК широко используются в клавиатурах и мышах, хотя реализация USB у них полностью программная )))
И это вполне логично, так как такие МК стоят в районе одного-двух центов, что совершенно не сравнимо со стоимостью МК с аппаратной реализацией USB.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750354#p4750354"]
Неужели так трудно осознать, что программные решения куда более удобны в использовании, благодаря более простой поддержке и более низкой цене?
А потом из-за таких как вы, людям приходится покупать новый компьютер, т.к. на старом, видите ли, криворукий быдлокодер не осилил нормально браузер написать, чтобы тот не жрал гигабайты оперативки![/uquote]
Даже не касаясь того, что вне зависимости от браузера, тяжелый сайт на HTTP5, вроде Яндекс-Дзен, по любому потребует гигабайты оперативки, можно заметить, что браузеры при таком подходе для пользователя бесплатны, А вот если бы кто-то решил написать браузер на baremetal, то он стоил бы тогда для конечного пользователя больше хорошего игрового компьютера. Желающих тратить такие деньги на софт что-то не находится. )))
Не верите, напишите IEEEE 802.11, TCP/IP стек, HTTP/2, node.js, виртуальную машину для WebAssembly и браузер на baremetal. Даже если Вы молодой и богатый, то к тому времени, как Вы это напишете, оно просто никому уже не будет нужно, так как все эти стандарты к тому времени безнадежно устареют )))

Re: USB переключатель

Добавлено: Чт окт 02, 2025 14:10:42
linux_rulezz
аналог lwip
Мы про сервер говорили, а не стек TCP/IP!
Если что, у меня есть пара железок, где вообще вместо веб-сервера запущен баш-скрипт, использующий netcat! Отправляет тебе статику, а ты как GET-запрос сделаешь, он отрабатывает.
Что до lwip - да, очень жирная штука. Я и не пытаюсь пока на МК в сеть лезть! Как кто-нибудь напишет что-то более вменяемое, тогда welcome, как говорится. А пока - нафиг-нафиг!
написать свою реализацию
Я и не собираюсь. Достаточно тех, кто это может сделать. Я могу принять участие и какой-нибудь частью заняться, делая пулриквесты.
И там описаны все необходимые регистры ESP32?
программно
Хватит уже софт и хард путать! "Хардовой" реализации маршрутизаторов не существует. А вот "хардовая" реализация стека USB - есть. И грех ею не пользоваться, а выдумывать бредятину ногодрыгом!
Точно не помню, но от ARM и прочих зарубежных лицензионных архитектур китайцы собрались отказаться уже примерно к 2030 году
Не надо им верить: лет 20 назад они собирались полностью от маздая отказаться. И? Как куда ни глянешь - сплошной маздай-онли. Гребаные китайцы! Прибил бы сволочей! Есть же линукс!!!11 Зачем лизать задницу террористам, если можно и нужно свободным софтом пользоваться?
браузеры при таком подходе для пользователя бесплатны
Нет! Пользователь платит за них, покупая все более и более дорогие комплектующие. Иначе купил комп в 2000 году - и пользуйся, пока он вообще не сгниет..
node.js
Призываю расстреливать тех, кто этой парашей пользуется! Мало нам ублюдства в виде жабоскрипта в веб-страницах (вместо webassembly, например), так еще и находятся те, кто вместо С или С++ на КОМПЕ пытаются что-то на жабоскрипте писать…

Re: USB переключатель

Добавлено: Чт окт 02, 2025 15:04:34
ПростоНуб
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750411#p4750411"]
аналог lwip
Мы про сервер говорили, а не стек TCP/IP![/uquote]
А Вы видели где-то TCP/IP в baremetal? )))
Это даже не считая того, что я указал выше:
ПростоНуб писал(а):Простейший http-сервер в ESP-IDF - это более трех тысяч строк сишного кода. Если у Вас на странице помещается от 600 до 1000 строк, то мне Вас жаль )))
И это только esp-idf/v5.2.2/components/esp_http_server, без TCP/IP стека.
[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750411#p4750411"]
И там описаны все необходимые регистры ESP32?[/uquote]
Там описано всё, что необходимо для написания собственной реализации 802.11 на baremetal.
Причем, есть даже open source реализации на baremetal. Наиболее живая, хоть и с кучей багов - https://github.com/open-sdr/openwifi
Вот только необходимо применения Xilinx ZC702 или подобных ему FPGA.
Вы действительно готовы вместо ESP32 за 130-140 рублей, но с проприетарной закрытой реализацией 802.11, использовать свободную реализацию на Xilinx ZC702+FMCOMMS2 или ему подобных за ~100 тыс. рублей? )))
Кто же у Ваc это купит?

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750411#p4750411"]
программно
Хватит уже софт и хард путать! "Хардовой" реализации маршрутизаторов не существует.[/uquote]
А я и не путаю. Когда-то даже пишущие машинки были исключительно аппаратной реализации. А теперь не найти принтера без CPU и программного управления.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750411#p4750411"]А вот "хардовая" реализация стека USB - есть. И грех ею не пользоваться[/uquote]
То есть грех пользоваться принтером, если есть телеграфный аппарат РТА-80, реализованный полностью аппаратно на 561 серии? )))
Вы не поверите, но даже многие команды современных CPU реализованы программно на микрокоде. Вам это сильно мешает?
И почему Вы тогда так восхваляете STM32 на проприетарном закрытом ARM, но хаете полностью открытый RISC-V? )))

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750411#p4750411"]
Точно не помню, но от ARM и прочих зарубежных лицензионных архитектур китайцы собрались отказаться уже примерно к 2030 году
Не надо им верить: лет 20 назад они собирались полностью от маздая отказаться. И?[/uquote]
Китай запретил использование Windows на правительственных компьютерах в 2014 году, и теперь они используют в основном операционные системы на базе Linux. Microsoft в 2024 году получил лишь около 1,5% своих доходов в Китае.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750411#p4750411"]
браузеры при таком подходе для пользователя бесплатны
Нет! Пользователь платит за них, покупая все более и более дорогие комплектующие. Иначе купил комп в 2000 году - и пользуйся, пока он вообще не сгниет..[/uquote]
Но в результате это обходится ему на порядок, если не на два дешевле, чем если бы он покупал намного более дорогой и более оптимизированный софт.

[uquote="linux_rulezz",url="/forum/viewtopic.php?p=4750411#p4750411"]
node.js
Призываю расстреливать тех, кто этой парашей пользуется![/uquote]
Начните с себя, так как даже видео в браузере без V8 Вы не смогли бы смотреть )))
Я уже молчу, что при прямой интерпретации js в браузере, большая часть современных веб-страниц либо открывалась бы по несколько минут, либо требовала аппаратных ресурсов на уровне топовых серверных CPU.

Re: USB переключатель

Добавлено: Чт окт 02, 2025 15:17:33
VIK_SAI
вот это вас занесло конечно

Re: USB переключатель

Добавлено: Чт окт 02, 2025 15:42:53
ПростоНуб
А что поделать, если человек не может даже понять, что вообще МК появились на свет именно для того, чтобы решать программным путём то, что раньше решалось аппаратным?
И эта тенденция просто развивается дальше. Потому что логичней вместо вороха специализированных блоков, половина из которых не используется в конкретных проектах, иметь несколько универсальных PIO со своим набором команд, ориентированным исключительно на произвольный ногодрыг, независимо от CPU и совместно с DMA. Хотим CAN - пожалуйста, ModBUS - пожалуйста, дополнительные USB, USART, SPI, I2C - тоже пожалуйста. И всё ничуть не хуже, чем в специализированном аппаратном блоке. Но зато без плясок с бубнами вокруг описанных и не описанных багов в ERRATA, так как любой баг исправляется обычной перепрошивкой.

Re: USB переключатель

Добавлено: Чт окт 02, 2025 19:56:31
BOB51
В большинстве случаев специализированные микросхемы сами делаются на основе МК и/или ПЛИС.
Только с масочным ПЗУ.
Одно из направлений работы с МК это как раз и есть изготовление собственных спецмодулей на основе ограниченного набора "универсальных кристаллов" в виде хорошо изученных МК и с использованием освоенных средств разработки программ для них (IDE, компиляторы).
8)

Re: USB переключатель

Добавлено: Чт окт 02, 2025 21:02:49
ПростоНуб
[uquote="BOB51",url="/forum/viewtopic.php?p=4750514#p4750514"]В большинстве случаев специализированные микросхемы сами делаются на основе МК и/или ПЛИС.
Только с масочным ПЗУ.[/uquote]
В ряде случаев идут OTP. С одной стороны, это несколько увеличивает себестоимость, несмотря на то, прошивка выполняется автоматизированно. Но с другой стороны снижает потери при выявлении ошибок в прошивке, так как не требует никакого взаимодействия с поставщиком кристаллов.
Еще в ряде случаев, особенно если прошивка достаточно большая, а целевой кристалл дорогой, используют флеш или, на компьютерах, оперативную память.
Если заглянуть в linux в папку /lib/firmware, то там можно обнаружить порядка 500 МБ таких прошивок для самых разнообразных устройств. Начиная с GPU и заканчивая простейшими сетевыми адаптерами или USB устройствами.
Одно время я повеселился, подбирая прошивку для обычного RTL8168, когда её неожиданно умудрились сломать в Ubuntu. То есть, ошибку свою через обновления они быстро поправили, а вот в ISO образе для установки она осталась. А без сетевого адаптера обновить систему было весьма проблематично.