Easyelectronics.ru

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

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



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

Начать новую тему Ответить на тему  [ Сообщений: 94 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения: Re: Адаптер USB-Serial с 3 UART портами на STM32 Blue Pill
СообщениеДобавлено: 28 июл 2021, 14:48 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 2235
Eddy_Em писал(а):
Я вообще без понятия, что это.

Да tonyk похоже тоже, иначе не писал бы про opc в 2021
Что до модбаса, то мейнстрим давно tcp а не rtu, а это совсем другая история
Отсюда мораль - карфаген должен быть разрушен cdc не нужен )


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

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5304
Откуда: КЧР, поселок Нижний Архыз
Для tcp нужен очень мощный и дорогой МК, поэтому идеальный вариант - именно cdc или can


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

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 1193
vt340 писал(а):
Что до модбаса, то мейнстрим давно tcp а не rtu, а это совсем другая история

Всё зависит от объекта, я говорю за те, с которыми сталкиваюсь. Чаще всего это CAN по оптике или Modbus/RTU через EIA-485.
Цитата:
Для tcp нужен очень мощный и дорогой МК

W5500 позволяет даже старым восьмибитникам вполне себе ничего работать с Ethernet.


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

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5304
Откуда: КЧР, поселок Нижний Архыз
И как этот восьмибитник будет сокеты обслуживать? Я уж молчу об SSL! Или этот ваш W5500 сам будет шифрование соединения обеспечивать и ssh поднимет?
Нет уж, я считаю, что если хочешь работать с сетью, то бери одноплатник - как минимум Orange Pi zero. Собственно, все мои сетевые железяки именно так и работают: orange pi является интерфейсом между USB'шной железкой и сетью, позволяя работать с железякой по ssh.


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

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 1930
Eddy_Em писал(а):
Для работы с модбасом необходимо загрузить соответствующий модуль ядра, а потом уже писать свой софт аналогично разработке под RS-232 и любой другой последовательный порт.
Я бы не сказал, что это - легко. А учитывая то, какой тормозной это протокол, некоторые вещи вообще невозможно с модбасом делать (скажем, нужен тебе поток данных не меньше полумегабода, модбас так не умеет - из-за "железных" задержек).

P.S. Почитал я про этот OPC. Как и подозревал, это - почти полностью анально огороженная технология (более современные и открытые ответвления пока не популярны). В общем, совсем мимо!



2,5 MBit - протягивает старенький MAX1487.
Железная задержка - это имеется ввиду 4,5 символа паузы или негласное правило давать 1 мкс паузы для переключения между приемом на передачу и наоборот ?

P\S Modbus это по сути обычный USART завернутый в HalfDuplex, или USART тоже говно и от него надо отказаться в пользу USB :)


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

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5304
Откуда: КЧР, поселок Нижний Архыз
USART - норм, но USB удобней же. И скорость повыше может быть.
Просто не нужно дебильные протоколы использовать. Ну передавай себе данные по усарту, нафига там этот оверхед модбасовский? Особенно все эти "4.5 символа паузы" и т.п.


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

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 4212
Откуда: Винница
Кроме модбаса, на RS-485 много всякой всячины есть. К примеру, протокол Omnicomm LLS, ставший по чисто историческим причинам стандартом для датчиков уровня топлива, а впоследствии и других устройств в системах мониторинга транспорта.

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


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

Зарегистрирован: 16 окт 2013, 01:27
Сообщения: 1930
Да и МЭКовской ерунды разной на RS485 тоже более чем хватает :)


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

Зарегистрирован: 15 июл 2014, 15:27
Сообщения: 166
Сейчас разбираюсь с составными устройствами USB, в частности сдвоенным UART. И очень удобно оказалось назначить имя интерфейсу чтобы не гадать кто там на /dev/ttyACM0 назначился, кто на /dev/ttyACM1 и т.д. а прописать в udev правило чтобы создавал красивые симлинки.
Если подробнее.
В дескрипторе конфигурации iFunction у IAD и iInterface у CDC-control выделил номер чтобы драйвер прочитал строку. По идее, должно быть достаточно прописать только в одном месте, но я не искал в каком. Номера и строки у разных портов естественно должны быть разными, у меня это [4]="tty" и [5]="progr" (всего два CDC).
Потом в /etc/udev/rules.d вписал правило:
Код:
SUBSYSTEM=="tty", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df" ENV{CONNECTED_vusb}="yes"
ENV{CONNECTED_vusb}=="yes", SUBSYSTEM=="tty", ATTRS{interface}=="progr", PROGRAM="/etc/udev/rules.d/calc_ft232r.sh tty_STFLASH_", SYMLINK+="tty_STFLASH_%c"
ENV{CONNECTED_vusb}=="yes", SUBSYSTEM=="tty", ATTRS{interface}=="tty", PROGRAM="/etc/udev/rules.d/calc_ft232r.sh tty_COKP_", SYMLINK+="tty_COKP_%c"

И рядом приложил скрипт нумерации портов calc_ft232r.sh (изначально он был для ft-шек, но как-то разросся):
Код:
#!/bin/bash
x = ls /dev | grep $1 | wc -l
echo $x

Собственно, все. Теперь в /dev появляются ссылки /dev/tty_COKP_0 -> /dev/ttyACM0 и /dev/tty_STFLASH_0 -> /dev/ttyACM1
Такие странные имена у меня обусловлены одной извращенской задачей, для чего я эту штуку собственно и пилю.
В исходном варианте Bluepill-монстра можно ассоциировать порты скажем с цветами: 0-й будет красным, 1-й желтым и т.д. чтобы отображались как /dev/ttymonster_0_r, /dev/ttymonster_0_y или там /dev/ttymonster_5_g
Совсем хорошо если еще каждому дать уникальный номер чтобы не пришлось нумеровать при помощи скрипта. Тогда вообще каждый UART-выход будет всегда определяться строго и однозначно, безразлично в каком порядке их втыкать.


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

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5304
Откуда: КЧР, поселок Нижний Архыз
А смысл запускать проверку PROGRAM, если она всегда возвращает true? Ты ж RESULT не используешь, т.е. по сути скрипт тупо выполняется, ничего не делая.
P.S. А где берется список строковых значений iInterface? Погрепал по /usr/include и /usr/src/linux/include - ничего подобного не нашел.


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

Зарегистрирован: 15 июл 2014, 15:27
Сообщения: 166
Цитата:
А смысл запускать проверку PROGRAM, если она всегда возвращает true? Ты ж RESULT не используешь

Если бы не выполнялся, номера бы не менялись. Думаете, я это не проверял?
Результат идет в параметр %c в форматной строке tty_STFLASH_%c
Цитата:
P.S. А где берется список строковых значений iInterface?
Наверное, я неудачно сформулировал. В USB-дескрипторе мы задаем индексы различных строк - вендор, продукт, сериал. И точно таким же способом задаются имена для интерфейсов и других составных частей: в iInterface пишем номер очередного интерфейса, а потом по запросу GET_STRING возвращаем строку целиком.
Как-то так:
Код:
//ttyACM0 (interface 0, 1) - TTY
  ARRLEN1( //IAD
    bLENGTH,
    USB_DESCR_IAD, //bDescriptorType
    ifnum( interface_tty ), //0, //bFirstInterface
    ifcnt( interface_tty ) ,//2, //bInterfaceCount
    DEVCLASS_CDC, // bInterfaceClass:
    CDCSUBCLASS_ACM, // bInterfaceSubClass:
    CDCPROTOCOL_UNDEF, // bInterfaceProtocol:
    STR_TTY,//0x00, // iFuncion <-----------------------------------имя IAD (в моем случае 4)
  )
    ARRLEN1(//CDC control Interface
      bLENGTH, // bLength
      USB_DESCR_INTERFACE, // bDescriptorType
      ifnum( interface_tty ), //0, // bInterfaceNumber
      0, // bAlternateSetting
      1, // bNumEndpoints
      DEVCLASS_CDC, // bInterfaceClass:
      CDCSUBCLASS_ACM, // bInterfaceSubClass:
      CDCPROTOCOL_UNDEF, // bInterfaceProtocol:
      STR_TTY,//0x00, // iInterface <----------------------------------имя интерфейса (в моем случае 4)
    )

Код:
USB_STRING(USB_StringLangDescriptor, u"\x0409"); //lang US
USB_STRING(USB_StringManufacturingDescriptor, u"COKPOWEHEU"); //Vendor
USB_STRING(USB_StringProdDescriptor, u"USB RISCV programmer"); //Product
USB_STRING(USB_StringSerialDescriptor, u"1"); //Serial (BCD)
USB_STRING(USB_String_TTY, u"tty");
USB_STRING(USB_String_PROGR, u"progr");


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

Зарегистрирован: 15 июл 2014, 15:27
Сообщения: 166
Eddy_Em, вы неоднократно говорили, что предпочитаете эмулировать не CDC-ACM, а pl2303. Я попробовал воспользоваться вашим кодом - когда CDC один это работает, но если его совмещать с другими устройствами, возникают проблемы. Это мой косяк или проприетарщиков из pl?


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

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 4245
Откуда: Китай, Пекин
Цитата:
сам будет шифрование соединения обеспечивать и ssh поднимет?

а для чего? объясни.
чтобы шпиёны не узнали сколько градусов за окном?

_________________
unirail.org


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

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

Не проверял, возможно, там что-то хитрое нужно сделать: все-таки, PL2303 — не совсем честный CDC.


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

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 1193
cheblin писал(а):
Цитата:
сам будет шифрование соединения обеспечивать и ssh поднимет?

а для чего? объясни.
чтобы шпиёны не узнали сколько градусов за окном?

Вот-вот. Когда сталкивался с сетями, в которых передавалась информация с грифом "СС", посмотрел, какими средствами обеспечивается защита. Это и прокладка кабелей в стальных трубах, и видео наблюдение за линией связи, и двойной периметр охраны, и компы в охраняемых помещениях и т.д., и т.п. Глубоко не вникал, но после виденного все эти шифрования- это засекретить температуру за окном, тут я с cheblin согласен. Видимо, серьёзные дядьки считают, что только исключение контакта злоумышленника с линией передачи и физическим носителем информации может гарантировать её защиту. Кстати, трубы подходили к сейфам, в которых стояли компы.


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

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 5304
Откуда: КЧР, поселок Нижний Архыз
tonyk, если ты считаешь, что шифрование не нужно, поставь себе в машину сигналку, которая будет по незашифрованному каналу работать. Посмотрим, много ли жулику времени понадобится, чтобы твою сигналку взломать!


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

Зарегистрирован: 08 июл 2013, 17:00
Сообщения: 1193
Eddy_Em писал(а):
tonyk, если ты считаешь, что шифрование не нужно, поставь себе в машину сигналку, которая будет по незашифрованному каналу работать. Посмотрим, много ли жулику времени понадобится, чтобы твою сигналку взломать!

Лет 10 назад на одной из выставок по системам безопасности показывали девайс под лукавым названием типа "сканер сети". Коробочка чуть больше штатного брелка от автомобильной сигналки. Цена то ли $4000, то $9000, не помню. Та хрень за несколько секунд подбирала коды для Старлайнов, Шерханов и прочих, типа как универсальный ключ в отелях от всех номеров. С тех пор я отношусь ко всем видам шифрования как к фИговому листочку, прикрывающему срам и сохраняющему некое подобие приличия. Ну, типа, дабы удом свом не трясти перед фейсами почтенной публики.
Да, я согласен с тобой, что шифровать в ряде случаев нужно, твой пример с сигналками правильный. Как защита от наивных пионеров самое оно то. Но! На серьёзных производствах управляющие сети никогда не подключают к Интернету. Никогда. Физически нет доступа. Там и Винды-то нет, кстати. Поэтому нафиг там шифрование? Там важнее простота, дешевизна и проверенная временем надёжно передачи, что, кстати, свойственно Модбасу.


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

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

И еще раз про модбас - это ублюдский протокол, который разве что совсем невменяемые используют! Ну возьми ты, да используй простой текстовый протокол вроде "параметр=значение\n". Удобно и здорово. И отлаживается легко.


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

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2277
Eddy_Em писал(а):
Все элементарно ...

Просто какой то фонтан знаний открылся.


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


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


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

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


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

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

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