Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI 6711 seamless waveform generation at 1 MHz

I will be generating a waveform at 1 MHz update rate on one channel only on a PCI-6711. The waveform is larger than the FIFO, so host memory will be accessd. Is it true that even though the FIFO is 8192 samples, there is only 1k FIFO samples per channel ? That would mean only 1 msec (or 0.5 msec if DMA transfer is called at one-half empty FIFO) of the waveform could be in the FIFO at any one time and that the next portion of the wavefrom will need to be transfered from host memory every 1 msec. I'm concerned that other cpu activity (other data transfer, user's network browsing, or open a large application) would produce gaps or misses in the waveform output. Does the DMA transfer have high enough priority to ensure t
his will not happen ?
0 Kudos
Message 1 of 3
(2,347 Views)
SteveP wrote:
>
> I will be generating a waveform at 1 MHz update rate on one channel
> only on a PCI-6711. The waveform is larger than the FIFO, so host
> memory will be accessd. Is it true that even though the FIFO is 8192
> samples, there is only 1k FIFO samples per channel ? That would mean
> only 1 msec (or 0.5 msec if DMA transfer is called at one-half empty
> FIFO) of the waveform could be in the FIFO at any one time and that
> the next portion of the wavefrom will need to be transfered from host
> memory every 1 msec. I'm concerned that other cpu activity (other
> data transfer, user's network browsing, or open a large application)
> would produce gaps or misses in the waveform output. Does the DMA
> transfer have high enough priority to en
sure this will not happen ?

Almost certainly not.

Try the NI 5411 for PCI, dedicated to generating arbitrary waveforms at
up to 40 MS/s.

Mark
0 Kudos
Message 2 of 3
(2,347 Views)
Steve;

The FIFO has 8192 Samples, meaning that, if you will generate 8 waveforms, the FIFO can store up to 8x8192 points. As you are generating 1 waveform only, the FIFO will store up to 8192 points for that channel. The DMA itself doesn't have much to do with CPU time sharing. In fact, the DMA concept was created to replace the Interrupt concept, which had everything to do with CPU time sharing. DMA has a separate DMA controller which is responsible to copy the data to the RAM computer, without having the interference of the CPU. So, what interferes with the DMA performance, is the number of devices which shares DMA channels. If you don't have many devices sharing DMAs, you should be good to go.
But you always have the option of using a faster waveform generato
r board, such as the NI-5411.
Hope this helps.
Filipe
Message 3 of 3
(2,347 Views)