Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Вы не вошли. | Поиск | Регистрация | Вход |
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюДобрый день! А помогите пож. 15й ответ 2й пункт,( 2. Запустить синхронный ввод как с АЦП так и с цифровых линий, при этом на цифровых линиях можно выставить частоту равной частоте кадра. ) не вполне ясно, как выставить частоту на цифр. линиях равную частоте кадра. Не получается, синхронизировать чтение данных по имп. с цифрового входа. И еще а L-502 ЕСТЬ В НАЛИЧИИ? |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюДобрый день. По поводу наличия изделий, свяжитесь с отделом продаж, по почте или телефону (http://www.lcard.ru/contacts) |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюимп. 1 млсек на цифр. входе программа не видит, не успевает реагировать на него |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюА какая частота у Вас стоит сбора? Если длит. импульса 1 млсек, а частота кадров АЦП не достаточна, то можно в качестве частоты ввода с цифровых линий взять частоту в N раз больше, чем частота кадра, чтобы частота стала достаточной (для 1 мс частота например 4 КГц хватит с запасом), и считать что на каждый кадр приходится N отсчетов с цифровых линий. |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюДобрый день! А уточните пож. модификацию модуля L-502..., с которым Вы тестировали скорость (ПУНКТ 23). |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюОт модификации время запуска/останова не зависит. Модификацию Вы выбираете, исходя из того, нужен Вам ЦАП (буква -D) и сигнальный процессор (-P). У Вас E-502 полная, которой соответствует L-502-P-G-D (EU в E-502 означает наличие интерфейсов USB и Ethernet - для L-502 это понятно не актуально, поэтому и у L-502 модификация называется по другому), если что-то из опций не используется, то можете взять и другую модфицикацию |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюДобрый день! if (err != lpcie.Errs.OK) if (err == lpcie.Errs.OK) if (lch_cnt >= 3) } } } |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюАсинхронный ввод выполняет запуск сбора, прием одного кадра (массив по одному отсчету на один логический канал, как у Вас и выделяется) и останов. Но для Вашего случая в этой функции нет смысла, он не может быть быстрее синхронного. Таймер тут ничем не поможет (сам по себе таймер может только вносить задержку, но никак ничего не ускорять), если функция будет выполняться 200-300 мс, то на сколько бы Вы таймер не поставили у Вас не будет функция вызываться чаще. |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюСпасибо! А не подскажете где в принятом массиве искать этот перепад уровня сигнала по цифровой линии для обработки массива данных АЦП. Или как правильнее в программе осуществить эту синхронизацию. Когда я считал количество циклов в режиме непрерывных преобразований, то получилось 3,7 в сек, не сильно быстрее, чем в режиме внешнего старта. |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюВопрос, что Вы подразумеваете под циклом, количество которых Вы считаете. Например, в примере x502_stream_read константа READ_BLOCK_SIZE определяет, сколько отсчетов считывается за раз. Если частота АЦП например стоит 2 МГц и частота цифровых линий 2 МГц, то модуль передает 4 млн отсчетов в секунду, соответственно если READ_BLOCK_SIZE равен 4096*200 как в примере, то у Вас получится 4000000/(4096*200) = 4.88 циклов Recv/ProcessData в секунду (но каждый на много отсчетов). В примере выводится только один отсчет из блока, но это только для примера. Для обнаружения фронта потоке цифровых линий нужно после ProcessData() пройтись по всему массиву данных с цифровых линий (в примере массив din_data размером din_size) и проверить бит, соответствующий номеру входа, к которому подключен сигнал (первые 16 бит - DI1-DI16, далее DI_SYN1 и DI_SYN2). Если используется вход DI_SYN1, то это соответственно 17 бит и проверка i-го слова может выглядеть
Смена этого условия с FALSE на TRUE означает фронт с 0 на 1. Соответственно Вы фиксируете номер отсчета от начала сбора, в котором это произошло, и исходя из соотношений частот АЦП и цифрового ввода получаете номер отсчета в потоке АЦП, который соответствует этому события и определяете ближайшее начало кадра (исходя из кол-ва лог. каналов). |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюДобрый день! Спасибо за ответы, вроде все получается. Есть небольшие недостатки при синхронизации. Если запуск от внешнего имп., то развертка стоит как мертвая, все четко. А если работа в режиме внутреннего запуска и синхронизация по имп. на цифровом входе, то картинка иногда подрагивает, как бы срыв синхронизации. Не сильно, а на 10 - 20 точек по горизонтали. Для синхронизации и в том и другом случае используется один и тот же имп. и вход один. Может у Вас есть советы какие-нибудь по этому вопросу? |
|||
|
||||
|
Re: консультация по коммутации входов и программному обеспечениюВ этом режиме сдвиг может быть больше чем в режиме аппаратной синхронизации, т.к. импульс может прийти не в начале собираемого кадра, но он должен оставаться в пределах одного кадра (одна точка каждого опрашиваемого канала, Tкадра = 1/(Fadc/Nch), где Fadc - частота коммутации каналов, Nch - кол-во опрашиваемых каналов, это если нет настроенной дополнительной межкадровой задержки). Если еще и учитывать, где именно внутри кадра возник импульс, и считать следующей кадр не от нуля времени а с соответствующей задержкой от начала развертки, то точность привязки можно повысить до одно периода коммутации АЦП независимо от кол-ва каналов, который может быть 1/2MГц = 0.5 мкс. Но в любом случае если у Вас есть сдвиг больше чем на один кадр, то скорее всего где-то есть ошибка сопоставления момента определения фронта сигнала синхронизации и момента начала кадра в данных АЦП (возможно при каких-то условиях, раз случается срыв лишь иногда, например если появляется в начале или конце собранного массива) |
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск