synchronizacja DAQmx i X-NET
: 17 maja 2012 09:32
System PXIe, karta DAQ + CAN + FIU.
Wielowątkowa aplikacja w predefiniowany sposób wystawia ramki na X-NET, przełącza styki w FIU i w tym czasie próbuje kilkanaście kanałów AI. Każda z pętli zwraca waveform, dane są wyświetlane na jednym Graphie po zakończeniu sterowania. Całość trwa ok 3sek, niby drift zegarowy niewielki, ale możliwy do kilku ms, a to już za dużo.
wątki w pętlach timowanych:
1 sterowanie karty FIU (10ms)
2 odczyt strumienia z X-NET (2ms) z dekodowaniem ramek
3 wysyłanie na strumień X-NET (2ms)
4 pomiar DAQmx (100kS, 3s)
- Jak zsynchronizować zegar DAQmx z CAN/X-NET? Jest tutorial NI http://www.ni.com/white-paper/4204/en, ale nie rozumiem który zegar ma być podany jako sterujący. Czy mam użyć DAQmx Connect Terminal do przekierowania sygnału zegarowego?
- zauważyłem, że jak pętla 2 (odczyt X-NET) dam szybciej tzn 1ms, to zaczyna się nie wyrabiać (ok 70x patrząc na Previous Iteration Timing -> Finished Late? [i-1]. Czy przyczyną może być konflikt dostępu do karty X-NET wątku 2 i 3? Tzn ta sama karta nie może w tym samym czasie nadać i odczytać ramki?
Wielowątkowa aplikacja w predefiniowany sposób wystawia ramki na X-NET, przełącza styki w FIU i w tym czasie próbuje kilkanaście kanałów AI. Każda z pętli zwraca waveform, dane są wyświetlane na jednym Graphie po zakończeniu sterowania. Całość trwa ok 3sek, niby drift zegarowy niewielki, ale możliwy do kilku ms, a to już za dużo.
wątki w pętlach timowanych:
1 sterowanie karty FIU (10ms)
2 odczyt strumienia z X-NET (2ms) z dekodowaniem ramek
3 wysyłanie na strumień X-NET (2ms)
4 pomiar DAQmx (100kS, 3s)
- Jak zsynchronizować zegar DAQmx z CAN/X-NET? Jest tutorial NI http://www.ni.com/white-paper/4204/en, ale nie rozumiem który zegar ma być podany jako sterujący. Czy mam użyć DAQmx Connect Terminal do przekierowania sygnału zegarowego?
- zauważyłem, że jak pętla 2 (odczyt X-NET) dam szybciej tzn 1ms, to zaczyna się nie wyrabiać (ok 70x patrząc na Previous Iteration Timing -> Finished Late? [i-1]. Czy przyczyną może być konflikt dostępu do karty X-NET wątku 2 i 3? Tzn ta sama karta nie może w tym samym czasie nadać i odczytać ramki?