LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Write array to FIFO and then split array array elements to multiple output channels question

I'd like to send an array to FIFO using FPGA PCI7833R.

Then I'm using four output channels

Channel 1's output should be element # 0, 4, 8, 2n

Channel 2's output should be element #1, 5, 9, 2n+1

Channel 3's output should be element #2,6,10,2n+2

Channel 4's output should be element #3,7, 11,2n+3

 

However, after first iteration, the while loop stops and tells there's Invoke Method error.  

I attached both the vi's.  

 

Could someone tell me what's wrong with the program?  Thank you.

 

 

0 Kudos
Message 1 of 4
(3,494 Views)

In essence, my question is how to write four different waveforms to four analogue output channels with only one FIFO.  (There are only three FIFO availalbe on FPGA PCI7833R)

Thank you very much.

 

 

0 Kudos
Message 2 of 4
(3,475 Views)

I use a single DMA FIFO to push the data from the Host to the FPGA then I use eight Memory blocks to drive the individual Analog outputs.

 

Remember that You can NOT write the Analog Outputs any faster than 1MHz

Visualize the Solution

CLA

LabVIEW, LabVIEW FPGA
0 Kudos
Message 3 of 4
(3,472 Views)

soljiang,

 

I think that the error may be arising from the fact that you are reconfiguring the depth of the FIFO in the loop.  Is there a reason you need to do this?

 

Try removing the configure inside the while loop.  If it runs more than one cycle, there is your problem.  

 

I haven't been able to test this, but if you have a need for changing the depth mid stream, you may try starting the FIFO again once you have configured it.

Drew T.
Camber Ridge, LLC.
0 Kudos
Message 4 of 4
(3,451 Views)