Страница 1 из 1

CompactRIO: аналоговый сигнал

СообщениеДобавлено: Ср фев 20, 2013 11:41 pm
soul
Здравствуйте!

Имеется оборудование NI RIO 9075 и c-модуль 9223. Версия labview 2010. На данный момент задача простая: отобразить форму подаваемого на каналы модуля сигнала. В качестве тестовой программы используется вариант из find examples.

Возникает следующая проблема:

Более менее четкая картинка получается на очень низких частотах (порядка 2-5 Гц), более он просто не успевает отрисовывать. В спецификации модуля максимальная частота 10 Мгц. В каком направлении искать решение?

Спасибо.

Re: CompactRIO: аналоговый сигнал

СообщениеДобавлено: Пт фев 22, 2013 2:25 pm
gurrmann
Напишите, пожалуйста, какую Вы используете программу.

По спецификации модуль обеспечивает сбор данных 1 MS/s.

Возможно, проблема в подключении?

Re: CompactRIO: аналоговый сигнал

СообщениеДобавлено: Пт фев 22, 2013 9:47 pm
soul
Используется программа из find examples (analog input) в качестве теста. Подключение стандартное, через сетевой кабель.

По спецификации модуль обеспечивает сбор данных 1 MS/s.
Это так. Возможно, модуль как раз обрабатывает сигнал корректно. Не понятно, на каком из этапов происходит искажение.

Re: CompactRIO: аналоговый сигнал

СообщениеДобавлено: Пн фев 25, 2013 4:39 pm
gurrmann
Можете выложить скриншот с неработающим вариантом?

Re: CompactRIO: аналоговый сигнал

СообщениеДобавлено: Вт фев 26, 2013 3:39 pm
gurrmann
Ваша проблема возникает из-за того, что в примере значения считываются по одному и пересылаются в контроллер, при этом скорости обращения контроллера к ПЛИС (считывания поточечно) может не хватать. Также там есть параметр Software loop time, который определяет период опроса контроллером - им можно до определенного предела уменьшить время опроса.

Если вы хотите считывать данные с бОльшими частотами, то вам нужно организовать буфер FIFO, в который будут записываться данные в ПЛИС, а затем извлекаться на контроллере кусками и выводиться на экран. (Пример DMA Buffered Acquisition - cRIO из NI Example Finder)

Для модуля 9223 возможна скорость оцифровки 1Мгц, для ее достижения недостаточно просто создать буфер, для достижения таких частот используется метод User-Controlled IO Sampling (пример NI 9223 User-Controlled IO Sampling). Там уже используется pipelining и пользовательское тактирование сбора.