Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronization Techniques for Data Acquisition

Hello,

here's my configuration :

-Board is a PCI 6052E
-IDE is Visual C++
-I'm using the NIDAQ API

I'm having trouble synchronizing a data acquisition sequence on the start of a waveform generation.

I tried the following instruction sequence :
Select_Signal(deviceNumber, ND_PFI_5, ND_OUT_UPDATE, ND_HIGH_TO_LOW);
Select_Signal(deviceNumber, ND_IN_CONVERT, ND_PFI_5, ND_HIGH_TO_LOW);

But it's still about 90ms late. So I have a few questions:

Does the acquisition has to be configured with an internal or external trigger when using this method? When I set trigger to external the acquisition holds on indefinetly.

Do the above instructions internaly ties the timing signals together or do I have to make a
physical link on the connector?

Does the acquisition has to be launched prior to the generation? The result is the same weither I launch it before or after.

Any idea of what I did wrong? A little help would be greatly appreciated.

Lotfi
0 Kudos
Message 1 of 2
(2,513 Views)
Ok boys forget it I found the answer on my own.

In case somebody encounter the same problem I give the answer:

-The data acquisition must be configured with an external trigger
-The timing signal used to command the start of acquisition should be ND_IN_START_TRIGGER instead of ND_IN_CONVERT

here...

Select_Signal(deviceNumber, ND_PFI_5, ND_OUT_UPDATE, ND_HIGH_TO_LOW);
Select_Signal(deviceNumber, ND_IN_START_TRIGGER, ND_PFI_5, ND_HIGH_TO_LOW);
triggerType=1 /*external*/
DAQ_Config(deviceNumber,triggerType,0);
0 Kudos
Message 2 of 2
(2,513 Views)