Форум: Техническая поддержка

Тема: Межмодульная синхронизация L502

Вы не вошли.

 Поиск | Регистрация | Вход 

06.05.2024 16:43:02
#1

Участник
Здесь с 10.08.2023
Сообщений: 8

Межмодульная синхронизация L502

Добрый день
Имеются две платы L502, соединенные кабелем межмодульной синхронизации. При запуске программы настраиваю режим генерации частоты синхронизации через X502_SetSyncMode (одна плата ведущая (X502_SYNC_INTERNAL), вторая ведомая(X502_SYNC_EXTERNAL_MASTER)). Около месяца все работало без нареканий, но пару дней назад начались странности: на одной из плат периодически нет сигнала (значения с аналоговых входов по нулям). При переводе обоих плат на режим X502_SYNC_INTERNAL проблема ушла. Т.к. частота считывания данных достаточно высокая (4000 в сек), то разницы с/без синхронизации не увидел, но, наверное, правильней бы было все таки с ней.
Проблема возникала непостоянно: может через пару мин после старта программы, а может и через день.
Подскажите, с чем может быть связана такая ситуация?

06.05.2024 18:25:46
#2

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,263

Re: Межмодульная синхронизация L502

А какая опорная частота используется  (функции X502_SetRefFreq() для ведущего и X502_SetExtRefFreqValue() для ведомого) ? т.к. при работе от внешней частоты верхний предел 1.5 МГц, то нужно перейти с 2 МГц на 1.5 МГц.
Нули появляются на ведомом модуле? на всех каналах? Сбор идет без остановки и просто в потоке с какого-то момента данные становятся нулями а потом опять же без перезапуска все восстанавливается или как?

Сама разница между двумя режимами проявляется при длительном непрерывном сборе модулями, т.к. при использовании каждым модулем свой внутренней опорной частоты за счет немного разных опорных частот модулей будет постепенно набегать разница во времени между отсчетами разных модулей.

08.05.2024 12:40:50
#3

Участник
Здесь с 10.08.2023
Сообщений: 8

Re: Межмодульная синхронизация L502

Переходить нужно на обоих платах на 1.5 МГц или только перенастроить на ведущей? Само собой читал про это в документации, но когда запустил, то все заработало, поэтому опорные частоты оставил дефолтные (видимо как раз 2 МГц). Возможно в этом и есть моя ошибка (если так - то Вы наверное меня и поправите).
Нулевые значения появляются на ведомой плате и на всех каналах (32). Сбор идет постоянно, без задержек. В программе под каждую плату работает отдельно свой поток (никаких задержек во время считывания (sleep и прочее) нет).
При старте сначала все работает как надо, затем через 3-5 мин (но может и значительно больше), с ведомой платы не идут данные. Помогает только перезапуск всей программы (при старте однократно выполняется настройка плат, затем полученные дескрипторы передаются в потоки, дальше в X502_Recv).
Опять же повторюсь - почти месяц все работало хорошо, проблемы начались пару дней назад.
Режим работы программы - два раза в день по 8-10 часов непрерывный сбор, в остальное время остановка через X502_StreamsStop. При остановленном сборе мои потоки крутятся в холостую со Sleep - ом в 15 мс. По команде из интерфейса вызывается X502_StreamsStart и в работу.

08.05.2024 13:43:45
#4

Сотрудник "Л Кард"
Здесь с 17.04.2014
Сообщений: 1,263

Re: Межмодульная синхронизация L502

На ведущем модуле Вам нужно задать опорную частоту в 1.5 МГц (которую будет использовать сам ведущий модуль и генерировать для ведомого) с помощью X502_SetRefFreq() до настроек частоты АЦП, а для ведомого нужно задать ожидаемое значение внешней опорной частоты с помощью X502_SetExtRefFreqValue() перед установкой частоты АЦП, чтобы функция установки частоты АЦП корректно подобрала делители опорной частоты.

За 10 часов при пределах отклонения опорной частоты в ±0,005 % (5.5.1 из https://www.lcard.ru/download/l-502_users_guide.pdf) максимально допустимое расхождение в худшем случае будет (если у одного модуля отклонение на -0,005%, у другого на +0,005% - за счет этого умножение на 2 в конце) в секундах равно: 10*3600*(0,005/100)*2 = 3.6 c. Хотя в конкретном случае оно может быть значительно меньше...

08.05.2024 15:53:18
#5

Участник
Здесь с 10.08.2023
Сообщений: 8

Re: Межмодульная синхронизация L502

Алексей, Благодарю за ответ!
Теперь стало понятно. Попробую на днях переделать настройку с учетом 1.5 МГц, правда, как Вы и сказали, ощутимой разницы в получаемых данных может и не быть (видимо отклонения по частотам крайне малы).
В принципе, т.к. частота сбора с плат у меня сейчас 4029 в сек, а макс частота внешнего сигнала (по которому забираются данные с потоков сбора) не более 1500, то как мне кажется, явно видимого "рассинхрона" скорей всего не будет. Но все равно есть желание сделать "по правильному", с синхронизацией.

Контакты

Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2

Многоканальный телефон:
+7 (495) 785-95-25
Факс: +7 (495) 785-95-14

Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru

Время работы: с 9-00 до 19-00 мск