09-27-2013 11:12 PM - edited 09-27-2013 11:27 PM
I am using NI CRIO 9014 real time controller along with NI 9474 and NI 9222 modules. I am using FIFO to plot the current sensor input to one of the analogue inputs. I am using default clock rate of 40MHz. I am using four channels of Ni 9222 for the data measurements (hence sampling rate per channel should be 500/4 = 125S/s). However in practical I get a smapling rate of 75 S/s as displayed by the host window. So my sampling time comes out to be 40MHz/ 75S/s *25ns=13.3 us. In my application I want a reduced sampling time in the order of 1 us . Can somebody tell how can I achieve this ?
09-30-2013 10:29 AM
H Harjot,
i hope the following link can answer your question
http://digital.ni.com/public.nsf/allkb/5250C3AAE0CBAAE68625777F0072438E?OpenDocument
Best regards
10-02-2013 11:16 AM
Hi Riepld
I already saw this documentation and used user controlled I/O nodes along with single step timed loop. But still I could not reduce the sampling time...
Regards
Harjot
10-02-2013 12:15 PM
Hi Harjot,
Could you elaborate on what you mean by "Sampling rate of 75 S/s as displayed by the host window"? Are you running the host VI on the RT controller interactively? Communicating over the network? Where does this sample rate come from/ how are you benchmarking the application in question? Are you referring to a shared variable RT FIFO or an FPGA DMA FIFO? What does your FPGA code for the four-channel acquisition look like? (upload if possible).
The 9222 should be capable of a full 500 k samples/sec on each channel (no need to divide down, this is a simultaneous sampling module, check the specs), so it seems unlikely that you're running into a hardware limitation.
Regards,
10-02-2013 04:01 PM
10-02-2013 04:27 PM
You should group your FPGA IO Reads into a single node. Currently you have this:
You should do this instead:
10-03-2013 10:03 AM
Hi Craig
I have tried the program with your suggested modification. By using single node to read analogue inputs, I was able to bring the sampling rate at 125kS/s. giving a sampling time of 8us.I was wondering that if this is the minimum that I can achieve with this module or there is still possibility to reach a datasheet value of 500kS/s/channel
Thanks.....
Harjot
10-04-2013 01:39 PM
If you sample just one channel on the 9222 what is the highest rate you can achieve?
10-08-2013 09:37 PM
Hi Daniel
Right now by using the user controlled I/O sampling , I am getting a rate of 220 ticks that is equivalent to a sampling time of 220*0.025 us = 5.5 us. This is the minimum that I could achieve but it is still higher than 2us.
Regards
Harjot
10-10-2013 08:49 AM
Have you run the NI 9222 User-Controlled IO Sampling.lvproj example? I am curious to see what sampling rate you get from the example as a comparison. The example can be found from LabVIEW by navigating to Help » Find Examples and then Hardware Input and Output » CompactRIO » Module Specific IO » Analog Input » NI 9222 User-Controlled IO Sampling.lvproj. Run this and compare the results.