From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Examples and IP for Software-Designed Instruments and NI FlexRIO

cancel
Showing results for 
Search instead for 
Did you mean: 

Streaming Host Example for the NI PXIe-5644R/45R/46R

FIFO streaming.png

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:

 

  • After installation - C:\Program Files (x86)\National Instruments\LabVIEW 2012\examples\Streaming Host Example for the PXIe-5644R\documentation\Streaming Host Example for the PXIe-5644R.pdf

 

Compatibility:

 

This example was designed and tested using the following software packages:

 

  • LabVIEW 2013
  • LabVIEW FPGA Module 2013
  • NI-RFSA 2.9 or 2.9.1
  • NI-RFSG 1.9.7 or 1.9.8

 

 

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:

  1. Following the loop that primes the DMA Buffer, the FPGA control streaming.output.start on primed needs to be set to True.
  2. The call to niRFSG Initialize.vi must complete prior to the DMA stream start.
Comments
Terry_ALE
Active Participant Active Participant
Active Participant
on

Is the FPGA VI provided?  Can we change it?  Thanks!


Certified LabVIEW Architect, Certified Professional Instructor
ALE Consultants

Introduction to LabVIEW FPGA for RF, Radar, and Electronic Warfare Applications
Ryan_V[DE]
Active Participant
Active Participant
on

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

Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
DanyAllard
Active Participant Active Participant
Active Participant
on

Hello Ryan,

Do you have an example for 5646 with LabVIEW 2013 that can achive 120MS/s in Record and Playback?

Thank you

Dany

LabVIEW ChampionArchitect
Ryan_V[DE]
Active Participant
Active Participant
on

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

Ryan Verret
Product Marketing Engineer
Signal Generators
National Instruments
DanyAllard
Active Participant Active Participant
Active Participant
on

Hello Ryan,

I sent you a PM

LabVIEW ChampionArchitect
Example_and_IP_Admin
Member
Member
on

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

DanyAllard
Active Participant Active Participant
Active Participant
on

Hello Jon,

do you have example that support LabVIEW 2014? The package seams to install only on LabVIEW 2013

LabVIEW ChampionArchitect
Roger_P_Case
Member
Member
on

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.

LV_COder
Member
Member
on

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

HemantRecord.JPG

Example_and_IP_Admin
Member
Member
on

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


LV_COder
Member
Member
on

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 ??Read Region.JPG

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.

M.Hojo
NI Employee (retired)
on

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

M.Hojo
NI Employee (retired)
on

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

yizhiliang
Member
Member
on

 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

M.Hojo
NI Employee (retired)
on

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

 

 

yizhiliang
Member
Member
on

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?