LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA Scan rate

Solved!
Go to solution

Hey guys,

 

I got a short question. How fast can I "scan" data with a FPGA on a CRIO? I know that the CRIO works with a scan engine frequency of 1 kHz but that’s a way too slow for me. I want to measure some pressure (single samples) with a frequency of 80 kHz. I acquire the most recent value for my application, which means that I gotta read my value every few microseconds. Is it possible to read with a FPGA the most recent value using such a high frequency?

 

Regards,

 

Florian

0 Kudos
Message 1 of 9
(3,726 Views)

Yes it's possible, but not in "scan mode".  You need to write FPGA code to do that.

Message 2 of 9
(3,721 Views)

Hi Florian,

 

with the FPGA you can sample as fast your cRIO mudoles allow. So your question should be: which module I have to use to get samples with atleast 80kHz samplerate!?

 

Call your local NI sales rep and discuss all needed specifications!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 3 of 9
(3,699 Views)

Hey guys,

 

thanks for ur responses, I really appreciate it. I got one last question: Couldn't I cheat on the whole scan engine thing by creating a global variable? I mean, I guess it doesn't take hundred microseconds to transfer a global variable value from the FPGA to the RT processor (I know that programming the FPGA is the smarter way, but anyway it would be great to know it). 

 

Thanks! Smiley Very Happy

 

Regards,

 

Florian

0 Kudos
Message 4 of 9
(3,683 Views)

How would that help?  The Scan Mode is running at a 1kHz cycle rate.  What value do you see in sending a variable back and forth? 

0 Kudos
Message 5 of 9
(3,676 Views)

I know ... I was just wondering if using a global variable would be faster than using the scan engine with its 1 kHz ! Thats's why I asked that question. This question might sound weird, I know 😄 It was a kind of theoretical question!  

0 Kudos
Message 6 of 9
(3,671 Views)
Solution
Accepted by topic author Floriiii

For FPGA you have two methods to access the I/O's, the first method is the "scan engine" interface and the second method is to program the FPGA using LabVIEW.  What you mean by "Global" variable implies that you must use the second method, which is to put some code on the FPGA.  Here "Global" is not the right term because when programming your FPGA you have many choices to transfer data between the LabVIEW FPGA and LabVIEW Real-Time.  You can refer to the following link for more information on how to transfer data.

 

http://zone.ni.com/reference/en-XX/help/371599K-01/lvfpgaconcepts/fpga_data_transfer_overview/

 

The example finder contains many example also.

 

Michel

Message 7 of 9
(3,664 Views)

I guess I'm a bit confused on what you are trying to do.  If you want to just read an input at 80kHz I would suggest using a DMA FIFO.

 

http://www.ni.com/tutorial/4534/en/

 

It kind of sound like you are trying to do some sort of point by point analysis in real time though, in which case you would probably want to do all of that on the FPGA.  If you give us some more information on what your goal is we can help you figure out what you should be doing rather than what you can do with the FPGA.

Matt J | National Instruments | CLA
Message 8 of 9
(3,662 Views)
Thank you guys, u helped me very much with all that links! I gonna start working on my code now.

Have a nice Sunday !
0 Kudos
Message 9 of 9
(3,656 Views)