пульт для чпу
пульт для чпу
Есть мысль создания (полу)автономного пульта с драйвером для чпу
база fpga + adc + силовая исполнительная часть
наполнение fpga
цифровой автомат реализующий микрошаг для ШД и(или) сервопривод на базе (без)коллекторных движков.
цифровой автомат для управления шпинделем (vfd)
и на закуску + sdram + flash + софтоверный процессор для запуска линуха, например microblaze http://ru.wikipedia.org/wiki/MicroBlaze
и запуска в нем emc2
для меня цель этой задумки глубже освоить fpga, линукс + польза себе и людям
зы плат с fpga на ebay есть по вполне бюджетным ценам
база fpga + adc + силовая исполнительная часть
наполнение fpga
цифровой автомат реализующий микрошаг для ШД и(или) сервопривод на базе (без)коллекторных движков.
цифровой автомат для управления шпинделем (vfd)
и на закуску + sdram + flash + софтоверный процессор для запуска линуха, например microblaze http://ru.wikipedia.org/wiki/MicroBlaze
и запуска в нем emc2
для меня цель этой задумки глубже освоить fpga, линукс + польза себе и людям
зы плат с fpga на ebay есть по вполне бюджетным ценам
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: пульт для чпу
Достойная задача! Но достаточно сложная. EMC2 - это очень универсальный инструмент, он может управлять очень большим количеством устройств. При этом он использует очень много возможностей ПК, в том числе его гибкость. Да, мощность компьютера зачастую избыточна, и не используется для управления станком. Но самое главное - гибкость в ущерб производительности.
FGPA обладают гарантированной производительностью но меньшими возможностями по гибкости, размерам программ, многозадачности.....
Предлагаю для начала установить ТЗ. Что нужно определить:
FGPA обладают гарантированной производительностью но меньшими возможностями по гибкости, размерам программ, многозадачности.....
Предлагаю для начала установить ТЗ. Что нужно определить:
- Возможности системы в вычислительном плане, какие функции будет выполнять контроллер, например от сложного к простому, разбор gкода, вычисление траектории, управление двигателями по заданной программе.
- Чем собираемся управлять, какие двигатели и в каком количестве.
- Как будем получать команды, формат и интерфейс
- Обработка датчиков. Какие датчики и какие действия с ними. Простой пример, концевые датчики, датчик Estop, сложнее - датчики шпинделя, положения инструмента, энкодеры....
- Внутренний язык для обработки событий. Для выставления нулей, ожидания готовности периферийного оборудования.
- Компоновка всей системы.
- ...
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: пульт для чпу
Хорошая цель. Но если разобраться - не особо актуальная. ЕМС2 и так позволяет реализовать на FPGA контроллеры ШД и сервоприводов, играя при этом роль планировщика траектории и интерфейса.
Большое обсуждение СЧПУ подобного плана есть на cnczone.ru.
PS: Nick, из-за цитат в шапке периодически скачет вся страница!
Большое обсуждение СЧПУ подобного плана есть на cnczone.ru.
PS: Nick, из-за цитат в шапке периодически скачет вся страница!
Re: пульт для чпу
ТЗ:
1. N КАНАЛЬНЫЙ ДРАЙВЕР ШД
реализация микрошагового управления шаговыми двигателями в подчиненном режиме. Управление PC/lpt emc2, mach3. step/dir.
выходные драйверы ШИМ и(или) линейные, питание выходных мостов 12-100В, регулируемая токовая защита выходов драйверов 1-10А. тепловая защита двигателей и драйверов.
поддержка терминала для вывода состояния драйвера на хост машину.
2. N КАНАЛЬНЫЙ ДРАЙВЕР КОЛЛЕКТОРНОГО СЕРВОПРИВОДА
Управление PC/lpt emc2, mach3. step/dir?. выходной драйвер из П.1.
энкодеры. пид регуляторы. настройка параметров пид через терминал П.1.
3. частотный драйвер шпинделя. (под вопросом целесообразность. легко купить готовое решение)
управление драйвером 3х фазного моста. входное 220В 10А . выход 0-220В 0-400Гц.
4. запуск Linux на Microblaze
интерфейс Microblaze (emc2/Linux) к П.1 - 3
5. минимализация размеровlinux/emc2 до достаточного для пульта чпу
6. внешние терминалы
7.
где fpga отстают так это в размерах и сложности программ. имхо ниша у них: простые, быстрые паралельные процессы, то что надо ЧПУ.
1. N КАНАЛЬНЫЙ ДРАЙВЕР ШД
реализация микрошагового управления шаговыми двигателями в подчиненном режиме. Управление PC/lpt emc2, mach3. step/dir.
выходные драйверы ШИМ и(или) линейные, питание выходных мостов 12-100В, регулируемая токовая защита выходов драйверов 1-10А. тепловая защита двигателей и драйверов.
поддержка терминала для вывода состояния драйвера на хост машину.
2. N КАНАЛЬНЫЙ ДРАЙВЕР КОЛЛЕКТОРНОГО СЕРВОПРИВОДА
Управление PC/lpt emc2, mach3. step/dir?. выходной драйвер из П.1.
энкодеры. пид регуляторы. настройка параметров пид через терминал П.1.
3. частотный драйвер шпинделя. (под вопросом целесообразность. легко купить готовое решение)
управление драйвером 3х фазного моста. входное 220В 10А . выход 0-220В 0-400Гц.
4. запуск Linux на Microblaze
интерфейс Microblaze (emc2/Linux) к П.1 - 3
5. минимализация размеровlinux/emc2 до достаточного для пульта чпу
6. внешние терминалы
7.
скажем точнее FGPA может обеспечить гарантированную пиковую производительность при должном распаралеливании процессов.Nick писал(а):FGPA обладают гарантированной производительностью но меньшими возможностями по гибкости, размерам программ, многозадачности.....
где fpga отстают так это в размерах и сложности программ. имхо ниша у них: простые, быстрые паралельные процессы, то что надо ЧПУ.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: пульт для чпу
ИМХО, драйверы лучше отдельно паять, так конструкция будет модульной, а значит легко расширяемой и заменяемой, если вылетит один драйвер не придется менять всю плату. Но для всего выше перечисленного уже есть mesa. Она как раз на FGPA и умеет выполнять функции генератора шагов и пид регулятора. Кстати можешь посмотреть на прошивки hostmot2 - в них все это зашито.АБу писал(а):1. N КАНАЛЬНЫЙ ДРАЙВЕР ШД реализация микрошагового управления шаговыми двигателями в подчиненном режиме. Управление PC/lpt emc2, mach3. step/dir. выходные драйверы ШИМ и(или) линейные, питание выходных мостов 12-100В, регулируемая токовая защита выходов драйверов 1-10А. тепловая защита двигателей и драйверов. поддержка терминала для вывода состояния драйвера на хост машину.
2. N КАНАЛЬНЫЙ ДРАЙВЕР КОЛЛЕКТОРНОГО СЕРВОПРИВОДА Управление PC/lpt emc2, mach3. step/dir?. выходной драйвер из П.1. энкодеры. пид регуляторы. настройка параметров пид через терминал П.1.
Что важно, в этом случае управление от компьютера идет на более высоком уровне, т.е. мы выдаем не конечные сигналы типа step/dir, а выдаем команду на положение или скорость, и сама плата выдает команды step/dir, при этом учитывая много параметров, таких как максимальная скорость, ускорение, тип шага и прочее.
А так ли это надо, сейчас есть не дорогие и миниатюрных microATX, на которых отлично идет EMC2, вот посмотри на размер: http://cnc-club.ru/forum/viewtopic.php? ... t=20#p4892АБу писал(а):4. запуск Linux на Microblaze интерфейс Microblaze (emc2/Linux) к П.1 - 3
5. минимализация размеровlinux/emc2 до достаточного для пульта чпу
ИМХО, основное, чего можно добиться и чего сейчас нет - именно автономный контроллер, может менее универсальный, но зато простой и надежный как молоток . Чтобы на нем была возможность управлять n шаговыми или серво (что сложнее) двигателями согласно программе (причем наверняка заранее подготовленной, для упрощения контроллера), управлять ими же в ручном режиме и возможность обрабатывать датчики и выставлять нули.
-
- Мастер
- Сообщения: 242
- Зарегистрирован: 17 апр 2011, 12:23
- Репутация: 20
- Контактная информация:
Re: пульт для чпу
Вполе реально.АБу писал(а):Есть мысль создания (полу)автономного пульта с драйвером для чпу
база fpga + adc + силовая исполнительная часть
наполнение fpga
цифровой автомат реализующий микрошаг для ШД и(или) сервопривод на базе (без)коллекторных движков.
цифровой автомат для управления шпинделем (vfd)
А вот это нереально.и на закуску + sdram + flash + софтоверный процессор для запуска линуха, например microblaze http://ru.wikipedia.org/wiki/MicroBlaze
и запуска в нем emc2
Есть несколько причин:
1. fpga в которое поместится ядро процессора вместе с MMU стОит несколько тысяч долларов.
2. Производительность получившегося процессора получится очень низкой ~200Мгц.
3. Энергопотребление fpga будет зашкаливать. Придётся ставить очень мощные источники вторичного электропитания.
4. Для запуска линукса придётся эмулировать кроме самого ядра ещё и периферию (минимум uart).
Это только хардварные моменты. СтОит упомянуть о том, что вам придётся для своего процессора собирать и патчить весь софт самому. Это (gcc + binutils + bootloader + linux kernel + root filesystem + драйвера для своей периферии + поддержка ваших устройств в существующем ПО верхнего уровня).
И что в результате этой громадной работы получится? Процессор сомнительного качества и мизерной производительности при большИх габаритах, большом энергопотреблении, низкой надёжности, отсутствии какой-либо поддержки, никаких обновлений, никакой универсальности, огромная стоимость. Что вы с этого получите? Опыт портирования софта? Да, но его можно получить и не используя никаких fpga. Опыт соединения нескольких закрытых IP ядер для fpga? Тогда лучше сделать на FPGA то, чего действительно в железе ещё нет. Может какую очень хитрую периферию к готовому дешёвому производительному покупному процессору/микроконтроллеру.
Настоятельно рекомендую их осваивать отдельно друг от друга.для меня цель этой задумки глубже освоить fpga, линукс + польза себе и людям
Дешёвые - с малым количеством ячеек. На них толковый процессор не сделаешь.зы плат с fpga на ebay есть по вполне бюджетным ценам
Re: пульт для чпу
Вроде как самое навороченное ядро микроблаза 3157 LUTs для спартана6 http://www.xilinx.com/tools/microblaze.htmPetka писал(а): 1. fpga в которое поместится ядро процессора вместе с MMU стОит несколько тысяч долларов.
пока рассматриваю пользовать вот такую штуку http://starterkit.ru/html/index.php?nam ... view&id=60
теоретически туда оно лезет как минимум 2 раза. на диджикее сам корпус стоит 15-20енотов
Petka писал(а): 2. Производительность получившегося процессора получится очень низкой ~200Мгц.
129мГц не знаю хватит оно или нет
люди запускали декодер G кода если не ошибаюсь на арме7 вроде как с циклом 1мС он справляется cnczone.ru
а тут еще FPU на борту есть так что шансы есть.
Petka писал(а): 3. Энергопотребление fpga будет зашкаливать. Придётся ставить очень мощные источники вторичного электропитания.
не будет зашкаливать. пластмассовый корпус фпга как бы намекает, что проблем с тепловыделением быть не должно. технология 45нм все таки.
Petka писал(а): 4. Для запуска линукса придётся эмулировать кроме самого ядра ещё и периферию (минимум uart).
не надо эмулировать.
MicroBlaze with local memory and debugger, external memory controller, UART, FSL link, 2K I-Cache, 8K D-Cache 3157 LUTs
Petka писал(а):
Это только хардварные моменты. СтОит упомянуть о том, что вам придётся для своего процессора собирать и патчить весь софт самому. Это (gcc + binutils + bootloader + linux kernel + root filesystem + драйвера для своей периферии + поддержка ваших устройств в существующем ПО верхнего уровня).
Да. В линухах Я пока слаб.
Если процессор справится с декодером то мне не важно мизерная производительность у него или нетPetka писал(а):
И что в результате этой громадной работы получится? Процессор сомнительного качества и мизерной производительности при большИх габаритах, большом энергопотреблении, низкой надёжности, отсутствии какой-либо поддержки, никаких обновлений, никакой универсальности, огромная стоимость. Что вы с этого получите? Опыт портирования софта? Да, но его можно получить и не используя никаких fpga. Опыт соединения нескольких закрытых IP ядер для fpga? Тогда лучше сделать на FPGA то, чего действительно в железе ещё нет. Может какую очень хитрую периферию к готовому дешёвому производительному покупному процессору/микроконтроллеру.
итого меньше габариты , потребление.
надежность должна быть в разы лучше чем то что сейчас, полностью вся цифра практически на 1 кристалле (снаружи только ОЗУ). как оно может быть еще надежнее?
на счет универсальности: имхо более универсального чем фпга цифрового полупроводника (общающегося с реальным миром) еще нет в свободной продаже и альтернатив вроде не намечается..
ключевое слово "ГЛУБЖЕ".Petka писал(а):
Настоятельно рекомендую их осваивать отдельно друг от друга.
-
- Мастер
- Сообщения: 242
- Зарегистрирован: 17 апр 2011, 12:23
- Репутация: 20
- Контактная информация:
Re: пульт для чпу
АБу писал(а):Вроде как самое навороченное ядро микроблаза 3157 LUTs для спартана6 http://www.xilinx.com/tools/microblaze.htm
Да, спартан дешёвый, но медленный. См. ниже.
129мГц не знаю хватит оно или нет
Сейчас копеечные кортексы работают на той же частоте.
люди запускали декодер G кода если не ошибаюсь на арме7 вроде как с циклом 1мС он справляется cnczone.ru
а тут еще FPU на борту есть так что шансы есть.
Да, но там никаким линуксом и не пахло. Это огромный плюс. Сначала надо определиться: писать свой собственный узкозаточенный софт, без использования функций операционной системы или воспользоваться наработками под linux?
не будет зашкаливать. пластмассовый корпус фпга как бы намекает, что проблем с тепловыделением быть не должно. технология 45нм все таки.
Речь была про производительные FPGA, которые хоть как-то можно сопоставить с ПК.
Что за декодер?
Если процессор справится с декодером то мне не важно мизерная производительность у него или нет
итого меньше габариты , потребление.
Хе. Если всё заработает сразу, то считайте что очень сильно повезло. А если не заработает? Как искать ошибку? Как отлаживаться? Как бороться с "гонками" сигналов, "иголками"? Всё в принципе решаемо, но какое время придётся потратить что бы получить посредственный аналог уже готового и отлаженного микроконтроллера? Посмотрите хотя-бы на http://starterkit.ru/html/index.php?nam ... view&id=41надежность должна быть в разы лучше чем то что сейчас, полностью вся цифра практически на 1 кристалле (снаружи только ОЗУ). как оно может быть еще надежнее?
на счет универсальности: имхо более универсального чем фпга цифрового полупроводника (общающегося с реальным миром) еще нет в свободной продаже и альтернатив вроде не намечается..
Или если есть желание повозиться и с fpga, то сюда: http://starterkit.ru/html/index.php?nam ... view&id=50
(это связка ARM(c MMU) + fpga) На fpga останется только сделать необходимую периферию по управлению шаговиками, а управлять всем этим будет ARM (можно даже с EMC2). Начните с этого. Если получится, можете в ту fpga потом добавить ядро процессора и уже отлаженные драйвера и софт пересобрать под микроблайз(или ещё какое ядро). Если идти таким путём, то шансов, что всё заработает гораздо больше.
Re: пульт для чпу
1. Мне не важно сколько стоит кортекс, важно что фпга можно сконфигурировать как паралельную машину у которой есть шанс справится с задачей.Petka писал(а):Да, спартан дешёвый, но медленный. См. ниже.
Сейчас копеечные кортексы работают на той же частоте.
люди запускали декодер G кода если не ошибаюсь на арме7 вроде как с циклом 1мС он справляется cnczone.ru
а тут еще FPU на борту есть так что шансы есть.
Да, но там никаким линуксом и не пахло. Это огромный плюс. Сначала надо определиться: писать свой собственный узкозаточенный софт, без использования функций операционной системы или воспользоваться наработками под linux?
Речь была про производительные FPGA, которые хоть как-то можно сопоставить с ПК.
имхо сейчас на любом голом процессоре не решить задачу управления железякой с микросекундными интервалами .
у меня Q6600 2ГГц под емс2 не справляется с циклом 10мкС, чипсеты и операционки не поддерживают реальное время, так сложилось и никому это не исправить, можно выжать из системы все на что она способна (пример мач3) но чтобы вылизать систему нужно глубоко в ней разобратся а на это нужно годы.
мое имхо должна быть аппаратная поддержка. проц должен говорить что и когда делать железяке.
Линуксом не пахло... огромный плюс... в чем тут дело? линукс отъедает 90% производительности?
Пользовать наработки Линукс однозначно. реюз рулит.
Мне не нужны топовые фпга и мне не нужна гиганская средняя производительность РС. мне надо чтобы электроника стабильно без джитеров и пр. управляло железом.
декодер Г кодаPetka писал(а): Что за декодер?
Petka писал(а): Хе. Если всё заработает сразу, то считайте что очень сильно повезло. А если не заработает? Как искать ошибку? Как отлаживаться? Как бороться с "гонками" сигналов, "иголками"? Всё в принципе решаемо, но какое время придётся потратить что бы получить посредственный аналог уже готового и отлаженного микроконтроллера? Посмотрите хотя-бы на http://starterkit.ru/html/index.php?nam ... view&id=41
Или если есть желание повозиться и с fpga, то сюда: http://starterkit.ru/html/index.php?nam ... view&id=50
сразу не заработает. это так. сделать прибор меньше чем за год у меня не получалось.
отладка, иголки, гонки, ошибки дело обычное и привычное.
Ядро микроблаз уже отлаженный стабильный продукт, должно работать.
использовать внешний арм соблазнительно на хочу сначала в симуляторе попробовать с микроблазом, если не срастется будем пробовать внешний.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: пульт для чпу
Ты смотрел в сторону MESA? Чем тебе она не подходит?АБу писал(а):1. Мне не важно сколько стоит кортекс, важно что фпга можно сконфигурировать как паралельную машину у которой есть шанс справится с задачей
Для emc2 и риалтайма не так важен проц, как сама система. Попробуй взять мать с хорошей latency и загрузить тот же емс из консоли, без "свистелок и перделок", я думаю, что 10мкс получится запросто. Другой вопрос, что все это можно сделать на MESA с лучшим результатом и без особого гимора.АБу писал(а):у меня Q6600 2ГГц под емс2 не справляется с циклом 10мкС
Re: пульт для чпу
начал изучать.Nick писал(а):Ты смотрел в сторону MESA? Чем тебе она не подходит?
Mesa открытый продукт?Nick писал(а):Для emc2 и риалтайма не так важен проц, как сама система. Попробуй взять мать с хорошей latency и загрузить тот же емс из консоли, без "свистелок и перделок", я думаю, что 10мкс получится запросто. Другой вопрос, что все это можно сделать на MESA с лучшим результатом и без особого гимора.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: пульт для чпу
Там стоит fgpa, а тебе наверное нужна будет прошивка, ее с исходниками можно взять тут: http://emergent.unpy.net/01272896838
Она идет под двойной лицензией, т.е. да:
Она идет под двойной лицензией, т.е. да:
-- Copyright (C) 2007, Peter C. Wallace, Mesa Electronics
-- http://www.mesanet.com
--
-- This program is is licensed under a disjunctive dual license giving you
-- the choice of one of the two following sets of free software/open source
-- licensing terms:
--
-- * GNU General Public License (GPL), version 2.0 or later
-- * 3-clause BSD License
-
- Мастер
- Сообщения: 242
- Зарегистрирован: 17 апр 2011, 12:23
- Репутация: 20
- Контактная информация:
Re: пульт для чпу
Вы думаете что закрытое ядро микроблаза будет каким-то волшебным путём что-то как-то распараллеливать? Оно ничем не отличается от другого ядра. Как будет алгоритм линейный, так и останется линейным. В чём глубинный смысл fpga? Изобретать свой велосипед?АБу писал(а): 1. Мне не важно сколько стоит кортекс, важно что фпга можно сконфигурировать как паралельную машину у которой есть шанс справится с задачей.
Вполне возможно. Но только микроблайз это и есть тот самый "голый процессор", да ещё и медленный.имхо сейчас на любом голом процессоре не решить задачу управления железякой с микросекундными интервалами .
Проблема есть, но для её решения надо сначала определиться, что является "бутылочным горлышком". А уже потом пытаться решить.у меня Q6600 2ГГц под емс2 не справляется с циклом 10мкС, чипсеты и операционки не поддерживают реальное время, так сложилось и никому это не исправить, можно выжать из системы все на что она способна (пример мач3) но чтобы вылизать систему нужно глубоко в ней разобратся а на это нужно годы.
Аппаратная поддержка чего? Сначала надо определиться, что должна делать "аппаратная поддержка", по какому интерфейсу она будет взаимодействовать с "программной поддержкой". Как на сегодняшний день решается данная задача, какие есть минусы у существующих решений, как принципиально их можно решить и уже потом решать проблему.мое имхо должна быть аппаратная поддержка.
Насколько я понимаю с МЕСОй всё так и есть. Проц говорит что надо делать железке. (Ник, поправь если я не прав)проц должен говорить что и когда делать железяке.
Формально линукс не является real-time ядром. Есть набор патчей, которые позволяют приблизить linux к реалтайму. Но полностью реалтаймовым линукс не станет никогда. Есть туева куча различных сервисов, которые тоже требуют процессорного времени. Да эти сервисы от общего процессорного времени отбирают доли процента ЦПУ. Но если перевести эти доли в микросекунды получим десятки миллисекунд или десятки тысяч микросекунд отсюда и берётся джиттер.Линуксом не пахло... огромный плюс... в чем тут дело? линукс отъедает 90% производительности?
Двойные стандарты налицо =) Процессор готовый брать не будем (тут реюз не рулит). А вот линукс будем брать готовый (реюз рулит)Пользовать наработки Линукс однозначно. реюз рулит.
Сам декодер дело плёвое. G-code разрабатывался для тупеньких железяк. А вот для шагания движком надо очень шустро шевелить ножками это либо аппаратно, либо программно. Для программного шевеления и нужна большая частота.декодер Г кода
Начните лучше с АРМа. Симуляторы и эмуляторы это всё игрушки. Иногда соответствуют действительности а иногда....Использовать внешний арм соблазнительно на хочу сначала в симуляторе попробовать с микроблазом, если не срастется будем пробовать внешний.
Порог вхождения в АРМ гораздо ниже. Есть уже готовый, собранный до вас компилятор и не один, есть копеечные JTAG-дебагеры (и их тоже много), Есть куча открытых библиотек, примеров, FAQ, Документаций, Errata. Не могу сказать что у меня с ними большой опыт, но в чём-то могу и помочь.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: пульт для чпу
В прошивках МЕСА есть генераторы шагов, обработчики энкодеров, пид регуляторы и pwm генераторы. EMC2 говорит им что делать и они это делают. В основном команды идут на заданное положение или заданную скорость. При этом эти команды даются раз в Servo period, который обычно гораздо более медленнее (1 миллисекунда) base perioda вместо 10-20 микросекунд.Petka писал(а):Насколько я понимаю с МЕСОй всё так и есть. Проц говорит что надо делать железке. (Ник, поправь если я не прав)
Декодер дело не такое плевое. Может само по себе это дело не ресурсоемкое, но блин с реализацией запаришься. Если не брать в расчет тупой Gкод из одних прямых и наворочек. В спецификации Gкода есть столько всякого:Petka писал(а):Сам декодер дело плёвое. G-code разрабатывался для тупеньких железяк. А вот для шагания движком надо очень шустро шевелить ножками это либо аппаратно, либо программно. Для программного шевеления и нужна большая частота.
- торможение + разгон на каждом конце участка
- look ahead - чтобы не тормозить там где не надо.
- процедуры
- циклы
- переменные
- компенсация люфтов
- компенсация длины, ширины инструмента
- синхронизация всех перемещений
- + самих Gкодов около 100 штук, а есть еще и M и O коды...
Re: пульт для чпу
оно не будет ничего распаралеливать.Petka писал(а):Вы думаете что закрытое ядро микроблаза будет каким-то волшебным путём что-то как-то распараллеливать?
на нем будет декодер Г кода который будет говорить 1 раз в милисекунду что и как делать железяке. часть фпга (не микроблаз) будет генерировать аппаратные импульсы, соблюдать времянки, следить за датчиками, энкодерами и прочее связанное с генерацией сигналов
надеюсь многие вопросы отпали.
для данной задачи мне не нужно линуксовое real-time ядро.Petka писал(а):Формально линукс не является real-time ядром.
в данной задаче Я не собираюсь программно шевелить ногами которые управляют железом.Petka писал(а):Для программного шевеления и нужна большая частота.
тьфу тьфу не могу вспомнить чтобы симуляторы и эмуляторы меня подводили.Petka писал(а):Начните лучше с АРМа. Симуляторы и эмуляторы это всё игрушки. Иногда соответствуют действительности а иногда....
для фпга это тоже есть. опыт использования софтовых процессоров (других правда) тоже есть.Petka писал(а):Порог вхождения в АРМ гораздо ниже. Есть уже готовый, собранный до вас компилятор и не один, есть копеечные JTAG-дебагеры (и их тоже много), Есть куча открытых библиотек, примеров, FAQ, Документаций, Errata. Не могу сказать что у меня с ними большой опыт, но в чём-то могу и помочь.
будут непреодолимые препятствия будем брать внешний.
-
- Мастер
- Сообщения: 242
- Зарегистрирован: 17 апр 2011, 12:23
- Репутация: 20
- Контактная информация:
Re: пульт для чпу
Что, и линукс на софтпроцессорах запускали? Если запускали то какие преимущества получили? Насколько устройство получилось дешевле, производительнее, компактнее, экономичнее, проще, чем аналогичное на готовом процессоре? И насколько быстрее устройство было выпущено по сравнению с устройством, основанном на готовом камне?АБу писал(а): для фпга это тоже есть. опыт использования софтовых процессоров (других правда) тоже есть.
Re: пульт для чпу
нет не запускали. применяли picoblaze. на нем сильно не забалуеш.Petka писал(а):Что, и линукс на софтпроцессорах запускали?
вот тут не стесняясь линукс на microblaze запускают http://xilinx.wikidot.com/microblaze-linux
вроде как действо по шагам расписано. хочу повторить.
Re: пульт для чпу
Корректируем ТЗ:
1. Выбор платформы для отладки.
Варианты:
а. http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.e.html
б. http://www.starterkit.ru/html/index.php ... view&id=50
2. запуск Linux на отладке
3. запуск emc2 на отладке.
4. портирование прошивки хостмота с 7i43 ? на отладку.
5....
1. Выбор платформы для отладки.
Варианты:
а. http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.e.html
б. http://www.starterkit.ru/html/index.php ... view&id=50
2. запуск Linux на отладке
3. запуск emc2 на отладке.
4. портирование прошивки хостмота с 7i43 ? на отладку.
5....
-
- Мастер
- Сообщения: 242
- Зарегистрирован: 17 апр 2011, 12:23
- Репутация: 20
- Контактная информация:
Re: пульт для чпу
Хм. Как планируешь использовать USB на плате (а)?АБу писал(а):Корректируем ТЗ:
1. Выбор платформы для отладки.
Варианты:
а. http://www.ztex.de/usb-fpga-1/usb-fpga-1.11.e.html
б. http://www.starterkit.ru/html/index.php ... view&id=50
Лучше брать отладку (б). К ней можно подключить стартеркитовскую-же LCD-панель. Ethernet, батарейка для RTC, USB - довольно полезные дополнения к Линуксу.
2.5. Сборка linux-rt, emc2 под отладку.2. запуск Linux на отладке
3. запуск emc2 на отладке.
4. портирование прошивки хостмота с 7i43 ? на отладку.
5....
Re: пульт для чпу
С усб сейчас связыватся не хочу.Petka писал(а):Хм. Как планируешь использовать USB на плате (а)?
Лучше брать отладку (б). К ней можно подключить стартеркитовскую-же LCD-панель. Ethernet, батарейка для RTC, USB - довольно полезные дополнения к Линуксу.
у отладки б ценник немилосердный. не думаю что цена у данной платформы в разы упадет даже если делать ее самому. действительно дешевле будет поставить мамку мини ITX на Атоме
и воткнуть туда PCI платку по мотивам MESA.
Надо делать на чем то попроще чем вариант б
изучаю матерьялы ксайлинкса. что то все меньше и меньше мне нравится их подход к продвижению микроблазов.
смотрю по другим произодителям фпга. по альтере есть интересные предложения
напр. http://www.arrownac.com/solutions/bemicro-sdk/
пытаюсь разобратся какие ограничения накладывает на использование ФПГА халявный софтопакет для Nios II (Nios II Embedded Design Suite)