FDAQRT.vi 179.78K
88 downloadsHey AllI am working with a cRIO-9004.
I wrote an FPGA VI to acquire data at different rates in parallel loops. The WSS-RPM loop samples 3 sets of data at 1500Hz while the Acc loop samples 5sets of data at 100HZ each.
For each loop I am transferring the values to RT using DMA FIFO and generating a separate interrupt.
For the RT program, I wrote code where RT waits for interrupt no 1 then reads the values from the DMA FIFO and acknowledges the interrupt then the same procedure is followed with the other interrupt. I am logging the data read from the FIFO to a tdms file and observed that I am losing some data. I fiddled around with the no of elements to be read from the FIFO on the RT side and got varying degrees of loss. Is this because the RT VI is executing strictly in parallel and hence always services interrupt 1 first, then zero hence leading to data loss?? Also this means that the interrupts from the FPGA aren't really working like interrupts but the situation is sort of similar to polling.
I am not able to rectify this problem and I would be grateful if you could help me with the same. I know I need to change the code in my RT VI but dont know how to go about it.
FDAQFPGA.vi 102.93K
85 downloadsI am attaching both the FPGA VI and the RT VI so that you can clearly understand the problem.












