Digital I/O

Showing results for 
Search instead for 
Did you mean: 

Generate Pulse Train using Digital Out (NOT counter)


I am using Labview 7 and a PCI-6032 DAQ card. I need to produce a pulse train. But, I have used up all my counters and analog outs. So, this pulse train needs to be on a digital out line. I am programming with DAQmx (not traditional DAQ). What is the best way to produce a TTL pulse train on a digital out line?

Ideally, I need the pulse train to have a rise time of less than 100 nanoseconds.

Thank you,
-Andy Wolff
0 Kudos
Message 1 of 4
I have no idea what the rise time specification for a digital output is but to create a pulse train, you would have inside a loop a write digital 1 and a write digital 0 with a delay between and after them. The problem is that the digital I/O is software timed so that if you need any kind of precision with frequency or duty cycle, you're going to have some issues.
0 Kudos
Message 2 of 4
Hi Andrew-

Dennis is correct- the only way to create this pulse would be to run the operation in a loop and invert the output on subsequent runs. From the E Series Help (, the rise time for digital outputs on the PCI-6032E is 1.1 nS.

I have attached a sample VI that will write to port0:line1 of the device based on a rate specified on the front panel.

EDIT: Please keep in mind (as Dennis mentioned) that this is a software-timed operation and performance will vary based on system utilization by this application and others.


Message Edited by Tom W. on 04-21-2005 09:43 AM

Tom W
National Instruments
0 Kudos
Message 3 of 4
Thank you both for your help. I will be using this pulse train to control a stepper motor. Luckily, I am not concerned with maintaining an exact speed (frequency) so the software timing issue is not a problem. I just don't want the motor driver to misinterpret the number of pulses because the position info would be lost.

Thanks again!
0 Kudos
Message 4 of 4