Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

How update output during synchronized input/output?

Solved!
Go to solution

Hello,

We use an m-series PCI-6289 input/output card to deliver sound to participants while recording their EEG.

Our input and output are synchronized using the diagram that is attached.

 

To date our output sound segments have been relatively short. However, now we would like to output sounds that last a very long time. I have run into memory shortage problems using the current diagram.

 

Could someone suggest how I might update the output sound, regularly with short 1 sec chunks, within the loop in the attached diagram?

 

I tried moving the DAQmx Write.vi (point 4. in the diagram) inside the loop, but the output sound was not correct.

 

Thank you for your advice!

Frenk

 

 

0 Kudos
Message 1 of 3
(3,714 Views)

I should have noted that I am using LabVIEW 8.5!

0 Kudos
Message 2 of 3
(3,682 Views)
Solution
Accepted by topic author Frenk

Hi Frenk,

 

Can you be more specific about the error you are encountering?

 

Have you heard of Analog Output Regeneration? It can be used with a DAQmx Write property node.

 

Regeneration is the repetition of the data that is already in the buffer. Standard regeneration is when data from the PC buffer is continually downloaded to the FIFO to be written out. If the buffer of data is smaller than the size of the FIFO, it is copied as many times as possible into the FIFO before the generation starts. This is done to reduce the possibility of running into bandwidth errors by not transferring new data down to the FIFO quickly enough. Once the generation is started, copies of the data are no longer made to fill the buffer. New data can be written to the PC buffer at any time without disrupting the output.

 

You can also use FIFO regeneration. With FIFO regeneration, the entire buffer is downloaded to the FIFO and regenerated from there. Once the data is downloaded, new data cannot be written to the FIFO. To use FIFO regeneration, the entire buffer must fit within the FIFO size. The advantage of using FIFO regeneration is that it does not require communication with the main host memory once the operation is started, thereby preventing any problems that may occur due to excessive bus traffic.

 

Take a look at this link that walks through using regeneration: http://www.ni.com/product-documentation/3874/en/

0 Kudos
Message 3 of 3
(3,635 Views)