Quantcast
Channel: Motion Control and Motor Drives topics
Viewing all articles
Browse latest Browse all 1315

Synchronize two analog outputs with different sample sizes and rate of outputs

$
0
0

I am using a PCI 6321 to run a scanning microscopy setup and would appreciate some advice on a technical issue with timing the DAC for acquisition (output).

 

I have a problem synchronizing two different voltage outputs from the PCI 6321. I need to use an external clock running at ~5 kHz, meaning that hardware timed single point is not a good option since it tops out around 2 kHz (I am also not using a Real Time OS). The waveform that AO0 will output is 200 samples long and will repeat. Every 200 points from AO0, I want AO1 to output the next point of its waveform and hold this value for the next 199 points that AO0 outputs. In other words, AO1 changes 1/200 as quickly as AO0. AO1 will also output 200 unique voltages.
 
Since 200 x 200 = 40,000 unique pairs of output voltage points, the onboard memory is insufficient to hold all of the points. I tried using regenerative output, but then there is no way to make AO1 change on every 200 clock cycles while AO0 changes every clock cycle (I think). Is there a clever way to do this with just uploading the 200 points to each AO channel and then making them step separately? I understand that all outputs use the same clock, but there is an integer relationship between how many clock cycles they each need before they are each changed.
 
Alternatively, I could break the output up into 10 batches, and upload 4000 points onto the on-board memory at a time. However, I worry that the time it takes to upload each batch is longer than the 200 microseconds I have in between when I need AO0 to change. Is this the case? Or is 200 microseconds sufficient to upload and start outputting the new set of AO points?

Viewing all articles
Browse latest Browse all 1315

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>