Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

DAC Single Sample Write Reponse Time

Solved!
Go to solution
I am using the USB-6259 DAQ. I wrote a simple loop to continously write a single sample to an analog output to check the repsonse time of turing a voltage pos & neg. I have the "Write Analog DBL 1Chan 1Samp" connected to a "multiply by neg 1" in a loop. I run the application, and it appears the response time is about 3msec between +/-. This is way too slow for my application. My application requires constantly reading and adjusting voltages. I can get a much high sample rate if I am outputting a waveform. However, I am not outputting a waveform. I am outputting a voltage in response to reading a voltage. Is it possible to have a shorter response time? Is there another method (using C?) to improve response time?
0 Kudos
Message 1 of 7
(3,882 Views)

erikucsd,

 

How are you verifing this 3mseconds?  What speeds does you application require?  Can you post your VI or a screenshot of your block diagram?  Is it similar to the one I have attached?

Sincerely,
Jason Daming
Applications Engineer
National Instruments
http://www.ni.com/support
0 Kudos
Message 2 of 7
(3,859 Views)
Yes. The VI you attached is what I have. I have an oscilloscope attached to the output and see that it takes 3msec to switch between voltages. I need something ~100x faster. I will be "okay" if I get it 10-20x faster. Do I need to go to C to get faster times? If so, can you direct me to those resources? Thanks. Erik Holindrake
0 Kudos
Message 3 of 7
(3,856 Views)

Erik,

 

Where are you getting this "signal to read"?  If you are inputting this, doing some calculations, then outputting a voltage you will never be able to get the timing you need.  Switching to C is not the issue in this case.  All of these measurements are deterministic from windows so switching to C is not going to fix the issue.  When I tested the output program I posted I saw 840uS between the change from + to -.  This will be almost entirely based on processor speed and other similar factors.  Can you please describe from where you will be reading this value and maybe a little bit more about any calculations or other things your program would need to do.  Unless there is a way we can pass you inputs to the output in a hardware timed fashion it will be very difficult to get the results you need.

Sincerely,
Jason Daming
Applications Engineer
National Instruments
http://www.ni.com/support
0 Kudos
Message 4 of 7
(3,850 Views)
Message Edited by Dennis Knutson on 11-24-2008 10:54 AM
0 Kudos
Message 5 of 7
(3,845 Views)
Thanks for the help! I am getting the signal from the USB-6259 DAQ analog output. It is attached to an oscilloscope. I run the loop and see how long it takes for the voltage to swtich from + to -. This is the time it will take to update a voltage. It is a closed loop system. The basic program (all from the USB-6259 DAQ): Loop{ Do an A/D conversion. Output a voltage (based on the A/D result). } If it took you ~1msec, that is only a 3x increase. I need something much faster. Perhaps a USB DAC is too slow? Is there any way to improve how windows response? I am running on XP, 3.00GHz 1G RAM. I hope this answers the question you were asking. Thanks again for all the help.
0 Kudos
Message 6 of 7
(3,844 Views)
Solution
Accepted by topic author erikucsd

Erik,

 

Windows is deterministic up to 1ms so there is no way we could get this application into the speed realm you need with the current hardware.  I believe you could implement this with an FPGA and we have many options available

Sincerely,
Jason Daming
Applications Engineer
National Instruments
http://www.ni.com/support
0 Kudos
Message 7 of 7
(3,824 Views)