Hardware Developers Community - NI sbRIO & SOM

Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.
Highlighted

Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

Hi,

Please have a look at this super-simple FPGA vi which I run on my sbRIO-9606:

 

unai20180223.png

 

I am doing my best to design an RT host-side vi to read the DMA FIFO data, and show them somehow; but I have not succeeded yet: plenty of timeouts occur.

I am afraid I may have hit some sort of built-in limitation on the RT part of the sbRIO-9606 -- or within myself Smiley Happy

So, could anyone suggest some sort of simple host-side vi being able to keep up with this 40-MHz transfer rate?

Any help appreciated!

Biscay.

0 Kudos
Message 1 of 9
(1,126 Views)
8 REPLIES

Re: Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

Looks like the datatype is U32.

4 bytes x 40 million = 160 megabytes per second. Did you check the throughput specs? 


Certified LabVIEW Architect, Certified Professional Instructor, LabVIEW FPGA expert
ALE Consultants
LabVIEW Programming (make LV more popular, read this)
0 Kudos
Message 2 of 9
(1,119 Views)

Re: Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

Hi Terry, this is the closest thing to a spec that I found:

specs_cpu.png

So the question may be, how many clock cycles does it take for the RT Host (to be precise, its RT OS) to grab the data from the FIFO?

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

Re: Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

That is not the spec I would use for this.  PXIe chassis have throughput specs but I cannot find one for this product.

I did find a similar discussion on the topic which quotes throughput at 300 MB/sec so you should be fine.

See: https://forums.ni.com/t5/Hardware-Developers-Community-NI/Bandwidth-from-FPGA-to-RT-on-9606-and-9651...

 

Moving ahead, what happens to the data after it gets to the RT?

 

PS have you considered data reduction?  One of the benefits of an FPGA is that you can add filtering or some kind of data reduction so you look at only the data you care about and save on storage and post-processing.

 


Certified LabVIEW Architect, Certified Professional Instructor, LabVIEW FPGA expert
ALE Consultants
LabVIEW Programming (make LV more popular, read this)
0 Kudos
Message 4 of 9
(1,108 Views)

Re: Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

How many elements are you reading at once on the RT side?

If you are trying to keep up by reading one element at a time, you will get timeouts as the RT won't be able to keep up.

You should read back an array of data (typically a fixed number of elements).

 

You have to adjust the size of the FIFOs on the host and the FPGA to reduce the likelihood of Timeouts.

Ryan Vallieu
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 5 of 9
(1,101 Views)

Re: Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

Terry, thanks again for your advice. And Hello Ryan.

I have considered data reduction, yes indeed.

Here's the full story: I need to process the ABZ signals provided by a 2500-ppt rotational encoder. The final design will to plenty of data reduction: a subvi of the FPGA will take charge of "understanding" the "encoder language", and hand a neat position value out to some internal register.

However, I'm still curious as to whether the custom-made interface board will do its work. For example, I used two ADN4668 "3V LVDS Quad CMOS Differential Line Receivers", and would like to check them out before plugging the encoder. So I thought, "let's first try to pass the raw encoder ABZ signals to a Waverform Graph, to see that everything goes OK on the hardware part". So, right now, basically I'm trying to implement a 40-MHz digital scope. Which seems to be too much for the relatively feeble RT-side of the sbRIO-9606.

Regards!

0 Kudos
Message 6 of 9
(1,091 Views)

Re: Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

I've done that in the past - passing up encoder signals to a host for visualization - you should be able to do it, you just need to buffer accordingly on the RT and then pass the data to the PC over TCP connection - don't try to use the RT in Interactive Front Panel mode plotting data and trying to keep up with DMA transfers, etc.  Interactive Front Panel operation really taxes the RT processor. (if that is what you are doing).

Ryan Vallieu
Senior Systems Analyst II
NASA Ames Research Center
Message 7 of 9
(1,074 Views)

Re: Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

The link with the other specs looks like the hardware should be able to handle 40 MHz of data.

If it cannot keep up, you can put decimator on the FPGA so that it sends every other sample or less to the point where the RT can keep up with the FPGA.


Certified LabVIEW Architect, Certified Professional Instructor, LabVIEW FPGA expert
ALE Consultants
LabVIEW Programming (make LV more popular, read this)
Message 8 of 9
(1,070 Views)

Re: Will a RT-side sbRIO-9606 keep up with this DMA FIFO writing rate?

Hi both! Thanks for your advice. Yes, I'm going to decimate the samples; I'll have to. On the other hand, yes, I'm using the RT front panel; I agree that it is an avid resource eater; I wish I had time for delving into programming TCP sockets... but that's not the case for the time being.

If I find out something meaningful I will let you know.

Regards!

0 Kudos
Message 9 of 9
(1,053 Views)
Reply
This is an open group. Sign in and click the "Join Group" button to become a group member and start posting.