Home > Community > Discussion Forums


Showing results for 
Search instead for 
Do you mean 
Posts: 52

Labview FPGA: How to use a signle FIFO to read from two different serial devices?

Hello, I am using cRIO 9025, NI 9871 and other modules together to log data from several different sensors. I need to use scan mode and FPGA mode simultaneously so that I did as this following link. http://digital.ni.com/public.nsf/allkb/0DB7FEF37C26AF85862575C400531690

As the tutorial said, the number of DMA FIFO's that can be used in the FPGA code will be reduced, since the scan engine uses two DMA FIFO's. Most FPGAs have 3 DMA FIFO's, so there will only be one DMA channel left to use in the FPGA code. However, in FPGA mode for NI 9871, I am tryintg to receive data from an accelerometer and a weather station which have different data transfer speeds. May I ask that is it possible for me to use a sigle FIFO to read from both serial devices?


Thank you very much.

Active Participant rsw
Active Participant
Posts: 995

Re: Labview FPGA: How to use a signle FIFO to read from two different serial devices?



There is a way you can get around this, while you can only have one DMA FIFO you can have a larger number of just FIFO's (dependant on the size), if you read from the RS323 into 2 FIFO elements and store the data, and if the connection timed out or not in a cluster then into an array. You could then extract these elements using a for loop and a case structure to ensure the logic only actions when the COM port hasn't timed out. This way you can store the data at the RT level and read out the valid sections without the memory restriction.


Kind Regards,

Applications Engineer