Не работает FPGA

Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск

Re: Не работает FPGA

Сообщение Vitekkz88 »

1. Может быть я вас не так понял, скриншот прилагаю.
Думаю,имеет смысл познакомится со средствами коммуникаций между параллельными циклами.
Вам рекомендуют архитектуру приложения,типа Producer/Consumer. В качестве буфера можно использовать очередь либо сдвиговый регистр(на сколько можно,думаю коллега Andrew Lunev, меня поправит).Алгоритм такой: собирайте данные в одном цикле,копите собранные данные во втором цикле, а в третьем пишите в файл.
http://www.ni.com/white-paper/3023/en/
http://www.uio.no/studier/emner/matnat/ ... g%20II.pdf
Вложения
Example.png
Example.vi
(12.27 КБ) 139 скачиваний
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын

Ivan_TRB
beginner
beginner
Сообщения: 13
Зарегистрирован: 10 ноя 2014, 17:01
Версия LabVIEW: 14

Re: Не работает FPGA

Сообщение Ivan_TRB »

Andrew Lunev писал(а):1. Не так. У вас должны быть два параллельных цикла типа производитель/потребитель. Один собирает данные, другой сохраняет их в файл. Структура подробно описывается во многих учебниках по LabView. Поищите.
2. Главная идея с записью следующая. Писать 500 раз в секунду по одной точке в файл дело очень накладное. Такое даже жесткий диск стационарного компьютера не факт что обеспечит, а тем более sbRIO. Поэтому надо где-то накапливать данные и когда их соберется нужное количество писать уже в файл. Например накапливайте по 500 точек на каждый канал и тогда записывайте сразу большой объем в файл. По вашей ссылке должно получиться что-то типа как в пункте 34. Там ждут когда накопится 2000 измерений на все каналы и тогда записывается в файл.
В этом случае все можно сделать в одном цикле и не придется ставить задержку, так как цикл будет тактироваться автоматически по накоплению данных в буфере.

P.S. Кстати, в пункте 17 по той же ссылке показан пример с двумя циклами. В одном данные собираются, в другом пишутся в файл. Только буфер используется переменной, а не DMA. И нет оптимизации, так как пишется в файл опять же по одной точке.
Спасибо всем за советы!

Не понимаю, а как будет писаться время к этим 2000 измерениям? и вообще какой хороший тон чтобы писать время?

Аватара пользователя
Andrew Lunev

Activity Professionalism
leader
leader
Сообщения: 885
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Версия LabVIEW: 2018
Откуда: Москва

Re: Не работает FPGA

Сообщение Andrew Lunev »

Для записи подойдет прекрасно формат Waveform. У вас же шаг по времени будет постоянным. Для этого формата задается начальное время и шаг, дальше пишутся только сами данные. Посчитать время для каждого измерения потом можно автоматически.

Аватара пользователя
toshas
junior
junior
Сообщения: 65
Зарегистрирован: 05 апр 2009, 22:45
Версия LabVIEW: 9.0

Re: Не работает FPGA

Сообщение toshas »

Ivan_TRB писал(а):Всем привет! В настоящее время работаю с SbRIO9636. Весь софт самый последний (LabView 2014 Xilinx 14.7). Очень часто зависает компилятор, на этапах Translating и Mapping. Решаю этот вопрос отменой, удалением Build Specification. Кто нибудь встречался с такой проблемой? Windows 8 64-bit
Xilinx ISE 14.7 не поддерживает Win 8
http://www.xilinx.com/support/documenta ... _7/irn.pdf

http://www.ni.com/download/labview-fpga ... 4/4882/en/
http://www.ni.com/download/labview-fpga ... 4/4845/en/

Для варианта Labview - Vivado, поддержка 8ки появится начиная с версии 2014.1,
Думаю, это может произойти в LV2014SP1

Ответить

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