LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI-6221 analog i/o timing

I need to build a vi working with PCI-6221 card. Briefly speaking, 2 digital inputs trigger one analog input, once it's triggered, measured value of analog input must be multiplied by one of two values (depending on which digital input triggered) and send it back to the card - to one of two outputs. Input signal frequency is approximately 3kHz and once the input is triggered I have only 40 us to measure, multiply and generate analog output. Is this ever possible ? 
0 Kudos
Message 1 of 3
(2,705 Views)

Hello,

 

My initial thought is no, this is not possible using regular LabVIEW using a 6221.  You could do it in LV FPGA.

 

Why?  Because your data processing (multiplying your measured value by one of two values and then updating your output task) has to be done using software timing, and software timing is neither precise nor fast.  Your data acquisition can be done using a hardware clock (so that can be very fast), but you're relying on the computer's processor to do your math and then update your output task.  You'll be hard-pressed to do that at loop speeds less than 1msec (and 1msec is probably pushing it).  Too much overhead already on your processor for that.

 

If you absolutely have to have the 40usec speed, then you'll need to do your selection and math in hardware.  The circuit you'd need is not particularly complex -- some digital logic and a couple of op amps, some resistors, maybe a filter or two.

 

If someone else can come up with a way to do this in LabVIEW, I would like to hear it, for my own edification!

 

Diane

 

 

Message 2 of 3
(2,693 Views)
I agree.  the only practical way is LabVIEW FPGA.  with FPGA, this would take 5 usec using older technology or ❤️ usec with latest boards.
Stu
Message 3 of 3
(2,684 Views)