Ethernet контроллер для LinuxCNC (STM32, FPGA)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение selenur »

MX_Master писал(а):что развязку и доп. функции нужно делать только отдельными платками. Учесть все варианты подключения устройств и разместить на одной плате всё необходимое - выйдет довольно дорого.
Вот тут тоже интересный момент, по поводу компоновки, типа бутерброд, или вот такого типа:
quick-240-iso_ethernet_with_4_cards_25percent_alpha.png (2573 просмотра) <a class='original' href='./download/file.php?id=135477&sid=2521736cef45edf9771e6d50ad519b4e&mode=view' target=_blank>Загрузить оригинал (540.88 КБ)</a>
(взято тут: https://quick240.com/quicki/)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
N1X
Мастер
Сообщения: 3653
Зарегистрирован: 16 фев 2015, 21:19
Репутация: 1645
Настоящее имя: Владимир
Откуда: Беларусь, Гомель
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение N1X »

selenur, такого типа в мелкосерийке, боюсь, выйдет дороже, чем все сразу распаять на плате...
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Кстати, предлагаю всем кто хочет придумать название для будущей платки. Это же название возьмём и для драйвера LinuxCNC.

Наверно, лучше что-нибудь короткое, чтоб и в hal файле быстро написать и запомнить легко. Первое рабочее имя было mxio
Последний раз редактировалось MX_Master 25 мар 2018, 10:40, всего редактировалось 2 раза.
Аватара пользователя
FLUKE
Мастер
Сообщения: 843
Зарегистрирован: 11 мар 2013, 21:18
Репутация: 187
Настоящее имя: Сергей
Откуда: Смоленск
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение FLUKE »

MX_Master писал(а):название для будущей платки
"MX_Master" :eat:
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

MX32 ?
Аватара пользователя
solo
Мастер
Сообщения: 1374
Зарегистрирован: 20 окт 2011, 18:39
Репутация: 272
Настоящее имя: Юрий Соловьев
Откуда: Украина Харьков
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение solo »

FLUKE писал(а):
MX_Master писал(а):название для будущей платки
"MX_Master" :eat:
я тоже за МХ Мастера
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Impartial »

Ввиду острого нежелания что либо программировать предлагаю супер современное решение чип LAN9252.
Получится EtherCAT, без программирования и огромной расширяемостью.
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение selenur »

https://www.youtube.com/watch?v=5nkwYL-za5g
вот тут прикольно показали возможности, надо будет для тестов купить.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Аватара пользователя
MX_Master
Мастер
Сообщения: 7478
Зарегистрирован: 27 июн 2015, 19:45
Репутация: 3099
Настоящее имя: Михаил
Откуда: Алматы
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение MX_Master »

Impartial писал(а):Ввиду острого нежелания что либо программировать предлагаю супер современное решение чип LAN9252.
Получится EtherCAT, без программирования и огромной расширяемостью.
Я с удовольствием, но сначала мне надо приобресть минимальный опыт и проложить дорогу в этом направлении. Я ещё не знаю, как себя покажет текущий вариант.
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение alex1816 »

Impartial писал(а):Ввиду острого нежелания что либо программировать предлагаю супер современное решение чип LAN9252.
Получится EtherCAT, без программирования и огромной расширяемостью.
Если чип еще куда не шло, то платы на его базе в заоблачном диапазоне.. :(
selenur писал(а):вот тут прикольно показали возможности, надо будет для тестов купить.
Цены не совсем гуманные для тестов и на этот easycat.....
А вообще заманчивая штуковина ..
MX_Master писал(а):но сначала мне надо приобресть минимальный опыт и проложить дорогу в этом направлении.
Так какие планы начальные будут? То есть какой функционал платы в общем будет?
То есть что на входе и что на выходе в начальном варианте планируется получить? (то есть в общем функционально).
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4604
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1621
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение selenur »

alex1816 писал(а):Если чип еще куда не шло, то платы на его базе в заоблачном диапазоне..
Посмотрел... если чип можно купить за 600-700 рублей, то платы ценой от 30000 рублей...
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Impartial »

MX_Master писал(а):Я ещё не знаю, как себя покажет текущий вариант.
Я вам могу сказать что получится. Идея использовать UDP протокол упрется в TCP/IP стек. Это сразу означает то , что в серво поток не укладываемся, не говоря уже о базовом. Это вынудит использовать управление по позиции ( при движении) и сильно усложнит алгоритмы обработки приводов в СТМке не важно шаговик это или серва.
EtherCAT не требует стека и драйвер на мастере может быть запущен в базовом потоке.
Мне, правда, с ходу не удалось запустить драйвер мастера на Н3.
Может вам это удастся.
Описания езернет контроллера на этот чип отвратительное.
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение T00T »

Impartial писал(а): Идея использовать UDP протокол упрется в TCP/IP стек
Это почему же?
Я не волшебник я пока учусь......
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Impartial »

А что есть варианты? Расскажите.
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение alex1816 »

Impartial писал(а):Идея использовать UDP протокол упрется в TCP/IP стек.
mesa использует, успевает. Раз в сервоцикл соединилась да и ладно:)
Если взять микросхемы 5100-5500 - то со стеком вообще просто выйдет.
Impartial писал(а):EtherCAT не требует стека и драйвер на мастере может быть запущен в базовом потоке.
EtherCat - это вообще протокол реального времени и если его правильно реализовать, то задержки при обмене на каждом узле должны быть не больше 1 мкс и тогда на мастере можно обрабатывать и скорость и позицию и не только.
Но не так все просто в нем оказывается, особенно в ценах. И для того чтобы его использовать, надо определится чем управлять через него и какие данные передавать и как передавать.
Может такое получится, что если связываться между линуксцнц и контроллером раз в сервоцикл то и юдп хватит с головой - проект то бюджетный.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Impartial »

Не успевает UDP в сервоцикл 1mc уложиться. Если есть другие сведения то поделитесь.

Чем не устраивает цена за чип в 10$ ? Ведь без всякого программирования это замена 2х LPT портов.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Serg »

Код: Выделить всё

$ traceroute -U -q 10 172.16.0.222 5000
traceroute to 172.16.0.222 (172.16.0.222), 30 hops max, 5000 byte packets
 1  stm32test.home (172.16.0.222)  0.380 ms  0.358 ms  0.342 ms  0.365 ms  0.403 ms  0.331 ms  0.327 ms  0.324 ms  0.345 ms  0.406 ms
$
И это не выделенное соединение, а через дешёвенький свич и с компа, на который сейчас льётся около 4Mbit/s онлайн видео.
Снимок экрана от 2018-03-26 02-06-17.png (2417 просмотров) <a class='original' href='./download/file.php?id=135588&sid=2521736cef45edf9771e6d50ad519b4e&mode=view' target=_blank>Загрузить оригинал (15.77 КБ)</a>
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Impartial »

Простой расчет показывает, что для передачи 5000 байт только в одну сторону без доп. трафика и задержек свича нужно 0.4 мс.
Откуда такие цифры?
alex1816
Мастер
Сообщения: 224
Зарегистрирован: 03 фев 2017, 01:06
Репутация: 35
Настоящее имя: Александр
Откуда: Украина
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение alex1816 »

Impartial писал(а):Не успевает UDP в сервоцикл 1mc уложиться. Если есть другие сведения то поделитесь.
Чем не устраивает цена за чип в 10$ ? Ведь без всякого программирования это замена 2х LPT портов.
Я не против езерката вообще, я конечно в нем еще не разобрался до конца и как его можно применить в хобийных решениях, но ...
Для того чтобы что-то обсуждать наверное нужно определиться: что нужно по езеркату или по юдп передавать.
Одно дело степ-дир передавать на шаговик, другое дело обрабатывать еще значения енкодера, и к примеру аналог генерировать (при этом где будет находится контур скорости?) и успеет ли мастер (на базе обычного ПК) с поставленными задачами?
Эзеркат классный если его поддерживают все исполнительные устройства, к примеру если сервоприводы подключены все слейвами, а ПЛК - мастер. В этом случае половину функционала сервоприводов можно перекинуть на мастер(сделать чтобы контур позиции, скорости и тп было в ПЛК), и при этом витой парой соединяются устройства и не нужно тянуть лишние провода с энкодеров, аналог если есть и тп.

В 1мс уложится юдп, меса то укладывается, а вот если нужно обрабатывать что-то быстрее - тогда конечно... наверное на плечи контроллера нужно перекладывать или протокол менять.
Хотя если степ-дир побыстрее гнать ... может и можно езеркат.... UAVpilot с реализацией слейва экспериментировал уже и вроди бы успешно :)

PS:
Здесь советовали как упростить обработку стека и снять доп нагрузку с контроллера:
UAVpilot писал(а):W5X00 - вся физика и tcp/ip стэк уже внутрию А скорость SPI теоретически неограничена, например общение с оптическими трансиверами (телекомуникации) происходит по SPI на скорости 80Gbit/s.
Те-же W5X00 поддерживают 80Mbit/s.
Здесь ссылка на доку месы как у нее организован обмен:
http://www.cnc-club.ru/forum/viewtopic. ... 60#p428590
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Плата развязки для LinuxCNC (Ethernet + STM32)

Сообщение Serg »

Impartial писал(а):Простой расчет показывает, что для передачи 5000 байт только в одну сторону без доп. трафика и задержек свича нужно 0.4 мс.
У меня получается порядка 50us. :)
Impartial писал(а):Откуда такие цифры?
С экрана компа. :)
Демоплатка с dp83848, с W5500 результаты раза в два хуже будут - он осиливает порядка 50Mbit/s.
Опять-же напомню про Mesa, работающие именно по UDP. "Ругаться" они будут если задержки превысят 0.6ms (по памяти).

alex1816 писал(а):Хотя если степ-дир побыстрее гнать ...
step/dir никуда гнать не надо - ничего хорошего не получится. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

Вернуться в «LinuxCNC»