Naruszenia czasowe w While loop

Tematy związane z LabVIEW FPGA oraz programowaniem układów.
krakers88
Posty: 4
Rejestracja: 11 wrz 2009 17:08
Kontakt:

Naruszenia czasowe w While loop

Post autor: krakers88 »

Witam

Mam następujący problem podczas kompilacji VI i wrzucania na kartę fpga (PCI 7831) wyskakuje mi komunikat o naruszeniach czasowych. Miałem co prawda już z tym problem, ale w pętli czasowej gdzie kod po prostu nie był w stanie się wykonywać z założoną częstotliwością.
Teraz mój program mieści się w całości w While Loop i wyskakuje komunikat o naruszeniach czasowych.

W związku z tym moje pytanie co determinuje szybkość wykonywania się tej pętli?
Na początku myślałem, że to wyjście analogowe które mam w pętli wymusza jej wykonywanie się tak, aby mieściło się w okresach jego próbkowania, ale zwątpiłem kiedy w innym programie z mniej złożonym kodem wewnątrz pętli miałem wyjście analogowe i opóźnienie czasowe np. 100 ms i to działało!!
Jak to możliwe?
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

Naruszenia czasowe w While loop

Post autor: bogdani »

Może pokaż nam swój kod, abyśmy mogli powiedzieć, co jest przyczyną opóźnień...

bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
krakers88
Posty: 4
Rejestracja: 11 wrz 2009 17:08
Kontakt:

Re: Naruszenia czasowe w While loop

Post autor: krakers88 »

Witam dzięki za zainteresowanie.

Załączam screena programiku. W takiej postaci jak na obrazku działa, w starej formie w której występowały zbyt duże opóźnienia zamiast operacji zoptymalizowanych dla typu fixed-point były zwykłe mnożenia i dodawania które to były winne naruszeniom czasowym.
Problem jest niby rozwiązany, ale nadal nurtuje mnie jedno pytanie, mianowicie:
Co określa w jakim czasie ma się wykonywać pętla while-loop?
Jak widzicie w programiku jest opóźnienie czasowe nastawione na bodajże kilkaset us, ale w starym programie też było, a kompilator nie wiem czemu wywalał, że wymaga wykonania się operacji w pętli z opóźnieniem nie większym od 24.75ns.
Jaka jest tego przyczyna?
Załączniki
screen_1.JPG
ODPOWIEDZ