High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

PXI-5142 "NISCOPE_VAL_NOW"

Hi,

I think this question relate to both NI-SCOPE and NI-RFSA. Here I use NI-SCOPE as example.

Example Project: "FetchForever"-GenericFetchForever.C (in common folder)

 

If I modify Line 85 "NISCOPE_VAL_READ_POINTER" to "NISCOPE_VAL_NOW" (niScope_SetAttributeViInt32 function), I can not fetch any data from on-board memory. Looks like PXI-5142 grab nothing.

 

The error message will show "timeout" if I also update the timeout value on line 91 from "0.0" to "10.0". (niScope_Fetch function)

 

Actully NISCOPE_VAL_READ_POINTER is good, but will have data overwrite issue when I set a big datarate (over 18MS/s). And not easy for me to set the offset to avoide memory overwrite issue. I like to try "NISCOPE_VAL_NOW" to avoide the overwrite issue.

 

 

For RFSA, same issue occues if I using "NIRFSA_VAL_MOST_RECENT_SAMPLE" attribute (which should be same as NISCOPE_VAL_NOW) instead of NIRFSA_VAL_CURRENT_READ_POSITION (which should be same as NISCOPE_VAL_READ_POINTER ".

Btw, any idea for using offset to avoide memory overwrite issue is welcome too.

 

 

BR
Mark Lai
0 Kudos
Message 1 of 6
(7,030 Views)

Well, look like most people study LabView, not C++. OK, here is the LabView sample I download from NI website.

Again, in case you modify the "NIRFSA_VAL_CURRENT_READ_POSITION " to "NIRFSA_VAL_MOST_RECENT_SAMPLE", you can simply find out nothing will be saved into disk. Any idea about using "NIRFSA_VAL_MOST_RECENT_SAMPLE"?

BR
Mark Lai
0 Kudos
Message 2 of 6
(7,012 Views)

Hi Mark,

 

The fetch offset parameter, in combination with the relative parameter (fetching relative to start, or relative to a trigger or even now) can be used to control which specific samples are fetched from digitizer memory into PC memory.  The sampling rate, trigger rate, record size, fetch size, binary sample width, and "allow records>memory" settings can also have an impact on the maximum sustainable rate you can achieve on a given bus such as PXI or PCI.  In the case of the NI 5142 which has onboard signal processing, whether you fetch real or complex data will also make a difference.  You may also achieve better performance if you have a larger memory on the card. 

 

The optimal settings will depend on your overall application.  Could you provide a few details on your application so I can advise you appropriately?  Specifically, what sampling rate you require (or alternatively what bandwidth you are looking at)? Are you are triggering or continuously fetching data? Is all the data important to you, or are you only interested in the current data?

 

- Jennifer O.

0 Kudos
Message 3 of 6
(6,978 Views)

Hi,

I am trying to get upto 20MHz (25MS/s) and I also like to get all data on continu fetch.

Let's why I keep trying different setting in order to enarge my performance.

Any idea? Thanks

BR
Mark Lai
0 Kudos
Message 4 of 6
(6,964 Views)

Hi Mark,

 

I would like to start by summarizing some of the key points to your streaming application:

 

1)Fetching complex data (I&Q) at 25MS/s will result in 25MS/s x 4 Bytes/S = 100MB/s

2)This rate is very close to the maximum rate you can achieve on a PXI/PCI bus

3)Several factors other than the PXI bandwidth can reduce your maximum streaming rate

a. Bridges introduced by MXI,PXI express to PXI conversion, or slot choice in your chassis

b. Performing in-line processing, writing to file  or display

c. Fetching a small number of samples per fetch

d. PXI/PCI bandwidth is shared.  If you are performing other generation or acquisition this will reduce your available bandwidth.

 

Here are some suggestions to help you maximize your sustainable rates:

1)Disable any unnecessary processing/display as well as any other devices using the PXI bus.

2)Set the property "Enable Records > Memory" to true (this

3)Configure your fetch to fetch relative to read pointer, and to fetch a large number of samples

4)Minimize the number of bridges if possible (use an embedded controller instead of MXI, select the optimal slot within your chassis if it has multiple segments- this will vary by chassis)

5)If you are still unable to sustain 25MS/s, you may need to use a slower sampling rate or employ triggering to reduce the equivalent sample rate.

 

 - Jennifer O.
Message 5 of 6
(6,945 Views)

Hi Jennifer,

Thanks for suggestion, I think I have tried most of them.

Actually NI's local SI can help me to get update 25MS/s, but they still not show me how can they do this.

I just to make sure ther is no "NI only" or "LabView Only" setting. Currently I can fetch 2MS/s, but as u said,  I can not write the data into system memory because it will slow down fetch and  cause data overwrite issue.

 

Well, thanks for help, will let you know how NI's local SI can do this later. Hope they don't just slowdown the bandwidth 🙂 or using some funcion we don't know.

 

Mark Lai

 

BR
Mark Lai
0 Kudos
Message 6 of 6
(6,924 Views)