Thanks for your reply.
My application is transmitting a waveform and then receiving a response. The analysis requires the acquisition to stay in lockstep with the transmission over extended periods of weeks or months. Absolute timing accuracy is not as important as not having phase shifts due to loss of sample clock synchronization. I use a higher D/A sample clock to produce a smoother waveform and it is always an integral multiple of the A/D sample clock (4, 8, 16, 32, etc.) A/D samples are collected 4,8,16, 32 times per cycle. For example, if I want a 2000 HZ center frequency with 8 A/D samples per cycle and 64 D/A samples per cycle, maintaining the 8 to 1 ratio with the 20 mHZ timebase forces the center frequency to 2003.205 HZ. The 3.205 HZ offset from the desired frequency could be reduced by 4 to .801 HZ if I could go to the 80 mHZ clock for the time base.
I use the A/D start trigger to start the D/A with the following code:
char szTrigName[256];
DAQmxErrChk (GetTerminalNameWithDevPrefix (AOTaskHandle, "ai/StartTrigger", szTrigName));
DAQmxErrChk (DAQmxCfgDigEdgeStartTrig (AOTaskHandle,
szTrigName,
DAQmx_Val_Rising ));
I would have to use one counter for the higher frequency D/A sample clock and also route it or the output of the first counter to a second counter to divide it down for the slower A/D clock. If this makes sense could you tell me how to do the signal routing and what to call the devices and terminals?
I appreciate your help.
Thanks,
David W Smith