Синхронизация и одновременный запуск нескольких модулей R-series
-
- interested
- Сообщения: 3
- Зарегистрирован: 26 май 2021, 14:42
- Версия LabVIEW: 16
- Благодарил (а): 1 раз
- Контактная информация:
Синхронизация и одновременный запуск нескольких модулей R-series
Есть 2 модуля 7841r на каждом из них установлен генератор прямоугольных импульсов. Модули синхронизированны между собой через PXI_TRIG. Однако запускаются они в host_vi не одновременно. Как осуществить одновременный запуск двух FPGA_VI?
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Синхронизация и одновременный запуск нескольких модулей R-series
Что Вы имеете ввиду под FPGA_VI? FPGA битфайл может выполнятся лишь один одновременно. Запуск виаек неодновременно не страшен - главное, чтобы синхронизация начала работы (генерации) имела место быть.
Покажите код, что и как запускаете - потому что сейчас непонятно, что в Вашем понимании
Покажите код, что и как запускаете - потому что сейчас непонятно, что в Вашем понимании
запускаются они в host_vi не одновременно
Мы делили апельсин - много наших полегло...
-
- interested
- Сообщения: 3
- Зарегистрирован: 26 май 2021, 14:42
- Версия LabVIEW: 16
- Благодарил (а): 1 раз
- Контактная информация:
Re: Синхронизация и одновременный запуск нескольких модулей R-series
У меня есть два абсолютно одинаковых генератора прямоугольных импульсов каждый из которых находится на своём FPGA_Target. Осуществляется управление таргетами через Host_vi (на картинке) - запускаются они не одновременно. Для каждого FPGA_VI скомпилирован свой bitfile, мне принципиально чтобы генераторы запустились одновременно.Kosist писал(а): ↑26 май 2021, 23:44 Что Вы имеете ввиду под FPGA_VI? FPGA битфайл может выполнятся лишь один одновременно. Запуск виаек неодновременно не страшен - главное, чтобы синхронизация начала работы (генерации) имела место быть.
Покажите код, что и как запускаете - потому что сейчас непонятно, что в Вашем пониманиизапускаются они в host_vi не одновременно
админ: изображения должны быть загружены на форум, а не сторонние ресурсы
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Синхронизация и одновременный запуск нескольких модулей R-series
Картинки не открываются.
Да, извиняюсь, вчера я немного перепутал - у Вас ведь два модуля, тогда все понятно...
Да, извиняюсь, вчера я немного перепутал - у Вас ведь два модуля, тогда все понятно...
Мы делили апельсин - много наших полегло...
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Синхронизация и одновременный запуск нескольких модулей R-series
Попробуйте использовать сигнал PXI/PXI_Star для синхронизации (https://zone.ni.com/reference/en-XX/hel ... pxi-7841r/).
Мы делили апельсин - много наших полегло...
-
- interested
- Сообщения: 3
- Зарегистрирован: 26 май 2021, 14:42
- Версия LabVIEW: 16
- Благодарил (а): 1 раз
- Контактная информация:
Re: Синхронизация и одновременный запуск нескольких модулей R-series
Попробовал - также не работает - при запуске имеем случайную задержку между первым и вторым генератором не превышающую 70 мкс., хотя в документации на тайминг модуль написано, что точность 1 нс. Пробовал разные варианты синхронизации(см. вложения) результат один и тот же.Kosist писал(а): ↑28 май 2021, 12:45 Попробуйте использовать сигнал PXI/PXI_Star для синхронизации (https://zone.ni.com/reference/en-XX/hel ... pxi-7841r/).
Host vi упростил максимально - тоже не помогает. Ставить invoke методы reset-run или просто run разницы никакой.
Последний раз редактировалось JIVE! 31 май 2021, 18:26, всего редактировалось 1 раз.
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Синхронизация и одновременный запуск нескольких модулей R-series
Попробуйте еще While Loop заменить на Timed Loop, чтобы сделать Single-Clock Timed Loop (SCTL), с частотой 40 MHz. SCTL - это когда цикл исполняется ровно один "tick" частоты процессора. С обычным While Loop это не гарантированно. Я не уверен, но это может способствовать возникновению случайной задержки между генераторами. Также, отслеживание сигнала Star линии лучше делать по грани сигнала, и соотвественно "триггерить" его как импульс с хоста.
UPD: также, в том последнем коде (скриншоте), Вы считываете значения с индикатора. Это приносит свои задержки... Вы пробовали сравнить сигналы на осциллографе например? Там такая же задержка, как и при тестировании/сравнивании сигналов при помощи того кода?
UPD: также, в том последнем коде (скриншоте), Вы считываете значения с индикатора. Это приносит свои задержки... Вы пробовали сравнить сигналы на осциллографе например? Там такая же задержка, как и при тестировании/сравнивании сигналов при помощи того кода?
Мы делили апельсин - много наших полегло...
-
- interested
- Сообщения: 3
- Зарегистрирован: 26 май 2021, 14:42
- Версия LabVIEW: 16
- Благодарил (а): 1 раз
- Контактная информация:
Re: Синхронизация и одновременный запуск нескольких модулей R-series
На SCTL я перейти не могу т.к. эти два генератора сделаны чтобы как раз и проверить возможность синхронизации 2х модулей 7841r , в дальнейшем планируется вместо генератора вставить verilog код(через CLIP) с выдачей и приёмом сигналов через ЦАП/АЦП. Индикаторы (их наличие) никак не результат не влияют, как с ними так и без при н-ном числе запусков может получиться такая ситуация что нет задержки в генерации, также и предельная задержка в обоих случаях запуска(с индикаторами и без и т.п.) не превышала 80 мкс.Kosist писал(а): ↑31 май 2021, 18:56 Попробуйте еще While Loop заменить на Timed Loop, чтобы сделать Single-Clock Timed Loop (SCTL), с частотой 40 MHz. SCTL - это когда цикл исполняется ровно один "tick" частоты процессора. С обычным While Loop это не гарантированно. Я не уверен, но это может способствовать возникновению случайной задержки между генераторами. Также, отслеживание сигнала Star линии лучше делать по грани сигнала, и соотвественно "триггерить" его как импульс с хоста.
UPD: также, в том последнем коде (скриншоте), Вы считываете значения с индикатора. Это приносит свои задержки... Вы пробовали сравнить сигналы на осциллографе например? Там такая же задержка, как и при тестировании/сравнивании сигналов при помощи того кода?
Подскажите как отслеживать Star по фронту импульса, это нужно оформить с хоста или с fpga vi? Не представляю как это сделать.
Последний раз редактировалось JIVE! 31 май 2021, 19:34, всего редактировалось 1 раз.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение