I wanted to know what the maximum achievable sample rate for NI 9220 using FPGA I/O nodes with a cRIO-9064 or equivalent and all 16-channels simultaneously. The document here - https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019Km2SAE&l=en-US specifies the speeds for NI 9222 and NI 9223, but there is no information given for NI 9220.
Also, the specifications document for NI 9220 states that "At the maximum sample rate, the NI 9220 outputs 3.2 MB/s of data. The ability to process and store large amounts of data varies based on the selected hardware." I am not sure what parameters to look at in the specification sheet for NI cRIO-9064 to know whether it is capable enough for this processing.
Thank you for your help.
You will theoretically get 16 channels, 16 bits of data each, so 256 bits, or 32 bytes each scan. 3.2 MB/s / 32 bytes = 100,000 / s . So it's 100,000 samples per second, simultaneous, max. It makes sense.
As for cRIO type I guess it depends on what you are doing with the data. You should be able to get the data from FPGA to real time side with one DMA FIFO. Are you just streaming the data somewhere? Averaging, filtering, FFTing it? The more processing you can do on the FPGA side the less CPU on the real time side you will use.
Honestly you will also never get a straight answer on exactly what "level" of cRIO you need because it's so slippery depending on what you are doing. Generally people just end up trying what they think is enough and then adjust from there based on what they see .
Thank you @MarkCG. You answered my second question, I will try to do as much processing as I can on the FPGA.
For the first question, what I was asking is whether I will need to use User Controlled I/O Sampling to be able to read data from 16 channels at 100 kS/s or would a simple FPGA I/O node be sufficient?
I don't know but I would try the user controlled sampling first.