Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Variance in pulsewidth PXI-6259

Hi all,

 

I'm developing an application on a PXI-1000B device in which a DAQ-6259 has to send a trigger signal (in this case, along PXI_Trig0) to a DMM, specifically a PXI-4070. According to another post concerning the 407x series DMMs, they do not reliably trigger on pulses less than 1 µs, and so I've written the following code to try to generate a longer pulsewidth for an analog output task:

 

// global variables:

TaskHandle DAQ_Task_StimTrigger;
const uInt8 Trig[16] = {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}; // desired min trigger width 1 µs

// in main:

DAQmxCreateTask("T_di_STr",&DAQ_Task_StimTrigger);
DAQmxCreateDOChan(DAQ_Task_StimTrigger, "DAQ/port2/line6", "",DAQmx_Val_ChanPerLine);
DAQmxConnectTerms ("/DAQ/PFI14","/DAQ/PXI_Trig0", DAQmx_Val_DoNotInvertPolarity); // PFI14 = port2/line6
DAQmxStartTask(DAQ_Task_StimTrigger);
PostDelayedCall (RepeatCallback, 0, 0.01);

void CVICALLBACK RepeatCallback(void *callbackData)
{
	ProcessSystemEvents();
	
	if(exitFlag)
	{
		DAQmxWriteDigitalLines (DAQ_Task_StimTrigger,		// handle
					16,				// samples per channel
					FALSE,				// auto-start = false
					10.0,				// timeout
					DAQmx_Val_GroupByChannel,  	// specifies data layout
					Trig,				// waveform
					NULL,				// actual number of samples delivered
					NULL);				// reserved	
		PostDelayedCall (RepeatCallback, 0, 0.1);
	}
}

 

 

Now, I threw the output of /port2/line6 on a scope, and there is considerable variation in the actual pulsewidth of the signal produced, from the vicinity of 700 ns to up to 3 µs. Specifically, based on a handful of still frames (N=89), I observed a mean PW of 1.15 µs and a standard deviation of 15% (179 ns).

 

What might be the source of this variation? Will it adversely affect my ability to trigger using this signal using my DMM? Ideally, I will have different tasks triggering on the rising and falling edges of this trigger, so producing a reproducible signal with constant pulsewidth is important to me. I also am running a continuous analog output task using my DAQ card.

0 Kudos
Message 1 of 2
(2,758 Views)

Since you are concerned with consistency of your trigger pulse width, you need to use a counter output task to generate the pulse.

Product Manager for Product Data
National Instruments
0 Kudos
Message 2 of 2
(2,748 Views)