11-06-2013 02:40 PM
Hello,
I know this kind of questions are common. What I am trying to do is to synchronize modules from different families that are in on chassis. I have: PXI 4461 (AI & AO), PXI 4496, PXIe 4357, PXIe 4330 and PXI 6289.
I read probably all possible tutorials and went through numerous examples, but still I have some problems. The thing is - I managed to synchronize both DSA cards and the M series module using reference clock synchronization and locking their sample clock to a shared reference clock on the PXI - PXI_CLK10 for the DSA and uisng ai/SampleClock from one to the M series card. However, things got a bit more complicated, when I wanted to use also SC modules as well. It appears that they do support reference clock synchronization, but need to use PXIe_CLK100, while the same time my other cards do not allow for it.
Is there any option to get over it somehow? Have I misunderstood anything? Can Iuse both SC cards in a one task? I would appreciate any suggestion.
Thank you in advance,
Kasia
11-07-2013 04:11 AM
Dear Kasik,
You can use the 100MHz clock to synchronize the SC modules, because it is phase-locked to the 10MHz reference clock, so your SC cards will also work in sync with the rest of the application.
You did not state which PXI chassis you're using, but in is manual you'll be able to verify his information.
Also, since you share a reference clock instead of a sample clock, make sure you have proper triggering configured.
Best of luck with the application, and get back to me if you have additional questions.
Kind regards:
Andrew Valko
NI Hungary
11-07-2013 05:17 AM
Dear ValkoA,
Thank you for the fast answer. The chassis I have is: pxie-1078.
So as I understand, I can use PXIe_clk100 for SC modules and PXI_clk10 for other cards? From the table here: http://www.ni.com/white-paper/12350/en I understand that my PXIe 4330 module must be a master. So even in my case as a master it should export SyncPulse to other dsa cards, ai/SampleClock for my M series module and later a StartTrigger to all the cards (later I take into account SyncPulse.SyncTime of the cards to get Sync.Pulse.MinDelayToStart). While doing that I receive an error -223026..
Thank you for help,
Kasia
11-11-2013 06:42 AM
Dear Kasil,
which function is generating this error? Check the source string of the Error cluster. Also does the aplication work if you do not distribute a SyncPulse, only a Start Trigger and the 10MHz and 100MHz timebases?
Kind regards:
Andrew Valko
NIH
11-14-2013 09:28 AM
Dear ValkoA,
At the beginning we tried to refer to the example: Multi-Device Synch-Analog Input-Cont Acq-Multi Rate-PXIe-433x.vi With reference clock for SC Express set to PXIe_clk100 and PXI_clk10 for other cards. However it appeared that not all cards (only sc modules) support property SyncType (from DAQmx Trigger) - hence the error I wrote previously.
So, to simplify the task a bit we changed our cards. so in the end we need to synchronize: PXIe 4330 and two PXI 4461 (we use both: analog input and analog output). We tried your suggestion without success - our master card 4330 looks as if it started earlier then two other cards.
So then we tried te way it is shown here: https://decibel.ni.com/content/docs/DOC-19474/version/1 but using reference clock as I mentioned PXIe_clk100 and PXI_clk10. Previously we chcecked the property filter delay and calculated the number of samples to discard from every card. Then we did the same thing as in the example from the link. However - there the dummy reading is performed only on the master card and it is not calculated, but set to magic 64 number. Surprisingly for us - if the sampling rate is the same for all cards - it works. However if you change it to multi rate there is no synchronization. What should we concern to accomplish this? Why this 64 samples work and why they are discarded only from the PXIe 4430?
Thank you for any suggestion!
Kasia
11-28-2013 09:59 AM
The 4462 does not account for filter delay while the 4330 does, so at all times the 4462 will appear "ahead" until you remove the "extra" samples. It takes time to propagate through the DSA device although you may know this.
I have the same set up (3 x 4462, 2 x 4331, 2 x 6255) and achieve sync with various sample rates (have not tried them all!!) following something similar to you.
Would you be able to post your init code?
You are definitely close, I do not know why it would not work at multi rate but I may misunderstand.
One thing you must be careful of when moving to multi-rate is how NI auto-creates tasks and auto-routes triggers and such. I ran into various errors until I manually handled almost all routing. I wonder if this is the case. One example is when using multiple 4462's across a PXI trig bus that contain let's say a 4331, the auto routing failed and an AE and myself semi-determined it was from the sync pulse routing to one of the DSA families.
You really have to take control of how you create tasks and route your various signals but it can definitely be done.
Best,
Adam