Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

How can I improve the data transfer rates of my counter device?

Hi. I'm using the new NI PCI-6624 board for continuous buffered period measurement on eigth 24v digital signals. This eigth signals have variable frequencies, which can come up to about 50KHz.
For the records, I'm simultaneously reading 16 analog input signals with a 6052E board and two SCXI 1531 modules.
Since the 6624 device has only 3 DMAs, I configure counters 0, 1 and 2 to use DMA and the others (3-7) to use interrupts.
I'm testing my application, and it works fine until the digital lines frequency reaches about 20KHz, when I get a reading error on the counters that use interrupts (the DMA-configured counters can withstand a higher frequency).

The PC I am using is new and is a 2.4GHz Intel P4, 51
2MB RAM, running WinXP.

- Can I improve the interrupts transfer rates?
- Is there a better approach to this problem?
- If I buy 1 or 2 more 6624 devices, so I could use only DMA, would this correct the problem?

Any suggestions would be appreciated. Thank you.

Daniel R.
0 Kudos
Message 1 of 4
(3,791 Views)
In my experience, each 66xx counter card will allow you to use up to three DMA channels. There may be a small performance hit over just using one card's DMA channels, but the multiple cards approach will still be considerable faster than relying on interrupt transfers. If you're just setting up one station I would recommend this approach, as your time is probably worth much more than the extra card or two.

As for improving interrupt transfer rates, the only two things I can think of is to minimize the number of other programs/services that are running on the computer while your program is executing and to ensure that your signals are noise free (possibly through the use of digital filtering on the counter card).
0 Kudos
Message 2 of 4
(3,791 Views)
Hi. Thanks for your answer.
Unfortunately, we can't buy the extra cards rigth now, I was thinking on future developments.
I was asking myself if other parameters like buffer size or stuff like that would help improve this performance. I'm using DAQmx, which is very "automatic".
About your answer, something called my attention: Can noise in the signal influence the transfer rate? How? I didn't hear about that before.
Bye,
0 Kudos
Message 3 of 4
(3,791 Views)
Noise can influence the transfer rate by causing false triggers. Since the current counter cards do not have onboard memory, the data must be read off the card between each sample. If noise on the signal ever causes a falsre trigger then data will need to be read from the card much quicker (for that particular sample) than the average transfer rate. It's always a good idea to provide at least minimal digital filtering when using the counters in interrupt mode. For help on setting up the filter(s) you might want to create an express VI and then look inside of it to see how to implement filtering.
0 Kudos
Message 4 of 4
(3,791 Views)