Синхронизация и одновременный запуск нескольких модулей R-series

Обсуждение программ, пользовательского обеспечения, операционных систем
Ответить
JIVE!
interested
interested
Сообщения: 3
Зарегистрирован: 26 май 2021, 14:42
Версия LabVIEW: 16
Благодарил (а): 1 раз
Контактная информация:

Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение JIVE! »

Есть 2 модуля 7841r на каждом из них установлен генератор прямоугольных импульсов. Модули синхронизированны между собой через PXI_TRIG. Однако запускаются они в host_vi не одновременно. Как осуществить одновременный запуск двух FPGA_VI?
Аватара пользователя
Kosist

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

Re: Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение Kosist »

Что Вы имеете ввиду под FPGA_VI? FPGA битфайл может выполнятся лишь один одновременно. Запуск виаек неодновременно не страшен - главное, чтобы синхронизация начала работы (генерации) имела место быть.
Покажите код, что и как запускаете - потому что сейчас непонятно, что в Вашем понимании
запускаются они в host_vi не одновременно
Мы делили апельсин - много наших полегло...
JIVE!
interested
interested
Сообщения: 3
Зарегистрирован: 26 май 2021, 14:42
Версия LabVIEW: 16
Благодарил (а): 1 раз
Контактная информация:

Re: Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение JIVE! »

Kosist писал(а): 26 май 2021, 23:44 Что Вы имеете ввиду под FPGA_VI? FPGA битфайл может выполнятся лишь один одновременно. Запуск виаек неодновременно не страшен - главное, чтобы синхронизация начала работы (генерации) имела место быть.
Покажите код, что и как запускаете - потому что сейчас непонятно, что в Вашем понимании
запускаются они в host_vi не одновременно
У меня есть два абсолютно одинаковых генератора прямоугольных импульсов каждый из которых находится на своём FPGA_Target. Осуществляется управление таргетами через Host_vi (на картинке) - запускаются они не одновременно. Для каждого FPGA_VI скомпилирован свой bitfile, мне принципиально чтобы генераторы запустились одновременно.


админ: изображения должны быть загружены на форум, а не сторонние ресурсы
Аватара пользователя
Kosist

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

Re: Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение Kosist »

Картинки не открываются.
Да, извиняюсь, вчера я немного перепутал - у Вас ведь два модуля, тогда все понятно...
Мы делили апельсин - много наших полегло...
JIVE!
interested
interested
Сообщения: 3
Зарегистрирован: 26 май 2021, 14:42
Версия LabVIEW: 16
Благодарил (а): 1 раз
Контактная информация:

Re: Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение JIVE! »

Kosist писал(а): 27 май 2021, 14:08 Картинки не открываются.
Да, извиняюсь, вчера я немного перепутал - у Вас ведь два модуля, тогда все понятно...
Вложения
Host_vi
Host_vi
FPGA_vi
FPGA_vi
Аватара пользователя
Kosist

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

Re: Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение Kosist »

Попробуйте использовать сигнал PXI/PXI_Star для синхронизации (https://zone.ni.com/reference/en-XX/hel ... pxi-7841r/).
Мы делили апельсин - много наших полегло...
JIVE!
interested
interested
Сообщения: 3
Зарегистрирован: 26 май 2021, 14:42
Версия LabVIEW: 16
Благодарил (а): 1 раз
Контактная информация:

Re: Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение JIVE! »

Kosist писал(а): 28 май 2021, 12:45 Попробуйте использовать сигнал PXI/PXI_Star для синхронизации (https://zone.ni.com/reference/en-XX/hel ... pxi-7841r/).
Попробовал - также не работает - при запуске имеем случайную задержку между первым и вторым генератором не превышающую 70 мкс., хотя в документации на тайминг модуль написано, что точность 1 нс. Пробовал разные варианты синхронизации(см. вложения) результат один и тот же.
Host vi упростил максимально - тоже не помогает. Ставить invoke методы reset-run или просто run разницы никакой.
Вложения
изображение_2021-05-31_182452.png
изображение_2021-05-31_182638.png
Последний раз редактировалось JIVE! 31 май 2021, 18:26, всего редактировалось 1 раз.
Аватара пользователя
Kosist

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

Re: Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение Kosist »

Попробуйте еще While Loop заменить на Timed Loop, чтобы сделать Single-Clock Timed Loop (SCTL), с частотой 40 MHz. SCTL - это когда цикл исполняется ровно один "tick" частоты процессора. С обычным While Loop это не гарантированно. Я не уверен, но это может способствовать возникновению случайной задержки между генераторами. Также, отслеживание сигнала Star линии лучше делать по грани сигнала, и соотвественно "триггерить" его как импульс с хоста.
UPD: также, в том последнем коде (скриншоте), Вы считываете значения с индикатора. Это приносит свои задержки... Вы пробовали сравнить сигналы на осциллографе например? Там такая же задержка, как и при тестировании/сравнивании сигналов при помощи того кода?
Мы делили апельсин - много наших полегло...
JIVE!
interested
interested
Сообщения: 3
Зарегистрирован: 26 май 2021, 14:42
Версия LabVIEW: 16
Благодарил (а): 1 раз
Контактная информация:

Re: Синхронизация и одновременный запуск нескольких модулей R-series

Сообщение JIVE! »

Kosist писал(а): 31 май 2021, 18:56 Попробуйте еще While Loop заменить на Timed Loop, чтобы сделать Single-Clock Timed Loop (SCTL), с частотой 40 MHz. SCTL - это когда цикл исполняется ровно один "tick" частоты процессора. С обычным While Loop это не гарантированно. Я не уверен, но это может способствовать возникновению случайной задержки между генераторами. Также, отслеживание сигнала Star линии лучше делать по грани сигнала, и соотвественно "триггерить" его как импульс с хоста.
UPD: также, в том последнем коде (скриншоте), Вы считываете значения с индикатора. Это приносит свои задержки... Вы пробовали сравнить сигналы на осциллографе например? Там такая же задержка, как и при тестировании/сравнивании сигналов при помощи того кода?
На SCTL я перейти не могу т.к. эти два генератора сделаны чтобы как раз и проверить возможность синхронизации 2х модулей 7841r , в дальнейшем планируется вместо генератора вставить verilog код(через CLIP) с выдачей и приёмом сигналов через ЦАП/АЦП. Индикаторы (их наличие) никак не результат не влияют, как с ними так и без при н-ном числе запусков может получиться такая ситуация что нет задержки в генерации, также и предельная задержка в обоих случаях запуска(с индикаторами и без и т.п.) не превышала 80 мкс.
Подскажите как отслеживать Star по фронту импульса, это нужно оформить с хоста или с fpga vi? Не представляю как это сделать.
Последний раз редактировалось JIVE! 31 май 2021, 19:34, всего редактировалось 1 раз.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Софт»