Streaming Host Example for the NI PXIe-5644R »
This example uses NI-RFSA and NI-RFSG instrument driver FPGA extensions, along with the Stream Controller IP to stream data from the host VI to the output port of the NI PXIe-5644R as well as from the input port of the NI PXIe-5644R to the host VI. This example also provides a template for setting up peer-to-peer streaming with another device.
|
Description: This example uses NI-RFSA and NI-RFSG instrument driver FPGA extensions, along with the Stream Controller IP to stream data from the host VI to the output port of the NI PXIe-5644R as well as from the input port of the NI PXIe-5644R to the host VI. This example also provides a template for setting up peer-to-peer streaming with another device.
Some applications require offloading the data from the FPGA in the VST to another device. This can be accomplished in several ways: DMA FIFOs to a host system, Peer-to-Peer DMA FIFOs to other devices in a PXIe system, or through the front-panel DIO of the VST. Or, some applications require transferring data to another clock domain for processing, which can be achieved using local FIFOs.
Additional Documentation:
Compatibility:
This example was designed and tested using the following software packages:
Dependencies:
Latest Version:
Previous Versions:
Installation Notes (Version 1.0.0.1 only):
After installing a VI package containing an instrument driver FPGA extensions host example, before opening any of the host VIs, move the sub-directories installed under the example parent directory into c:\Program Files\National Instruments\NI VST\Custom Bitfiles\ (32-bit Windows) or c:\Program Files (x86)\National Instruments\NI VST\Custom Bitfiles\ (64-bit Windows). The Custom Bitfiles directory may require manual creation, and this process requires administrative privileges. After moving these files, c:\Program Files[ (x86)]\National Instruments\NI VST\Custom Bitfiles\[Sub-directory Name]\Open FPGA Session.vi" should be a valid file path.
Note: All source on this community is distributed using VI Package Manager (VIPM). For more details on VIPM, please read A Note on VI Package Manager
Additional Note: There is a known issue with this example, where you may encounter an underflow error when using this example code with a PXIe-5646.
To work around this problem, make the following changes to the source code:
Is the FPGA VI provided? Can we change it? Thanks!
Hi Terry,
It is not. We are currently supporting the compilation of new instrument driver FPGA extensions through an early access program, here:
http://digital.ni.com/betaprogram/mainbetacust.nsf/main.htm
You can find more details on instrument driver FPGA extensions and the early access program here:
http://www.ni.com/white-paper/14646/en/
http://www.ni.com/white-paper/14648/en/
http://www.ni.com/white-paper/14649/en/
If you are accepted into the program, we can provide the source code for this example.
Thanks,
Ryan
Hi Danny,
We do have an updated example for the NI PXIe-5646R in the works. Please stay tuned. We'll be posting it as soon as it is ready.
Regards,
Ryan
Dany,
The latest example, 2.0.0.3 supports the PXIe-5646R and can stream at up to 200 MS/s. I've updated the link above to point to the latest version.
Jon
I am out of the office until 05/27/2015.
No phone or email access.
Note: This is an automated response to your message "Re: [Examples and IP
for Software-Designed Instruments and NI FlexRIO] - Streaming Host Example
for the NI PXIe-5644R/45R/46R" sent on 5/21/2015 6:49:47 PM.
This is the only notification you will receive while this person is away.
Hello Ryan,
Extremly Sorry Ryan for sending message directly to you, as i was not a member of this group prevoiusly.
1. I have downloaded the above examples and ran but not able to record a signal.
2. I am using LV2014, this examples suppport LV2014 or not?
3. Not getting any error also after running the VI(TDMS record for VST)
Please look at the Attacted the image below after running the VI(TDMS record for VST).
Can you please elaborate or guide me how to use record and playback example, as i think i m not fully aware how to use the examples.
Can any one please help me regarding the above issues.
Thanks in advance.
Warm Regards
Hemant
Hemant,
Sorry to hear you're running into this. We'll get to the bottom of it.
Please let us know whichPXIe chassis, controller, and RAID you're using. This will help us narrow down the root cause of this buffer overflow.
Thanks,
Jon
Hello Jon,
I have downloaded the disk streaming example from the below link
https://decibel.ni.com/content/docs/DOC-26426#comment-49223 and its beng working (Able to record the signal and playback properly)
But still i am facing one issues regarding the file format.
I have read the VI and seen that for storing itsbeen used TDMS file Format.
But is it possible to write adnd read the data to binary file using a LabVIEWs VIs Write to binary file and read from binary file instead of TDMS file.
For Storing the Data its being use here acquire read region invoke method(See the attached Snap) to save in tdms file
Is it possible to write and read the data directly ??
Instead of Taking Read region refnum output and giving the TDMS VI for stroring.
Is there any way to get the actual data not the read region refnum.
Can you please help me regardig this.
Thanks in advance.
Hello,
We are trying to achieve disk streaming at 200MS/s usisng 5646R. It seems that we are successful at saving the data, and we are about to play back the data to verify that the data is indeed valid. However, our goal is not to play back, but rather to view and analyze the data. We see the data is passed by reference to TDMS in TDMS Record for VST.vi, and it seems that it is stored in 1D array. Is this unscaled data, and if so, how can we scale it back to IQ data?
Specifically, we used to use niRFSA Fetch IQ.vi in 1 Rec 1 Chan Complex Cluster mode along with SMT Basic Zoom Power Spectrum.vi and SMT Spectrum Unit Conversion.vi in Spectral Measurements Toolset, and we'd like to do the same spectrum analysis by reading the saved TMDS file that is created using TDMS Record for VST.vi.
Any help is appreciated. Thank you in advance.
Michi
I should have created and looked at the FPGA code of the new VST project sooner. I guess we should use U32 to IQ Data VI for conversion.
Thank you,
Michi
Hello,
I think I have the similer problem as M.Hojo, I would like to view and analyze the I ,Q data (FM demodulate) while is it recording. I try to use the niRFSA Fetch IQ.vi in N Rec 1 Chan Complex Cluster mode to get the data while the the device recording data.I found the device need to rearm and initiate after it finish the transfer the data to the host. It take about 5ms, it is too long for my application. Is it possible for me to transfer the data to host when the device is acqusition data. It is possible to disk streaming the record data to the host while it is recording?
Regards,
yizhi liang
I'm sorry that I couldn't reply sooner. Just to be clear, because it is important for us to continuously store the data, we've decided to use the example to stream the data to storage as it is. What we wanted to do is to create another VI to read the streamed data from the file and do the post analysis. However, initially we didn't know how to convert the stored data back to IQ data. This is why I posted the question above. We didn't try to transfer the data from VST to the host because we didn't want to interrupt the data stream being done by the sample code.
Then I realized that when I go to File in the menu and select Create Project (sorry, I'm looking at Japanese version of LabVIEW and the wording may not be identical to what you actually see) and select VST Streaming (NI 5646R) sample project, LabVIEW will create a template project with sample codes. One of them is VST Streamig (FPGA).vi, and it has subVI called U32 to IQ Data that helped us understand how to convert the streamed data back to IQ data.
Hope it helps.
Michi
Actually I want to stream the data as streaming the record data(which get finite sample when it recive one triger signal) not continuous data,but when I use the TDMS Record for VST.vi it ingore the triger at all.
And I can not found the VST Streaming (NI 5646R) sample project,maybe I missing something of my labview?