07-27-2014 08:56 PM
I have a PXI-7854R on which I'm attempting to sample an Analog Input at its fastest possible rate (nominally 750kHz). By setting "Arbitrate if Multiple Requestors Only" I can set the tick rate to 52 which gives ~769 kHz. Recently I extended my code to add a second optional section which also sampled from the same AI channel, but would never be able to do so at the same time (inside different cases) and therefore could not compete for the I/O. However this dropped my maximum rate to 56 ticks (~714 kHz), presumably because arbitration code was added in the compilation. A "Never Arbitrate" option is not made available for Analog Inputs, although it is present on the same card for Analog Outputs.
Does anyone know if this is a limitation of the board or of the software environment? I'm currently running back a couple of versions (LV 2012 with NI-RIO 12.1) but could upgrade if that helped. I won't be changing the board though - I'll work around the issue if I have to.
Solved! Go to Solution.
07-28-2014 06:40 PM
Hi GregS,
I have verified that upgrading to LabVIEW 2013 or NI-RIO 13 would not change the options available. The Never Arbitrate option doesn't appear to be available for any analog inputs on any of our hardware. That could potentially change in the future, but it doesn't appear to be supported at the moment.
07-28-2014 06:48 PM
Hi Josh,
So does LabVIEW FPGA build an arbiter in this case, even though the IO nodes are guaranteed never to execute at the same time?
Thanks,
-Steve K
07-28-2014 08:11 PM
Thanks Josh, that's helpful to know. I'll find ways to work around this.
Greg
07-29-2014 02:24 PM
Hi Steve K,
I believe so. I'm attaching a link below to an entry in the LabVIEW 2013 FPGA Module Help file that describes this.
http://zone.ni.com/reference/en-XX/help/371599J-01/lvfpgaconcepts/arbitration_options/
07-31-2014 01:08 PM
Hi Josh,
Forgive me, but yes or no? "A resource interface with the Arbitrate if Multiple Requestors Only option does not use an arbiter if the FPGA VI contains only one requestor. If the resource interface has multiple requestors, LabVIEW generates arbitration circuits even if the requests are not simultaneous." Is a requestor a VI? Is the resource interface a node? Does multiple requestors mean multiple nodes? This is not typically LabVIEW nomenclature, so I'm struggling to interpret it.
Thanks,
Steve
08-01-2014 11:42 AM
Hi Steve,
This means that when different parts of the FPGA VI can request access to the hardware resource (even if there is no way for them to request it simultaneously), then arbitration code is added.