Синхронизация HOST и FPGA

Простейшие вопросы в области инженерной разработки
Ответить
Аня
beginner
beginner
Сообщения: 27
Зарегистрирован: 25 май 2015, 20:09
Версия LabVIEW: 14.1
Контактная информация:

Синхронизация HOST и FPGA

Сообщение Аня »

Здравствуйте.
Каким образом можно организовать цикл в ХОСТ.vi с частотой выполнения в 15 КГц? (Timed Loop позволяет задавать только 1 КГц).

Разбираюсь в этом, чтобы решить задачу управления шаговым двигателем, подсоединённым посредством драйвера Purelogic к ПЛИС.
Проблема состоит в сложности синхронизации передачи данных из ХОСТ.vi в FPGA.vi.
Artem.spb

Activity Автор
professor
professor
Сообщения: 3394
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Синхронизация HOST и FPGA

Сообщение Artem.spb »

А зачем хост? что мешает управлять из ПЛИСа?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Синхронизация HOST и FPGA

Сообщение Borjomy_1 »

Понимаете, какой нюанс... Надо исследовать задержки, которые вносит драйвер UDP протокола. Потому как TCP в любом случае тут не подходит.
Лучше скажите, зачем вам такие скорости, обратную связь решили организовать?
Аня
beginner
beginner
Сообщения: 27
Зарегистрирован: 25 май 2015, 20:09
Версия LabVIEW: 14.1
Контактная информация:

Re: Синхронизация HOST и FPGA

Сообщение Аня »

Borjomy_1 писал(а):Понимаете, какой нюанс... Надо исследовать задержки, которые вносит драйвер UDP протокола. Потому как TCP в любом случае тут не подходит.
Лучше скажите, зачем вам такие скорости, обратную связь решили организовать?
Да. Хочу сделать ЧПУ станок.
Чтобы шаговый двигатель работал равномерно и без "заиканий", мне необходимо правильно организовать цикл в верхнем уровне программы, - цикл, который будет передавать данные-координаты на нижний уровень в ПЛИС.
Пробую библиотеку SoftMotion. Синхронизация в ней реализована посредством использования ScanEngine. Многое из этой библиотеки заточено под платы cRIO с дополнительными модулями обратной связи. У меня sbRIO и из-за этого большая часть функционала библиотеки мне недоступна.

В общем, написала программу управления двигателями, но без синхронизации. Для её достижения мне необходимо как-то разогнать цикл Time loop в файле хост-vi более 1КГц...
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Синхронизация HOST и FPGA

Сообщение Kosist »

Scan Engine - не знаю, что в SoftMotion с ним, но обычно NI рекомендует использовать его для частот не более 1 кГц (вроде можно и больше, но в спец. случаях).
А так - нужна синхронизация - используйте прерывания. Но в случае управлением моторами, возможно, это не самый лучший подход...
Мы делили апельсин - много наших полегло...
Аватара пользователя
Andrew Lunev

Activity Professionalism
VIP
VIP
Сообщения: 957
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2014-2021
Откуда: Москва
Благодарил (а): 4 раза
Поблагодарили: 10 раз

Re: Синхронизация HOST и FPGA

Сообщение Andrew Lunev »

Аня писал(а):В общем, написала программу управления двигателями, но без синхронизации. Для её достижения мне необходимо как-то разогнать цикл Time loop в файле хост-vi более 1КГц...
Если Timed loop используется под операционкой реального времени, то становится доступен тайминг на частоте 1МГц. Надо выбрать в свойствах Source Type 1MHz Clock. Под Windows он недоступен. Боюсь так же он будет недоступен если включен режим Scan Engine, он работает только на частотах до 1 кГц. Если у вас будет не доступен, то надо переводить ПЛИС в режим FPGA Interface. Но тогда надо писать код на ПЛИС. И это лучший вариант, потому что боюсь хост не обеспечит требуемую точность на частотах выше 1 кГц, то есть Timed loop будет часто опаздывать. Но это все зависит от ресурсоемкости кода в этом цикле.
По хорошему, надо весь нижний уровень управления писать на ПЛИС, а хост только выдает новые координаты и скорость, а отрабатывает это уже нижний уровень. Так сделано в SoftMotion. То есть все контуры управления положением и скоростью замыкаются внутри ПЛИС, без выхода на хост. На ПЛИС вполне можно реализовать контур управления и на частоте 1 МГц.
Вложения
TL.PNG
Aleksandr

Gold
user
user
Сообщения: 97
Зарегистрирован: 21 июн 2011, 15:05
Награды: 1
Версия LabVIEW: 2009-2017
Откуда: Novosibirsk
Контактная информация:

Re: Синхронизация HOST и FPGA

Сообщение Aleksandr »

Попробуйте данный пример (LV 2014), там как раз станок передвигался посредством шаговых двигателей с возможностью плавного разгона и торможения, может быть Вам подойдет.
Uniscan Research
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»