Товары из Китая

Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6


Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6

Если вы еще помните — в предыдущей статье я описывал флешер/отладчик ZBS24x с флешером ESP8266/ESP32 в одном лице.

Почему-то никого не привлек сам адаптер, который я использовал в качестве основы для своей поделки. А я все-таки его сделал — не особо и нужен, но пусть будет, в кулацком хозяйстве пулемет завсегда сгодится.

Штука, в общем-то хорошая — подключаешь к единственному USB эту платку и имеешь на выходе 3 последовательных порта со всеми мыслимыми и немыслимыми сигналами стандарта RS232. Эти сигналы до какой-то степени программируются встроенной утилитой. Чтобы получить к ней доступ, надо замкнуть перемычку, и вместо первого порта будет доступна эта утилита.

По сути дела одна платка заменяет USB хаб и три обычных адаптера USB-UART. Я в курсе, что такие микросхемы существуют, но цены на них какие-то не очень демократичные.

Во избежание недоразумений сразу предупреждаю — я не я, и лошадь не моя. И я вообще не извозчик.

Нашел я это программное обеспечение вот здесь, а так же статья автора этой поделки есть на Хабре, автор написал программное обеспечение адаптера и распаял последовательные порты на платке STM32F103C8T6, широко известной под именем Blue Pill. Соответственно проект и был из назван — Синепилюльный Серийный Монстр.

История же моей поделки очень незамысловатая — я собирался заказать плату моста WiFi-Zigbee. Но самая дешевая плата, заказываемая в Китае, может иметь размеры 100х100мм. Мой мостик не занимал и четверти этой площади. Нужно было что-то срочно придумывать. Когда уж совсем ничего в голову не приходит, я на избыточной площади делаю макетку — но у меня их уже до второго пришествия хватит.

Первое, что пришло в голову на сей раз — это развести флешер, описанный в предыдущей статье. Но это проблемы не решило — места оставалось катастрофически много. Пришлось и адаптер-монстра тоже развести. Места еще оставалось очень много, но мало-помалу большую часть удалось утилизировать.

Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6

Пока платы изготавливалась и почта доставляла их, нарисовал и напечатал небольшую коробочку — типа фирма веников не вяжет. А если и вяжет — то фирменные.

Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6

Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6

Автор программного обеспечения приложил к своему проекту make файл для компиляции. Так как я использовал его программу для переделки во флешер, мне было удобнее делать это с Visual Studio Code и PlatformIO.

Ini файл для PlatformIO выглядит так:

[env:genericSTM32F103C8]

platform = ststm32
board = genericSTM32F103C8
framework = cmsis
upload_flags = -c set CPUTAPID 0x2ba01477 ; clone?
upload_protocol = stlink
debug_tool = stlink

Вместо STM32F103C8 мне попался перемаркированный микроконтроллер, видимо GD32F103C8. Поэтому в файле это учтено, если у вас оригинальный процессор, эту строку нужно выбросить.

Отрезаем нашего монстра от основной платки, распаиваем и заливаем прошивку.

Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6

Подключаем к USB — видим новое устройство.

Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6

Запускаем три копии терминала последовательного порта, видим 3 новых порта в системе и подключаем каждый терминал к своему порту. Для проверки соединяем выход 2-го порта с входом 3-го и вход 3-го со входом 2-го. Проверяем — передача идет.

Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6

Заодно собираем и прошивальщик ZBS24x. По сравнению с макеткой выглядит симпатичнее, хотя и на скорости прошивки никак не сказывается.

Адаптер USB — трехпортовый UART на STM32F103C8T6/GD32F103C8T6

Может, кому на что идея и сгодится. Далеко не всегда удобно тянуть провода UART вместо USB, но случаи бывают разные.


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *