FPGA zapis danych poprzez FIFO

Tematy związane z LabVIEW FPGA oraz programowaniem układów.
tomus
Posty: 21
Rejestracja: 15 mar 2015 12:51
Wersja środowiska: LabVIEW 2014

FPGA zapis danych poprzez FIFO

Post autor: tomus » 13 wrz 2015 23:11

Witam!
Mam problem z zapisem danych na dysk, przygotowałem projekt z 2 .vi:
-pierwszy w FPGA odczytuje wartości z karty i zapisuje je w FIFO
-drugi .vi działa w RT i odczytuje wartosci z FIFO, otwiera/tworzy plik TDMS, zapisuje dam dane i go zamyka
Niestety po odpaleniu drugiego .vi wywala błąd odczytu danych z FIFO, ktoś mógłby zerknąć do kodu co robię źle??
Załączniki
Zapis.jpg
Rez_pomiar.vi
(69.81 KiB) Pobrany 110 razy
Zapis_rez.vi
(209.78 KiB) Pobrany 120 razy
Rezystancja.lvproj
(43.92 KiB) Pobrany 106 razy

Rivulet
Posty: 2
Rejestracja: 14 wrz 2015 10:52
Wersja środowiska: LabVIEW 2014

FPGA zapis danych poprzez FIFO

Post autor: Rivulet » 14 wrz 2015 11:36

Hej,

o ile dobrze pamiętam błąd -50400 oznacza, że RT nie udało się zebrać żądanej ilości danych w wymaganym czasie, bądź coś innego związanego z timeout'em. Ten błąd występuje w pierwszej iteracji pętli?

Zaczęłabym od poukładania pewnych rzeczy:
1. Na FPGA - wyrzuć kontrolkę wskazującą na timeout poza pętlę FOR tak, żeby świeciła się jeżeli timeout wystąpi kiedykolwiek. W tym momencie program niekoniecznie musi Cię informować o timeoutcie.
2. Na RT - defaultowe wartości kontrolek z FPGA ustaw przed rozpoczęciem pracy FPGA. Chodzi mi tutaj głównie o kontrolkę Counts, która tuż po uruchomieniu programu na FPGA ma wartość 0. Jest szansa, że obecnie to może Ci zapychać bufor na FPGA.
3. Weź pod uwagę, że utworzenie TDMSa też trochę trwa, np. u mnie to ok 600ms. Otwórz TDMSa np. przed uruchomieniem FPGA, bo tutaj natomiast jest szansa, że zapychasz nawet bufor na RT :)

Zmiane 2 i 3 można by pewnie załatać zwiększeniem buforów na FPGA i RT, ale chyba lepiej od razu porządniej zakodzić, żeby nie mieć później większych problemów ;)

Daj znać czy coś się zmieniło, jak nie, to załącz poprawiony projekt i będziemy szukać dalej.

Pozdrawiam,
Rivulet
Kraków, CLA

tomus
Posty: 21
Rejestracja: 15 mar 2015 12:51
Wersja środowiska: LabVIEW 2014

Re: FPGA zapis danych poprzez FIFO

Post autor: tomus » 14 wrz 2015 22:02

Niestety nic się nie zmieniło, poprawiony projekt w załączniku
Załączniki
zapis.jpg
Rezystancja.lvproj
(43.92 KiB) Pobrany 112 razy
Rez_pomiar.vi
(69.91 KiB) Pobrany 110 razy
Zapis_rez.vi
(206.18 KiB) Pobrany 108 razy

Rivulet
Posty: 2
Rejestracja: 14 wrz 2015 10:52
Wersja środowiska: LabVIEW 2014

Re: FPGA zapis danych poprzez FIFO

Post autor: Rivulet » 15 wrz 2015 21:16

Zapomniałeś poprawić pkt 1 i 2. Naciskam na nie, bo czasem jak FIFO na FPGA się zatka, to dzieją się różne rzeczy. Przy okazji możesz też zwiększyć bufor na FPGA np. do 10k.

Ten błąd występuje w pierwszej iteracji RT czy kolejnych?

Odpalasz program z takimi ustawieniami kontrolek jak na załączonym screenie? Bo jeżeli tak to w tym momencie Twoja pętla na FPGA kręci sie co 1,2 sekundy, więc nie zbierzesz takiej ilości elementów w 5 sekund.

Generalnie:
Warning -50400 occurred at an unidentified location
Possible reason(s):
NI Platform Services: The transfer did not complete within the timeout period or within the specified number of retries.


Pozdrawiam,
Rivulet
Kraków, CLA

tomus
Posty: 21
Rejestracja: 15 mar 2015 12:51
Wersja środowiska: LabVIEW 2014

FPGA zapis danych poprzez FIFO

Post autor: tomus » 06 lis 2016 17:07

Wracam do zagadnienia: jakie zmienne mają wpływ na częstotliwość zapisywanych danych?
Potrzebuję utworzyć plik, w którym zapisane dane będą mierzone z częstotliwością 15Hz i 30Hz (dwa różne pliki). Które wartości mają na to wpływ i jak je zmieniać?

spalinowy
Posty: 82
Rejestracja: 03 lut 2012 15:09
Wersja środowiska: LabVIEW 2016
Lokalizacja: Warszawa
Kontakt:

Re: FPGA zapis danych poprzez FIFO

Post autor: spalinowy » 20 lis 2016 09:44

Częstotliwością można sterować np w ten sposób, że we Flat Sequence dodajesz jedną ramkę, w której umieszczasz opóźnienie. Jak w tym linku:
LINK

tomus
Posty: 21
Rejestracja: 15 mar 2015 12:51
Wersja środowiska: LabVIEW 2014

FPGA zapis danych poprzez FIFO

Post autor: tomus » 23 lis 2016 08:59

oki, a co jeśli teraz mam zapis danych z częstotliwością 2Hz, to jaki parametr muszę zmienić aby ją zwiększyć do właśnie 15 czy 30??

ODPOWIEDZ