01-18-2024 07:41 AM
Hi,
I have a PXI-4496 and PXI-6723 card attached into the PXI 1033-chassis, and I was attempting to synchronize the timing between these two card through sample clock synchronization (PXI-6723 as master, PXI-4496 as slave). However, I have encountered an error -200077 saying that the only possible value to set the timing source for the PXI-4496 input task is either an empty string or an onboard clock, and the PXI1Slot6/ao/sampleClock is not a supported value.
May I know how am I supposed to sync these two cards together?
Solved! Go to Solution.
01-18-2024 07:56 AM
You're trying to sync a sampled clock and an oversampled clock device. Please read this article,
No, a DSA card cannot take an external sample clock.
01-18-2024 08:22 AM
As shown in the link from Santhosh, you *can* synchronize sample clocks by configuring the 4496 as the master and the 6723 as the slave.
Note that DSA devices like the 4496 include bandwidth-limiting filters that induce an unavoidable delay in signals. I *think* (but am not 100% sure) this means that the instant when the 4496 sample clock first asserts for the first sample is different than the instant that the first sample value in question is present at the I/O pin. When acquiring, I *think* the sample clock asserts *later than* when the sample value first showed up at the i/o pin. When generating, I *think* the sample clock asserts *earlier than* when the sample value arrives at the i/o pin.
You'll probably need to compensate for this time skew to get precise alignment of the two data streams.
-Kevin P
01-19-2024 04:50 AM
Hi,
Thanks for replying. I have tried using the DSA card as the master and the other as slave instead, but I have gotten another error message of -89120 saying that the source terminal to be routed could not be found on the device.
Regarding to the delay issue, the main goal for me is to ensure no drifting occur between the output and input as I will only be doing a output/input acquisition. I will be giving identical output signal to two channel so one of it will be connected directly to the input channel as reference (which the reference will be filtered and delay the same amount as the rest of it), but it would be still nice to have the raw unfiltered/undrifted output signal to be used in some of the analysis.
I forgot to mention that I have multiple identical DSA card being used so channel expansion is done in a single task. I'm not sure whether this could be the very reason...?
01-22-2024 10:23 AM
I suspect that channel expansion could very well be a reason you get errors when trying to set up with DSA as master and X-series as slave. To accomplish channel expansion, DAQmx makes several decisions on its own about how to route timebases and triggers, and perhaps some more advanced sync signals like ref clocks and sync pulses. Some key signals will be shared across PXI trigger lines, but I don't know of a way to control or query which specific trigger lines are used for which specific signal. (If you *could* know, you'd be able to configure your X-series accordingly to use the relevant signals.)
There are going to be ways you can make it work, but you may need to take control and do more of the detailed timing configuration explicitly. I don't think I've mixed explicit routing with channel expansion, so I'm afraid I can't offer detailed & reliable guidance. I would *try* to explicitly route the DDS timebase out to a specific PXI trigger line (for the X-series device to use as a sample clock timebase), but am not sure that will be allowed.
-Kevin P
01-22-2024 03:08 PM
@cklai11 wrote:
Hi,
Thanks for replying. I have tried using the DSA card as the master and the other as slave instead, but I have gotten another error message of -89120 saying that the source terminal to be routed could not be found on the device.
Regarding to the delay issue, the main goal for me is to ensure no drifting occur between the output and input as I will only be doing a output/input acquisition. I will be giving identical output signal to two channel so one of it will be connected directly to the input channel as reference (which the reference will be filtered and delay the same amount as the rest of it), but it would be still nice to have the raw unfiltered/undrifted output signal to be used in some of the analysis.
I forgot to mention that I have multiple identical DSA card being used so channel expansion is done in a single task. I'm not sure whether this could be the very reason...?
What happens when you put both DSA and E-series in the same task under channel expansion?
01-22-2024 03:25 PM
Hi Santosh,
Thanks for the suggestion, but I'm afraid that we are using the E series as voltage analog output, which requires to be a separate task as the analog input DSA modules (i don't think they would even allow to put them in a same task as well...)
01-22-2024 06:53 PM
@cklai11 wrote:
Hi Santosh,
Thanks for the suggestion, but I'm afraid that we are using the E series as voltage analog output, which requires to be a separate task as the analog input DSA modules (i don't think they would even allow to put them in a same task as well...)
That makes sense, so, looks like the option is to go advanced by skipping the channel expansion and create multiple tasks and synchronize them.
For context, I have successfully synchronized 105 channels of DSA AO+AI spread across 4 PXIe chassis but that took quite some effort to take everything in your control.
02-28-2024 09:02 AM
Hi,
Sorry for late reply, I am planning to do what you suggested, but I do not have a clue on how to do it. Is there an example on performing multiple task VI and sync for AO and AI?
02-28-2024 10:10 AM
Based on a quick skim through the thread so far, you have relatively complex and advanced needs for setting up timing and sync. Can you please identify *all* the hardware devices you plan to use? And provide a clear but detailed summary of what the different devices are doing and the kind of sync needed among them? That's going to help us to be able to help you.
Many of the examples floating around are likely to be partially useful, but not sufficient or complete. And if you're starting "without a clue" how to accomplish it all, you won't know which things to copy, which things to consider, and which things to ignore.
Here's one decent but very general article about sync. There are others that are much more in depth but perhaps too much to digest initially. Look around some, it should at least help to learn DAQmx terminology, such as the careful distinction between clocks & triggers.
-Kevin P