Counter/Timer

cancel
Showing results for 
Search instead for 
Did you mean: 

Signal generator Pulse train with switch cycle

Bonjour,
J'essaie de générer un signal avec un rapport cyclique tres variable sur une carte PCI6602
Par exemple,
j'utilise  en signal source internal clock de 20MHz et je souhaite que mon signal soit de la forme suivante :
4cycles d'horloge à l'etat haut
puis 2cycles d'horloge à l'etat bas
puis 17cycles d'horloge à l'etat haut
puis 4cycles d'horloge à l'etat bas
puis 20cycles d'horloge à l'etat haut
puis 5cycles d'horloge à l'etat bas
 
pour cela j'utilise le generateur de signaux Pulse Train avec la fonction ND_SWITCH_CYCLE
mais en verifiant à l'oscillo je ne vois pas le signal varier de cette sorte juste appliquer le dernier rapport cyclique défini.
0 Kudos
Message 1 of 4
(3,830 Views)

Je ne parle pas bien le francais -- il y a 20 ans depuis je l'etudie.  Parlez-vous l'englais?

-Kevin P.

ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 2 of 4
(3,795 Views)
Hello,
 
Sorry, I wrote my last question in French, so :
 
I try to generate a signal with "random " duty cycle on a PCI6602 NI-Card
For example :
 I have used  the internal clock at 20MHz on SOURCE and I need to have a signal wave form on OUTput like that :
4 clock cycle to High level
2 clock cycle to Low level
17 clock cycle to High level
4 clock cycle to Low level
20 clock cycle to High level
5 clock cycle to Low level
 
To execute this type of signal, i have used PULSE_TRAIN_GNR with ND_SWITCH _CYCLE
but when you switch the signal with new duty cycle, this new cycle made after a long time not immediatly.
 
And I need to know how to do this type of signal ?
 
Thanks a lot for you help.

Message Edité par sauvageonne le 02-01-2006 08:27 AM

0 Kudos
Message 3 of 4
(3,794 Views)
Unfortunately, I don't think you can accomplish that with a 6602.  The only way to change the pulse specs on-the-fly is through software calls to the driver, and those won't execute nearly as quickly as you need.  You would need to change the pulse specs for each and every pulse, and do it at a rate of ~1+ MHz.  The software calls will limit you far below that -- I'd guess somewhere in the order of 10 kHz.
 
There's a further issue that you must let the prior pulse specs produce a pulse before the new pulse specs are allowed to take their place. So even for very slow pulse trains, it's difficult if not impossible to produce exactly one pulse at each set of specs.
 
What is needed (see my wishlist starting at reply #10-11) is the ability to perform hw-timed buffered counter pulsetrain outputs.  Some of the M-series boards allow for hw-timed digital output at rates up to 10 MHz, but it appears that some of your intervals need to be odd multiples of a 20 MHz clock.  Some of the high-speed digital boards could work, but you're looking at ~$2000.
 
How many cycles of precisely-timed pulses do you need?  If 8 or fewer, there may be a way to setup a bunch of separate counters that are hw-triggered to start simultaneously, but each produces a single pulse with just the right specs.  Then you'd need an output logic circuit which would essentially OR all the counter outputs together to produce the 1 output you need.
 
-Kevin P.
 
 
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.
0 Kudos
Message 4 of 4
(3,784 Views)