Single-Board RIO examples
-
- interested
- Сообщения: 1
- Зарегистрирован: 24 сен 2010, 21:03
- Версия LabVIEW: 9.0
- Контактная информация:
Single-Board RIO examples
Имеется sbRIO-9611, LabVIEW и все необходимые модули, а также навыки разработки системы сбора, обработки и хранения данных. Столкнулся с проблемой отсутствия примеров как в базе LabVIEW, так и в сети. Но так как sbRIO похожи на cRIO, начал разбираться на их примере. Сделал простую программу опроса аналогового входа, к которому был подключен генератор аналогового сигнала с возможностью изменения частоты от 0.001 до 10 кГц. Как оказалось метод опроса аналогового входа с частотой 1МГц не дает желаемого результата, а именно гладкого отображения дискретизованного сигнала на осцилограмме LabVIEW. Отображение сигнала происходит нормально только на частоте подаваемого аналогового сигнала до 500 Гц. Ниже приведена блок-диаграмма программы. Есть ли здесь какие-то ошибки?
В дальнейшем необходимо принимать и обрабатывать аналоговый сигнал частотой 70 кГц. В мануале платы написано, что АЦП может преобразовывать сигнал до 700 кГц. Какие методы, блоки, возможности LabVIEW нужно использовать для осуществления цели? Сможет ли применение FIFO решить проблему? Есть ли примеры или обучающая литература для освоения программирования sbRIO?-
Aleksey Feoktistov
- leader
- Сообщения: 898
- Зарегистрирован: 20 янв 2009, 00:15
- Награды: 6
- Версия LabVIEW: 2015
- Откуда: Tyumen
- Поблагодарили: 2 раза
- Контактная информация:
Re: Single-Board RIO examples
У меня была похожая проблема с NI ELVIS II. сигнал был плохой, а вернее отвратительный. В характеристиках писали, что прибор может оцифровывать сигнал со скоростью 1,25 миллионов точек в секунду (в общем-то так оно и есть), но когда я снимал две характеристики параллельно, то скорость оцифровки упала в два раза и сигнал, сами понимаете, на высоких частотах был не пригодным. Это одна из возможных причин. Поднимите скорость оцифровки до максимальной, предусмотренной Вашей железкой. Количество точек которое Вы будете оцифровывать никак не влияет на форму вашего сигнала!
Вообще, по теореме Найквиста минимальное количество точек при котором сигнал будет пригоден, должно быть в два раза больше частоты сигнала.
И еще одна возможная причина. Вы пытаетесь менять скорость оцифровки динамически, в ходе выполнения программы, насколько я помню, этого делать нельзя (возможно ошибаюсь). Попробуйте указать статическое значение этого параметра, притом выберите его максимальным для вашего дивайса.
Вообще, по теореме Найквиста минимальное количество точек при котором сигнал будет пригоден, должно быть в два раза больше частоты сигнала.
И еще одна возможная причина. Вы пытаетесь менять скорость оцифровки динамически, в ходе выполнения программы, насколько я помню, этого делать нельзя (возможно ошибаюсь). Попробуйте указать статическое значение этого параметра, притом выберите его максимальным для вашего дивайса.
Re: Single-Board RIO examples
Jason_dinAlt,
по-моему, проблема в том, что вы пишете только один отсчет с FPGA в индикатор ModA/AI0. И соответственно, считываете только один (в данном случае, последний) отсчет на Real-Time.
Попробуйте использовать FIFO с типом Target-To-Host. Укажите в настройках размер буфера, тип элементов, на FPGA пишите так быстро, как нужно, а на Real-Time считывайте все пачками, как успеете.
В ходе выполнения скорость опроса можно менять.
по-моему, проблема в том, что вы пишете только один отсчет с FPGA в индикатор ModA/AI0. И соответственно, считываете только один (в данном случае, последний) отсчет на Real-Time.
Попробуйте использовать FIFO с типом Target-To-Host. Укажите в настройках размер буфера, тип элементов, на FPGA пишите так быстро, как нужно, а на Real-Time считывайте все пачками, как успеете.
В ходе выполнения скорость опроса можно менять.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение