I have a PXIe-6356 in a chassis that I'm using to sample electrons arriving at
a photomultiplier. The output from the photomultiplier is amplified and I'm
measuring it as a voltage using the analog input lines of the 6356. The
electron flux is < 1 nA, so generally too high to sample fast enough to
count individual electrons, but it is still has a lot of instantaneous Poisson noise.
Presently if I sample at say 100 kHZ, the AI trace is quite noisier than compared to
the output from another vendor's hardware. I searched through the API for
functions so I might control the sampling period and averaging behavoir but
I've come up empty. Is there any sample-and-hold functionality or similar for this device?
At present the only approach I can see to reduce the signal noise is to
sample at the max rate and then average in software post-acquisition.
Are there NI PXIe cards that can do >1 MHz integrated sampling with some duty
cycle control?
I'm currently using the Python wrapper for NIDAQmx, but I'm happy to use the
ANSI-C API if needed.
I also have a PXIe-7962R FPGA in the same chassis which is being used to collect
data from a fast CMOS camera. Is there a way to trigger tasks for the 6356
from when the 7962R starts acquisition? Currently we have an external trigger line
but that creates some clock slew. The X-series reference manual mentions the use
of the 'PXIe_CLK100' clock. There's one example:
https://github.com/ni/nidaqmx-python/blob/master/nidaqmx_examples/ai_multi_task_pxie_ref_clk.py
but it shows two DAQmx devices talking to eachother. Is there an C-API for the
7962R? I searched but I couldn't find an API or even a reference manual for
the device.