LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Queuing data in my processing loop is causing lots of jitter in my acquisition loop.

I currently have some FPGA code monitoring 768  digital lines (48 I16 integers) every 1 ms and buffering the data up to go to the RT. I have a loop running on my RT that reads data from a target to host FIFO every 5 milliseconds. This corresponds to 240 I16 integers each read. I then send that data off to a processing loop. It seems if I'm not processing, things are ok. Even processing I don't have issues. But when I process the data in my processing loop, and stick it in an object to be sent to my tcp loop and my logging loop, I have huge delays back in my acquisition loop...often on the order of 20-30 ms. Does an object really have that much overhead that it will effect a parallel loop this much? I will say when I wasn't using an object, I will still seeing these large jumps. The processed array is 3840 elements...that hardly seems like enough to cause this much jitter...but what do I know. This is a big problem because now I am behind on my acquisition and get buffer overflows, causing me to lose data.

 

Thoughts?

0 Kudos
Message 1 of 2
(2,082 Views)

Looks like it is the object. I just used a standard queue to send the data out and didn't see nearly the jitter I was...time to refactor my messaging I guess.. Still looking for suggestions if anyone has them.

0 Kudos
Message 2 of 2
(2,076 Views)