Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI 6601 Counter/Timer problem - Can the board do the job ?

Hi there! My name is Michael from Politehnica University of Bucharest Romania and we are interested in PCI-6601 Counter/Timer board.We want to develop an application with the following option :

-simultaneous reading of 2 counters of the board (count edges) on which the pulses are ariving with 300 Khz frequency AND generating of a 20Khz PWM signal using another counter of the board (continuous pulse train generation)

I know that the PCI-6601 has 1 DMA channel and 3 IRQ's channels.

My question to you is : Can the PCI-6601 acomplish the mission (the simultaneous reading of the 2 counters and generating of a PWM signal using another counter) when the counters are using ONLY interrupts ?

We are using a P
II 400 Mhz with 64 Mb Ram.

I'm waiting for your answers as soon as possible.

Best regards,

Michael.
0 Kudos
Message 1 of 3
(3,557 Views)
Greetings Michael,

You are correct in that the PCI-6601 only has one DMA channel; however, the DMA channel is only used during buffered operations. If you plan on using the Count Edges (NI-TIO).vi example (twice, since you have 2 counters to read from) and using the Generate Pulse Train (NI-TIO).vi example for the continuous pulse train generation, you should not have any issues with the DMA channel. Now, if you try to start 2 copies of the Count Buffered Edges (NI-TIO).vi example you will receive an error stating you do not have an available DMA channel to complete the operation. The key word in the last example is *buffered*. In this case you have 2 options, use the PCI-6602 which has 3 DMA channels or use interrupts for some of your transfers.

Th
e biggest downfall to interrupts is the speed at which you can complete your operations. Please refer to the Data Sheet and Specifications for the PCI-6601. This can be found on our website at http://www.ni.com or via the link below.

PCI-6601
http://sine.ni.com/apps/we/nioc.vp?cid=3589〈=US

On the last page of this Data Sheet you will see that for continuous operations using interrupts you are limited to a rate of 10kS/s.

Regards,
Justin Britten

Applications Engineer
National Instruments
0 Kudos
Message 2 of 3
(3,557 Views)
Hi Justin!

Thank you for your answer,i must ask you some more questions about this :

1.In the vi examples from the NI-TIO library (Count Edges (NI-TIO).vi and Generate Pulse Train (NI-TIO).vi)it isn't specified explicit how the counting or the PWM generation it is performed through DMA's or IRQ's.I know if i want to perform the operation through IRQ's i must explicit specify that using "Set DAQ Device Information".But if i don't specify that, which is the case here in your vi examples how the operations (the counting and the PWM generation) are performed ?

Can you give me a vi example in where the counting/generation of the PWM it's performed explicit (using Set DAQ Device Information) through IRQ's ?

2. In a control loop there is a limitatio
n speaking in terms of time regarding the signal acquisition time, the processing time , and the generation of the output signal time ? What i mean is if i have a control loop at 10 ms for example, using of the interrupts for 3 counters (i use 2 incremental encoders and i control a DC Motor with PWM signal so i use another counter for PWM generation of the output signal) will be enough to perform the control task ? How fast must i aquire the signals and generate the PWM signal to acomplish the control job ? Obviously all 3 operations : aquire,processing,generating the PWM signal should be performed in 10 ms.

Thank you very much for reading this and i'll be waiting for your answer as soon as possible.

Best regards,

Michael.
0 Kudos
Message 3 of 3
(3,557 Views)