10-29-2009 03:57 PM
Hi All,
I searched around for a while, but I found no suitable implementation for what I'm trying to do. Someone where I work has presented me with an interesting challenge. Is there a way to set up a DAQmx task (or otherwise configure an MIO board) to route an analog input directly to an analog output on the hardware level? You may be thinking, "why on earth would you want to do that?!" To reduce electrical complexity, a colleague would like to simultaneously read from an analog input while "duplicating" its signal on an analog output. I know that I can easily accomplish this while buffering through the PC, but they're interested in ensuring that the output signal is as similar to the input signal on the KHz level, while introducing a minimal difference in phase (lag from the PC's buffering).
For the record, we have mostly older E series boards around here like the PCI-6070E (PCI-MIO-16E-1). I was first asked if it could be done via SCXI, but I thought I'd start by asking regarding the MIO boards.
It sounds like a long shot and I've never heard of anyone ever doing this, but I thought I'd ask to be sure!
Thanks,
Jim
Solved! Go to Solution.
11-02-2009 10:55 AM
Hi Jim,
This is possible, when selecting the physical channel of your DAQmx create channel vi, right-click and select I/O Name Filter to open the following window. Ensure you select Internal Channel as an option when selecting channels.
.../_ao0_vs_aognd should now be a selectable option as an input.
11-02-2009 01:42 PM
Hi Glen,
Thanks very much for getting back to me. I was aware of this trick for reading analog outputs from an input task, but that's not what I'm trying to do. (Am I not understanding your solution correctly?)
What I'd like to be able to do is configure an analog output to duplicate the voltage on an analog input. The easiest way that I can explain it is that I'd like to accomplish the equivalant of what's happening in this snippet, except without buffering through software (and at a higher sampling rate).
As I'm writing this, I'm feeling rather sheepish - maybe this is a downright silly thing to be trying to do.
Can it be done as described?
Thanks again,
Jim
11-02-2009 03:23 PM
11-02-2009 10:44 PM
Hi Jim,
Using our driver there is not a way to generate data directly from the AI FIFO, it has to first pass through software. You can try the following code to output a duplicate AI on the AO line to see what kind of delay you might expect. It's similar to your original code with a few necessary tweaks:
Use AO to Output Delayed Version of AI in DAQmx
From what it sounds like you need to do, you might instead consider looking into using a voltage follower to isolate Vin from Vout.
Best Regards,
John
11-03-2009 08:16 AM
11-03-2009 08:25 AM
Joe Friedchicken
NI Configuration Based Software Get with your fellow OS users
[ Linux ] [ macOS ]Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
11-03-2009 08:33 AM