Вечер добрый, возможно кто-либо сможет помочь мне в решении проблемы:
Имеется шасси PXIe в составе которого есть несколько векторных генераторов и анализаторов. Генератор работает с IQ отсчетами и по программному триггеру начинает работу. Есть сплиттер 1 в 3, выходы которого поключены к генератору и 3-м анализаторам, соотвественно. Необходимо начать запись сигнала синхронно (с как можно меньшей задержкой), на основе примеров получился вот такой VI для старта анализаторов. В результате старт происходит не синхронно, а с существенной задержкой (порядка 1 мс). В хелпе по NI-Tclk упоминается Start Triggers, я недавно работаю с LV и не совсем понимаю как сконфигурировать работу так, чтобы один анализатор получив апаратный триггер синхронно запустил другие использую функционал Ni-Tclk, может кто-либо поможет советом, полезной документацией или примером по данному вопросу.
Синхронный старт анализаторов NI PXIe – 5663
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Синхронный старт анализаторов NI PXIe – 5663
Для настройки Стартового триггера используйте "niRFSA Configure Trigger VI"
Перенаправить сигналы синхронизации можно с помощью "niRFSA Export Signal VI"
Вариантов синхронизации очень много, главное понять основную идею. Надо настроить аппаратную передачу сигнала с триггера генератора на стартовые триггеры анализаторов. То есть задать с какого входа ждать сигнала, который будет считаться Start Trigger.
Программно генерируете SW Trigger на генераторе, он генерирует аппаратный сигнал с какого-то выхода и его раздаете на входы анализаторов, которые настроены на получение стартового триггера.
Если такой вариант не получится, то настройте и генератор на запуск по аппаратному триггеру, а его уже можно генерировать с любого внешнего источника. Тогда по внешнему сигналу аппаратно и синхронно запустятся и генератор и анализаторы.
Для ваших частот и задержек возможно лучше использовать Star Trigger, не путать с Start Trigger.
Перенаправить сигналы синхронизации можно с помощью "niRFSA Export Signal VI"
Вариантов синхронизации очень много, главное понять основную идею. Надо настроить аппаратную передачу сигнала с триггера генератора на стартовые триггеры анализаторов. То есть задать с какого входа ждать сигнала, который будет считаться Start Trigger.
Программно генерируете SW Trigger на генераторе, он генерирует аппаратный сигнал с какого-то выхода и его раздаете на входы анализаторов, которые настроены на получение стартового триггера.
Если такой вариант не получится, то настройте и генератор на запуск по аппаратному триггеру, а его уже можно генерировать с любого внешнего источника. Тогда по внешнему сигналу аппаратно и синхронно запустятся и генератор и анализаторы.
Для ваших частот и задержек возможно лучше использовать Star Trigger, не путать с Start Trigger.
-
- user
- Сообщения: 93
- Зарегистрирован: 05 июн 2013, 08:58
- Версия LabVIEW: 13
- Контактная информация:
Re: Синхронный старт анализаторов NI PXIe – 5663
Хотелось бы уточнить, генератор экспортирует триггер, скажем PXI-Trig0, на ожидание его настроен один анализатор, такой вариант у меня работает. В случае трех анализаторов каждый нужно настроить на PXI_trig0 или генератор, должен экспортировать еще по триггеру для 2-х оставшихся?
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Синхронный старт анализаторов NI PXIe – 5663
Можно попробовать настроить каждый, но не могу гарантировать, что заработает. Надо проверять. Можно настроить через внешние сигналы, например через PFI выдавать и принимать. Тогда с помощью разветвителя один сигнал можно будет передать на все анализаторы.
-
- user
- Сообщения: 93
- Зарегистрирован: 05 июн 2013, 08:58
- Версия LabVIEW: 13
- Контактная информация:
Re: Синхронный старт анализаторов NI PXIe – 5663
Настроил генератор на формирование PXI_Trig, один анализатор принимает его как Reference, далее как я понимаю TClk должен раздать его остальным анализаторам (правильно?), получился такой VI
Чтобы ипользовать Star Trigger необходимо иметь в шасси модуль синхронизации, например NI-6653? Как я понял с него можно раздать общий 10Mhz клок (не PXI_Clock) и сформировать Star Trigger?
В результате лучшее что получил примерно по 250 мкс от старта к старту, вот график:
Это предел который можно достичь используя PXI Trigger?Чтобы ипользовать Star Trigger необходимо иметь в шасси модуль синхронизации, например NI-6653? Как я понял с него можно раздать общий 10Mhz клок (не PXI_Clock) и сформировать Star Trigger?
-
Andrew Lunev
- VIP
- Сообщения: 957
- Зарегистрирован: 11 дек 2010, 12:31
- Награды: 2
- Версия LabVIEW: 2014-2021
- Откуда: Москва
- Благодарил (а): 4 раза
- Поблагодарили: 10 раз
Re: Синхронный старт анализаторов NI PXIe – 5663
Что-то явно не так работает. На графике видно, что стартуют измерения практически через равные промежутки времени, а должны совершенно синхронно. Очень похоже на программный старты измерений, который происходит у вас в цикле. То есть сначала опрашиваете первый модуль, потом второй и потом третий.
С данными модулями не работал и всех их нюансов не знаю, но скорее всего концепция синхронизации у NI одинакова для всех модулей.
Для синхронизации надо:
1. Использовать одинаковую опорную частоту для всех модулей. Как я понимаю, это делается как раз с помощью niTClk Synchronize VI.
2. Настроить запуск всех измерений на общий триггерный сигнал.
3. Запустить измерения! Как я понял, для данных плат это делается с помощью niRFSA Initiate VI. То есть в этот момент задача сбора запускается для каждой платы и они уже ждут прихода триггерного сигнала и как только он пришел начинают сбор данных аппаратно. (Задача сбора запускается программно, а сам сбор начинается аппаратно).
Без niRFSA Initiate VI у вас запуск задачи происходит программно в цикле в момент выполнения niRFSA Fetch IQ VI. То есть сначала запускается для первой платы, и так далее... Проверить это можно просто переставив платы в массиве "NI-RFSA Devices" если последовательность задержек изменится, то дело точно в этом. Видимо эти 250 мкс как раз и есть время программного запуска задачи.
С данными модулями не работал и всех их нюансов не знаю, но скорее всего концепция синхронизации у NI одинакова для всех модулей.
Для синхронизации надо:
1. Использовать одинаковую опорную частоту для всех модулей. Как я понимаю, это делается как раз с помощью niTClk Synchronize VI.
2. Настроить запуск всех измерений на общий триггерный сигнал.
3. Запустить измерения! Как я понял, для данных плат это делается с помощью niRFSA Initiate VI. То есть в этот момент задача сбора запускается для каждой платы и они уже ждут прихода триггерного сигнала и как только он пришел начинают сбор данных аппаратно. (Задача сбора запускается программно, а сам сбор начинается аппаратно).
Без niRFSA Initiate VI у вас запуск задачи происходит программно в цикле в момент выполнения niRFSA Fetch IQ VI. То есть сначала запускается для первой платы, и так далее... Проверить это можно просто переставив платы в массиве "NI-RFSA Devices" если последовательность задержек изменится, то дело точно в этом. Видимо эти 250 мкс как раз и есть время программного запуска задачи.
-
- user
- Сообщения: 93
- Зарегистрирован: 05 июн 2013, 08:58
- Версия LabVIEW: 13
- Контактная информация:
Re: Синхронный старт анализаторов NI PXIe – 5663
Спасибо за помощь, нашел пример, который обеспечивает синхронный старт, может кому-нибудь еще понадобиться: