02-03-2011 08:40 AM - edited 02-03-2011 08:41 AM
Hello,
I programmed a single pulse, which is limited by hardware to around 2us at the moment I assume.
Is it possible to change the pulse length to a certain value? For example 16us, 32us, 64us?
My programm:
My stuff:
1 x NI 6537 I/O Card
1 x LabVIEW 2009
1 x Programming slave (myself 😉 )
Thank you for your help or suggestions! 🙂
BR Chris
02-03-2011 08:51 AM
Just to keep it clear: I know I could add a clock signal and do it myself, but I am just curious if it is possible to do it without a clock. 🙂
02-03-2011 08:56 AM
More details:
Do a continious out write, yes you are correct 50MHz is limiting to 2us but you can achieve this with the 0,1 array to write with the continious out write. to use longer pulses change the array you write
4us sq wave is 0,0,1,1
16us sq wave is 0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1
and so on.
This is at least what I would try.
Also note you can change the duty cycle are even do arbitrary dig waveforme gen this way with your card.
02-03-2011 09:11 AM
Thank you for this hint. The problem I have is the 6537 is one of the first I/O cards I used in my LabVIEW life, and as there is not really much documentation (for example only 8 examples for my specific hardware) it is quite hard to get used to it. But it is getting better every day.
What would be the advantage when changing to digital waveform?
02-03-2011 09:22 AM
I would always start with the example finder, you can teach yourself much daqmx with the axamples alone.
Continious buffered hardware writing will stream out the sequence that you write to the buffer with a hardware timming,
so the buffer 0, 1 will alternate 0 and 1 on each clock tick, "look ma no coding"!
changing the values in the buffer will allow you to alter the pulse width on the fly with no software timing, that is your output will be exact with no software jitter. Using the wait is limited to 1ms increments and is not precise and windows can burn you since it is not a RTOS.