Контроллер LinuxCNC на базе FPGA?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Контроллер LinuxCNC на базе FPGA?

Сообщение R6MF49T2 » 07 дек 2018, 15:19

Сейчас по работе работаю с интересным чипом Intel (Altera) Cyclone V SOC FPGA.
По сути это ПЛИСина с двумя ядрами ARM Cortex-A9. Линукс на ядрах завёлся с пол пинка, на ПЛИС можно написать любые генераторы сигналов/интерфейсы и без проблем их подключить к ядрам с очень низкой задержкой и очень простым управлением. Появилась идея реализовать на данном чипе компактный контроллер на базе LinuxCNC.

С железной стороны всё довольно очевидно, ставим плис с обвязкой, выводим наружу все доступные интерфейсы арм-подсистемы (езернеты, usb, uart, i2c, spi и прочие). Память, питание, генераторы, картридер для загрузки, часы с батарейкой распаиваем на плате. Видеовыход делаем на плисине, например eDP (есть ip-core + куча дешёвых матриц от ноутбуков, причём много с встроенным ёмкостным сенсором). Все свободные ноги плисины выводим на мезанинный разъём, к которому можно подключить либо плату опторазвязки, либо кому что захочется.
В итоге получим компактную плату с LinuxCNC подключаемую к дешёвым сенсорным матрицам и железным генератором управляющих сигналов по стоимости сравнимой с некоторыми платами mesa.

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

Теперь к вопросам:
1)Из опыта использования LCNC, сколько необходимо оперативной памяти и вычислительных ресурсов (частоты/количество ядер/поддержка float) для комфортной работы пользовательского интерфейса? Про латенси можно забыть так как генерация сигналов будет в плис.
2)Будет ли интерес к проекту?
3)За какую стоимость вы купили бы подобную плату при условии открытого проекта и наличии всех исходников?
Аватара пользователя
R6MF49T2
Мастер
 
Сообщения: 225
Зарегистрирован: 14 июл 2016, 17:18
Откуда: Великий Новгород/Санкт-Петербург
Репутация: 31

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение MX_Master » 07 дек 2018, 15:57

Для полноценной работы текущих интерфейсов LinuxCNC нужен настольный проц от 1.6 ГГц с настольным видеочипом, который полноценно поддерживает OpenGL. Что-то мне подсказывает, что в вышеуказанных чипах есть поддержка только OpenGL ES. Ну и память для комфортной работы должна быть от 2 Гб и выше.

Ну и как показала практика, люди хотят уже готовые решения. Есть ли исходники там или нет - дело десятое, т.к. из всех потенциальных пользователей туда заглянет только 2-3 человека за всё время.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4189
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2072
Медальки:
Настоящее имя: Михаил

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение R6MF49T2 » 10 янв 2019, 15:26

MX_Master, да, с OpenGL засада. OpenGL ES тоже нет, хотя существует возможность реализовать его на ПЛИС.
Не могу найти информацию, можно ли собрать LinuxCNC без графики. Вроде при какой-то ошибке конфигурирования он мне выдал что мол можно использовать опцию --disable-python, но видимо в текушей версии такого варианта нет.
Аватара пользователя
R6MF49T2
Мастер
 
Сообщения: 225
Зарегистрирован: 14 июл 2016, 17:18
Откуда: Великий Новгород/Санкт-Петербург
Репутация: 31

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение MX_Master » 10 янв 2019, 16:31

Думаю, питон отключать не надо, в LinuxCNC на нём работает не только графика, но и много чего интересного. Если надо только для пробы, можно не собирая LinuxCNC, просто установить Machinekit (клон LinuxCNC) - http://www.machinekit.io/docs/getting-started/installing-packages/. Если для управления юзать не графический интерфейс, а, скажем, Python Interface, то графика в чипе будет не нужна.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4189
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2072
Медальки:
Настоящее имя: Михаил

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение mmv » 10 янв 2019, 17:17

И сколько будет стоить подобное творение в партии несколько десятков. Сколько сам чип стоит?
Платы для модернизации станков на Linuxcnc.
viewtopic.php?f=19&t=11116#p268407
mmv
Опытный
 
Сообщения: 183
Зарегистрирован: 24 май 2016, 21:58
Репутация: 16

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение R6MF49T2 » 11 янв 2019, 09:26

MX_Master писал(а):Думаю, питон отключать не надо, в LinuxCNC на нём работает не только графика, но и много чего интересного. Если надо только для пробы, можно не собирая LinuxCNC, просто установить Machinekit (клон LinuxCNC) - http://www.machinekit.io/docs/getting-s ... -packages/. Если для управления юзать не графический интерфейс, а, скажем, Python Interface, то графика в чипе будет не нужна.

Спасибо, полезная для меня информация. Попробую запустить на отладке чтоб оценить жизнеспособность задуманного. Правильно я понимаю что собрать LinuxCNC без пакетного менеджера нереально? В своих эксперементах с различными платами, Вы собирали непосредственно на плате или использовали кросс-компиляцию?

mmv писал(а):И сколько будет стоить подобное творение в партии несколько десятков. Сколько сам чип стоит?

Попробую прикинуть. Возможно несколько вариантов:
1) Отладка с плис 50 тыс. логических ячеек (без GX-ов) продаются от 100 долларов, например https://www.terasic.com.tw/cgi-bin/page ... 205&No=941 (при стоимости чипа например в дижикее 145 долларов). С доставкой в Россию отладка будет стоить 130. Если выбрать дисплей с параллельным интерфейсом (или с не очень высокочастотным LVDS), то всего-то нужно сделать мезаниную плату к отладке с опторазвязкой (или необходимым интерфейсом) и разъёмами, думаю в 40 долларов уложится можно + стоимость дисплея. Из минусов - сложно найти недорогой дисплей который не снят с производства с более менее нормальным разрешением, подключение дисплея займёт 15-30 IO из 40 доступных.
2) Выбрать отладку чуть подороже, за 130 (162 с доставкой в рф), вот такую https://www.terasic.com.tw/cgi-bin/page ... 05&No=1046
В ней есть HDMI что упростит задачу, так как не понадобится возится с выбором дисплея, все IO доступны под интерфейсы. Но придётся делать поддержку различных разрешений мониторов, добавлять драйвера различных тачей, городить usb-hub. Тогда нужна крайне простая интерфейсная плата, можно даже готовую китайскую выбрать если не лень возится с жгутами.
3) Разработать полностью свою плату. Тут уже можно выбрать чип с GX, что позволит подключить дешёвые ноутбучные матрицы с высоким разрешением по интерфейсу eDP, можно получить плату более компактную и энергоэффективную, с любыми интерфейсами и хотелками. Стоимость такого решения сказать затрудняюсь, но это будет явно дороже предыдущих вариантов, но такой вариант более красивый с инженерной точки зрения.

Но вначале нужно запустить на данном чипе LCNC, может он просто не потянет его...
Аватара пользователя
R6MF49T2
Мастер
 
Сообщения: 225
Зарегистрирован: 14 июл 2016, 17:18
Откуда: Великий Новгород/Санкт-Петербург
Репутация: 31

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение MX_Master » 11 янв 2019, 10:31

R6MF49T2 писал(а):Правильно я понимаю что собрать LinuxCNC без пакетного менеджера нереально? В своих эксперементах с различными платами, Вы собирали непосредственно на плате или использовали кросс-компиляцию?

Я никогда LinuxCNC не собирал (: Cобирал только Linux c помощью Armbian. Только кросс-компиляция. На ARM платах собирать такое можно целый день, не стоит оно того.

По поводу цены.. лично я уже всё посчитал (: комплект Orange Pi (H3/H5) + STM32 будет самым лучшим по соотношению цены и производительности. 4-5 МГц - без проблем. Чтобы было красивее с инженерной точки зрения, я планирую сделать платку с STM32 в виде шильдика для Orange Pi.
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4189
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2072
Медальки:
Настоящее имя: Михаил

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение donvictorio » 11 янв 2019, 10:49

R6MF49T2 писал(а):3)За какую стоимость вы купили бы подобную плату при условии открытого проекта и наличии всех исходников?

100-150 баксов. выше уже нет смысла, полно интегрированных решений, типа ddcsv.
Аватара пользователя
donvictorio
Мастер
 
Сообщения: 2152
Зарегистрирован: 11 окт 2012, 16:26
Откуда: Санкт-Петербург
Репутация: 606
Настоящее имя: Виктор

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение R6MF49T2 » 11 янв 2019, 13:05

MX_Master писал(а):Я никогда LinuxCNC не собирал (: Cобирал только Linux c помощью Armbian. Только кросс-компиляция. На ARM платах собирать такое можно целый день, не стоит оно того.

Ну ядро и rootfs понятно что компилить с компа. А вот LinuxCNC для сборки (компиляции из исходников) требует много всяческих библиотек и пакетов. Всё это ставить через make очень не хочется, а пакетного менеджера на подобии apt-get у меня в rootfs нет (голый linux). Предполагаю что можно собрать rootfs на базе например debian или ubuntu, тогда при помощи apt-get собрать LinuxCNC будет проще. Но возникла мысль кросс-скомпилировать LinuxCNC на стационарном компе под Arm и засунуть их в rootfs, но не уверен что такое возможно.

donvictorio писал(а):100-150 баксов. выше уже нет смысла, полно интегрированных решений, типа ddcsv.

Спасибо за мнение. У меня есть ddcsv, и по сравнению с LCNC его возможности крайне бедны.
Аватара пользователя
R6MF49T2
Мастер
 
Сообщения: 225
Зарегистрирован: 14 июл 2016, 17:18
Откуда: Великий Новгород/Санкт-Петербург
Репутация: 31

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение mmv » 12 янв 2019, 12:09

Как коммерческий продукт при такой себестоимости не прокатит. Потому что есть более простые решения: PC+меса,PC+STM,PC+to_pci(ethernet), вместо PC может быть и orange pi. В сравнении с которыми ваш проект с пользовательской точки зрения не даёт никаких преимуществ. Пользователь выберет более распространенный продукт, по которому много чего написано.
Как проект, что бы попробовать свои силы да, наверно не плохо. Но ресурсов (время) будет потрачено очень много.
Платы для модернизации станков на Linuxcnc.
viewtopic.php?f=19&t=11116#p268407
mmv
Опытный
 
Сообщения: 183
Зарегистрирован: 24 май 2016, 21:58
Репутация: 16

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение Lexxa » 12 янв 2019, 12:19

А главное зачем? На рынке полно законченных вполне бюджетных промышленных решений
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2558
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 295
Медальки:
Настоящее имя: Алексей

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение aftaev » 12 янв 2019, 12:30

Если есть интерес, могу разобрать и сфоткать на каких чипах собран ЧПУ Сименс 808Д. Работает под Linux.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение MX_Master » 12 янв 2019, 12:47

aftaev писал(а):Если есть интерес, могу разобрать и сфоткать на каких чипах собран ЧПУ Сименс 808Д. Работает под Linux.

Александр, думаю, не надо. Всё равно казахский сименс будет работать на STM'ах :hehehe:
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4189
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2072
Медальки:
Настоящее имя: Михаил

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение Lexxa » 12 янв 2019, 13:00

aftaev, я разбирал.
Там Intel Atom процессор впаяный, оперативка тоже впаяная, Altera Cyclone IV fpga на природную часть, s7-200 впаяная для PLC, ну и драйверы RS232, RS485, I/O.

Но на самом деле там хитро как-то работает linux.
Ядро ЧПУ на linux, а HMI приложения windows'a.
Комната залита кровью, я занимаюсь любовью!
Аватара пользователя
Lexxa
Мастер
 
Сообщения: 2558
Зарегистрирован: 16 дек 2011, 16:48
Откуда: ryazan
Репутация: 295
Медальки:
Настоящее имя: Алексей

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение aftaev » 12 янв 2019, 13:16

Lexxa писал(а):aftaev, я разбирал.

Я тоже разбирал, но не фоткал. Раз народу не интересно, фоткать не буду.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 30075
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 5311
Медальки:

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение MX_Master » 12 янв 2019, 14:16

Lexxa писал(а):Но на самом деле там хитро как-то работает linux.
Ядро ЧПУ на linux, а HMI приложения windows'a.

Wine? Кстати, если кто-то захочет свою стойку сделать под Windows, есть ReactOS ;)
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4189
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2072
Медальки:
Настоящее имя: Михаил

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение R6MF49T2 » 12 янв 2019, 15:50

mmv писал(а):Как коммерческий продукт при такой себестоимости не прокатит. Потому что есть более простые решения: PC+меса,PC+STM,PC+to_pci(ethernet), вместо PC может быть и orange pi. В сравнении с которыми ваш проект с пользовательской точки зрения не даёт никаких преимуществ. Пользователь выберет более распространенный продукт, по которому много чего написано.
Как проект, что бы попробовать свои силы да, наверно не плохо. Но ресурсов (время) будет потрачено очень много.

Ну какая стоимость получится комплекта PC+меса? Если рассматривать именно pci/pcie решения? PC+STM не рассматриваю, так как они просто не смогут обеспечить такую стабильность и скорость генерации сигналов как fpga.

Главное преимущество именно моего решения - минимальные задержки передачи данных между cpu и fpga (пропускная способность 16-17 Гбит/c) абсолютно без нагрузки на cpu. Ну и конструкция получится значительно более компактная, законченная, пользователю просто не нужно что либо устанавливать, компилировать и так далее. Записал обаз на флешку, включил и работай. По крайней мере задумка такая. За счёт того что stepgen переносится из cpu на fpga, linuxcnc должен работать значительно шустрее, латенси минимальный, почти как в случае c linuxcnc + mesa только быстрее за счёт значительно более быстрого интерфейса между cpu и fpga. Ну и сам Linux тут будет скомпилирован только с самым необходимым, что так же должно сказаться на скорости работы и надёжности. Если конечно доведу проект до конца.

Lexxa писал(а):А главное зачем? На рынке полно законченных вполне бюджетных промышленных решений

В качестве хобби. Вторая причина - по недосмотру купил 100-ватные сервопаки с интерфейсом RTEX (Realtime Express), а готовые pci платы для этого интерфейса стоят от 500$.
Микруху этого интерфейса MNM1221 заказал по дешёвке, но реализовывать конвертер step/dir -> RTEX почти так же по сложности как и сделать готовую стойку с этим интерфейсом, характеристики которой будут значительно более лучшими.
Аватара пользователя
R6MF49T2
Мастер
 
Сообщения: 225
Зарегистрирован: 14 июл 2016, 17:18
Откуда: Великий Новгород/Санкт-Петербург
Репутация: 31

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение R6MF49T2 » 12 янв 2019, 15:51

aftaev писал(а):
Lexxa писал(а):aftaev, я разбирал.

Я тоже разбирал, но не фоткал. Раз народу не интересно, фоткать не буду.

Ну специально ради этого думаю нет смысла разбирать, но при случае фото будут интересны
Аватара пользователя
R6MF49T2
Мастер
 
Сообщения: 225
Зарегистрирован: 14 июл 2016, 17:18
Откуда: Великий Новгород/Санкт-Петербург
Репутация: 31

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение MX_Master » 12 янв 2019, 16:13

R6MF49T2 писал(а):PC+STM не рассматриваю, так как они просто не смогут обеспечить такую стабильность и скорость генерации сигналов как fpga.

И степмастер от Михаила Юрова наглядное тому опровержение (:

Когда буду тестировать свой новый генератор на STM32H7, обязательно покажу фотки вывода. Я, чесслово, без понятия каким таким драйверам нужно на вход больше 4-5 МГц, но для STM'ов это не проблема. При этом всём процессор может свободно заниматься и другими делами :)
Аватара пользователя
MX_Master
Мастер
 
Сообщения: 4189
Зарегистрирован: 27 июн 2015, 19:45
Откуда: KZ
Репутация: 2072
Медальки:
Настоящее имя: Михаил

Re: Контроллер LinuxCNC на базе FPGA?

Сообщение UAVpilot » 12 янв 2019, 16:20

R6MF49T2 писал(а):Главное преимущество именно моего решения - минимальные задержки передачи данных между cpu и fpga (пропускная способность 16-17 Гбит/c) абсолютно без нагрузки на cpu.

Как раз это и не нужно, тут вполне хватает скоростей ethernet. А вот быстродействия для работы нормального пользовательского интерфейса (gmoccapy) катастрофически недостаточно. Я уже год-два назад пробовал и DE10-Nano и DE0-Nano-SoC - шевелится довольно печально...
Я пробовал разные платы, минимальные требования получаются такими: от 1.8GHz, лучше 2GHz, от 1GB RAM, лучше 2GB.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 17803
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4397
Медальки:
Настоящее имя: Сергей

След.

Вернуться в LinuxCNC

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

Зарегистрированные пользователи: 13x13, Alex261153, Alexandr Borisjuk, basurman971, Bender, Bing [Bot], CactusMan, CNCCLUB, denisfunk, dima138, dpss-2, enderukov, Enot_1, frezeryga, Gestap, Google [Bot], hmnijp, ignv, iMaks-RS, Magzzz, Rinerk, Rom327, Samodelkin 88, serge.1976, sivolap36, Varianty, Vit888, Vladimir52, Yandex [bot]

Reputation System ©'