Single-Board RIO examples

Ответить
Jason_dinAlt
interested
interested
Сообщения: 1
Зарегистрирован: 24 сен 2010, 21:03
Версия LabVIEW: 9.0
Контактная информация:

Single-Board RIO examples

Сообщение Jason_dinAlt »

Имеется sbRIO-9611, LabVIEW и все необходимые модули, а также навыки разработки системы сбора, обработки и хранения данных. Столкнулся с проблемой отсутствия примеров как в базе LabVIEW, так и в сети. Но так как sbRIO похожи на cRIO, начал разбираться на их примере. Сделал простую программу опроса аналогового входа, к которому был подключен генератор аналогового сигнала с возможностью изменения частоты от 0.001 до 10 кГц. Как оказалось метод опроса аналогового входа с частотой 1МГц не дает желаемого результата, а именно гладкого отображения дискретизованного сигнала на осцилограмме LabVIEW. Отображение сигнала происходит нормально только на частоте подаваемого аналогового сигнала до 500 Гц. Ниже приведена блок-диаграмма программы. Есть ли здесь какие-то ошибки?
FPGA подпрограмма
FPGA подпрограмма
1.PNG (8.08 КБ) 3613 просмотров
Host программа
Host программа
2.PNG (9.27 КБ) 3613 просмотров
В дальнейшем необходимо принимать и обрабатывать аналоговый сигнал частотой 70 кГц. В мануале платы написано, что АЦП может преобразовывать сигнал до 700 кГц. Какие методы, блоки, возможности LabVIEW нужно использовать для осуществления цели? Сможет ли применение FIFO решить проблему? Есть ли примеры или обучающая литература для освоения программирования sbRIO?
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

Re: Single-Board RIO examples

Сообщение Aleksey Feoktistov »

У меня была похожая проблема с NI ELVIS II. сигнал был плохой, а вернее отвратительный. В характеристиках писали, что прибор может оцифровывать сигнал со скоростью 1,25 миллионов точек в секунду (в общем-то так оно и есть), но когда я снимал две характеристики параллельно, то скорость оцифровки упала в два раза и сигнал, сами понимаете, на высоких частотах был не пригодным. Это одна из возможных причин. Поднимите скорость оцифровки до максимальной, предусмотренной Вашей железкой. Количество точек которое Вы будете оцифровывать никак не влияет на форму вашего сигнала!
Вообще, по теореме Найквиста минимальное количество точек при котором сигнал будет пригоден, должно быть в два раза больше частоты сигнала.
И еще одна возможная причина. Вы пытаетесь менять скорость оцифровки динамически, в ходе выполнения программы, насколько я помню, этого делать нельзя (возможно ошибаюсь). Попробуйте указать статическое значение этого параметра, притом выберите его максимальным для вашего дивайса.
Аватара пользователя
mark
beginner
beginner
Сообщения: 39
Зарегистрирован: 18 ноя 2010, 21:35
Версия LabVIEW: 2015

Re: Single-Board RIO examples

Сообщение mark »

Jason_dinAlt,
по-моему, проблема в том, что вы пишете только один отсчет с FPGA в индикатор ModA/AI0. И соответственно, считываете только один (в данном случае, последний) отсчет на Real-Time.

Попробуйте использовать FIFO с типом Target-To-Host. Укажите в настройках размер буфера, тип элементов, на FPGA пишите так быстро, как нужно, а на Real-Time считывайте все пачками, как успеете.

В ходе выполнения скорость опроса можно менять. :wink:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Real Time / FPGA / Embedded»