Easyelectronics.ru

Электроника для всех
Текущее время: 05 дек 2021, 11:00

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 94 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 23 ноя 2020, 20:44 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Доброго времени суток,

хотел поделиться своим проектом 3-x портового USB-Serial адаптера для STM32 Blue Pill (STM32F103C8T6).

Зачем все это, есть же куча USB-Serial преобразователей на любой вкус? Во-первых, это дешево. Плата Blue Pill стоит на али порядка 120 руб. Во-вторых, много портов в одном USB устройстве. Не занимаются лишние USB порты, нет нужды использовать USB-хабы. В-третьих, реализованы управляющие сигналы, не каждый USB-Serial преобразователь это умеет. В-четвертых, это гибко уже сейчас минимальным изменением исходного кода можно переключить тип выхода, полярность сигнала и т. п., а в будущем все это будет еще проще (см. ниже). В-пятых, это предсказуемо, повторяемо и документировано. Лично я не раз натыкался на не определяющиеся и некорректно работающие преобразователи c али.

Что реализовано:
- 3 независимых UART;
- поддержка аппаратного флоу контрола (RTS/CTS);
- поддержка DTR/DSR/DCD;
- 7 и 8 бит данных;
- поддержка контроля четности (none, even, odd);
- 1, 1.5, 2 стоповых бита;
- поддержка всех стандартных скоростей;
- поддержка нестандартных скоростей (тестировал до 921600);
- DMA на передачу и прием;
- не требует драйверов, используются CDC Class драйвера встроенные в ОС;
- составное USB устройство, определяется как три COM (tty) порта;
- подписанные драйвера для Win XP, 7, 8 (не требуется для Win 10);

Тестировалось на Win XP, 7, 8, 10, Linux, Mac OS.

ыходные уровни совместимы с TTL 3.3 и 5 вольт. Все входы кроме UART2 RX и CTS толерантны к 5 вольтам.

Маленькая ложка дегтя: по неизвестной причине, на некоторых экземплярах платы Blue Pill установлен некорректный подтягивающий резистор на USB D+. Это приводит к тому, что некоторые компьютеры эту плату не видят. А некоторые другие видят. Лечится заменой подтягивающего резистора на резистор номиналом 1.5 кОм. После этого все прекрасно работает на всех компьютерах.

Проект с открытым исходным кодом, MIT лицензия. Нет зависимостей от HAL или любых других сторонних библиотек кроме CMSIS.

Исходный код и собранная прошивка доступны тут: https://github.com/r2axz/bluepill-serial-monster

Что дальше? В планах добавить возможность конфигурирования типов выходных сигналов (пушпул, открытый сток), типов подтяжки сигнальных линий (floating, up, down) и выбора полярности (active-high / active-low) без пересборки ПО и перепрошивки микроконтроллера. Это позволит более свободно применять устройство с различными схемами развязок, согласования уровней, управления реле, и т.п.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 12:22 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Обновление v2.0.0: теперь можно без перепрошивки менять параметры сигналов UART: https://github.com/r2axz/bluepill-serial-monster

Добавлена возможность конфигурирования типов выходных сигналов (пушпул, открытый сток), типов подтяжки сигнальных линий (floating, up, down) и выбора полярности (active-high / active-low) без пересборки ПО и перепрошивки микроконтроллера. Это позволит более свободно применять устройство с различными схемами развязок, согласования уровней, управления реле, и т.п. Самый простой пример - CI/V интерфейс ICOM. Можно поставить тип выхода TX в открытый сток, соединить TX c RX и напрямую подключиться к CI/V интерфейсу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 13:33 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5304
Откуда: КЧР, поселок Нижний Архыз
А зачем лицензия MIT? Все-таки, GPLv3 более приличная вещь…


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 15:46 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 4212
Откуда: Винница
Спасибо однако! :) Неплохая альтернатива FT4232/CP2108. Которые ещё поискать.
Вчера откомпилил (просьба тапками не бросаться - в CubeIDE :) ). Проверить успел только "крест-накрест" на 115200, всё работает.

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 16:26 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1519
Эта же тема обсуждения от автора на форуме сайта https://electronix.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 16:52 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Eddy_Em писал(а):
А зачем лицензия MIT? Все-таки, GPLv3 более приличная вещь…


Я выбрал MIT потому, что эта одна из самых разрешительных лицензий в мире open-source. В рамках конкретно этого проекта я не хочу обязывать раскрывать исходный код производных продуктов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 16:53 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Katz писал(а):
Спасибо однако! :) Неплохая альтернатива FT4232/CP2108. Которые ещё поискать.
Вчера откомпилил (просьба тапками не бросаться - в CubeIDE :) ). Проверить успел только "крест-накрест" на 115200, всё работает.


Спасибо за теплые слова! Если вдруг найдете баги, пожалуйста, не поленитесь создать Issue в GitHub.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 16:56 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
KPG писал(а):


Не могу вам ответить на ЛС - репутация не позволяет))) Но спасибо за информацию!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 17:41 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Katz писал(а):
Спасибо однако! :) Неплохая альтернатива FT4232/CP2108. Которые ещё поискать.
Вчера откомпилил (просьба тапками не бросаться - в CubeIDE :) ). Проверить успел только "крест-накрест" на 115200, всё работает.


Там, кстати, релизы есть, вы ведь заметили? :) https://github.com/r2axz/bluepill-seria ... tag/v2.0.0

Внизу страницы все бинарники. Собирает все "сам GitHub"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 18:43 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5304
Откуда: КЧР, поселок Нижний Архыз
r2axz писал(а):
В рамках конкретно этого проекта я не хочу обязывать раскрывать исходный код производных продуктов.

А зря: проект достойный. Не то, что всякие абрудиноподелки...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 19:00 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Eddy_Em писал(а):
r2axz писал(а):
В рамках конкретно этого проекта я не хочу обязывать раскрывать исходный код производных продуктов.

А зря: проект достойный. Не то, что всякие абрудиноподелки...


Спасибо за оценку проекта! Это приятно.

Вы знаете, я по работе использую такую огромную кучу достойных инструментов и библиотек опубликованных под BSD и MIT лицензиями, что давно пора было уже и мне чем-то поделиться. Я не против GPL в целом, прекрасная лицензия, но именно тут мне она показалась избыточной. Допускаю, что я ошибся и _было бы правильнее_ опубликовать под GPL. Но мне хотелось сделать не как правильнее, а как приятнее :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 22:48 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 4212
Откуда: Винница
r2axz писал(а):
Спасибо за теплые слова! Если вдруг найдете баги, пожалуйста, не поленитесь создать Issue в GitHub.
Ну в общем-то я довольно дотошный, но хронически в цейтноте. :) если что-то найду, отрапортую.
Форки, так понимаю, допускаются? Это насчёт 485 и т.д.
Eddy_Em писал(а):
А зря: проект достойный. Не то, что всякие абрудиноподелки...
Мечта перфекциониста. :) Что называется: "ничего лишнего".
Мало кто так сейчас делает. К сожалению.
r2axz писал(а):
Там, кстати, релизы есть, вы ведь заметили? :) https://github.com/r2axz/bluepill-seria ... tag/v2.0.0

Внизу страницы все бинарники. Собирает все "сам GitHub"
Конечно, но ведь интересна повторяемость - так чтобы что-то самому допилить и пересобрать.

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 25 ноя 2020, 23:47 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Katz писал(а):
Ну в общем-то я довольно дотошный, но хронически в цейтноте. :) если что-то найду, отрапортую.
Форки, так понимаю, допускаются? Это насчёт 485 и т.д.

Благодарю! Форки допускаются, и вообще все что угодно допускается, это же MIT :)
Katz писал(а):
Мечта перфекциониста. :) Что называется: "ничего лишнего".
Мало кто так сейчас делает. К сожалению.

Спасибо огромное за оценку! Я старался сделать более менее прилично.
Katz писал(а):
Конечно, но ведь интересна повторяемость - так чтобы что-то самому допилить и пересобрать.

Понимаю. Да, кстати, при создании форка в GitHub будут скопированы и actions, отвечающие за сборку и публикацию релизов. Так что все будет собираться и в форке. Надо только разрешить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 10:22 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Зарелизил поддержку RS-485.

Сигнал TXA (TX Active) служит для управления микросхемами трансиверов RS-485 (DE, /RE). TXA активен во время передачи данных и переключается в неактивное состояние не более чем за 1 мкс после завершения передачи. Это соответствует спецификациям RS-485 на скоростях до 460 кБод не менее чем с двукратным запасом по времени переключения.
Возможно применение и на более высоких скоростях.

Статья на Habr: https://habr.com/ru/post/530060/

Проект на GitHub: https://github.com/r2axz/bluepill-serial-monster


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 12:49 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2277
r2axz писал(а):
Зарелизил поддержку RS-485.

Можно добавить в Makefile первой строкой
STM32CUBE_PATH ?= .
и минимальный
Drivers/CMSIS/...
(+ ~13.5Мб для простоты, но не обязательно)


Последний раз редактировалось x893 02 дек 2020, 12:57, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 12:57 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2637
Откуда: Киев
Извиняюсь за не много тупой вопрос, но все же какое примение для девайса?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 13:04 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2277
Signaller писал(а):
Извиняюсь за не много тупой вопрос, но все же какое примение для девайса?

Одно или весь список ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 13:21 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2637
Откуда: Киев
Та хотя бы одно. Я в смысле, что отлаживал я как-то прием передачу через блютуз и тогда понадобилось 2 переходника. Но два это ж не так и много, нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 18:23 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
x893 писал(а):
r2axz писал(а):
Зарелизил поддержку RS-485.

Можно добавить в Makefile первой строкой
STM32CUBE_PATH ?= .
и минимальный
Drivers/CMSIS/...
(+ ~13.5Мб для простоты, но не обязательно)


Я подумаю, мне не очень нравится это идеологически. То есть Drivers/CMSIS/ я точно не готов в source tree добавлять, максимум в виде субмодуля, и то дважды бы подумал, а вот значение по умолчанию (равное STM32CubeF1) для STM32CUBE_PATH возможно добавлю. Хотя в целом, STM32CUBE_PATH=./STM32CubeF1 make или STM32CUBE_PATH=. make спасет мир.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 18:32 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Signaller писал(а):
Та хотя бы одно. Я в смысле, что отлаживал я как-то прием передачу через блютуз и тогда понадобилось 2 переходника. Но два это ж не так и много, нет?


Лично мне надо было два UART для управления трансивером. И мне не хотелось занимать больше одного порта в ноуте. Три UART получились автоматически когда делал два. Знаю людей кто использует для отладки каких-то там радиомодулей. Кто-то использует один UART для коммуникаций, а вторым подглядывают. Кто-то вообще пользуется только одним. Дело в том, что эта плата ничего не стоит, работает лучше всяких дешманских китайских конвертеров и намного лучше чем всякие Arduino переходники. Плюс киллер фича - это возможность инвертировать почти все управляющие сигналы сигналы. Такое по-моему только у FT есть. Плюс киллер фича которой нет у FT - возможность установки выходов в открытый сток (открытый коллектор). Есть сценарии при которых это прям спасает...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 18:46 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2637
Откуда: Киев
r2axz
Спасибо так понятние.
Цитата:
Кто-то использует один UART для коммуникаций, а вторым подглядывают

То есть один юарт используется по прямому назначению, а второй тупо параллельно и слушаем о чем там 2 устройства говорят, но у второго UART же только один RX?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 19:32 
Только пришел

Зарегистрирован: 23 ноя 2020, 20:40
Сообщения: 29
Signaller писал(а):
r2axz
Спасибо так понятние.
Цитата:
Кто-то использует один UART для коммуникаций, а вторым подглядывают

То есть один юарт используется по прямому назначению, а второй тупо параллельно и слушаем о чем там 2 устройства говорят, но у второго UART же только один RX?


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

Кстати, добился времени сброса TXA - 0.6 мкс. Это вообще говоря очень даже неплохой результат реакции на прерывание.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 02 дек 2020, 21:16 
Старожил
Аватара пользователя

Зарегистрирован: 13 дек 2010, 23:15
Сообщения: 2637
Откуда: Киев
О, круто, теперь понял. Я как раз на днях смотрел обмен с помощью ЛА (saleae) между парой устройств. Но там не очень удобно, ибо экспорт лога идет посимвольно, а хотелось бы по человечески по строчно (или я не нашел как это делаеть).
Но в двух юртах тоже не все так просто, ибо не будет привязки по времени между обменом.


Последний раз редактировалось Signaller 03 дек 2020, 01:43, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 03 дек 2020, 00:21 
Старожил

Зарегистрирован: 28 сен 2018, 00:25
Сообщения: 482
плюс, на такой заготовке можно изобразить нечто вроде такого https://tqfp.org/trapper/smartpipe-o-proekte.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 03 дек 2020, 10:56 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 4212
Откуда: Винница
Signaller писал(а):
Извиняюсь за не много тупой вопрос, но все же какое примение для девайса?

Пример из не очень давней практики: тестирование устройств, имеющих на борту 2 RS-232 и 1 RS-485.
Т.н. "хаб" для датчиков уровня топлива, температуры и т.д.

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 94 ]  На страницу 1, 2, 3, 4  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB