12-09-2021 08:05 AM
Hello,
I use 3 cards NI PXIe-5185 in a NI PXIe-1075. I developped a driver in C for a streaming datas to disk. For the setup, it is external ref clock on each card and the sample clock is local. I used tclk to synchronize the 3 cards. It's works...no problems with this configuration.
We wan't to try a second setup with external clock (ref clock local) but it doesn't work. I have this :
error -1074118472 : The current configuration is not supported for TClk on this device.
Device: PXI1Slot8
Property: Sample Clock Timebase Source
Invalid Value: ClkIn
Status Code: -214252An acquisition has not been initiated.The current configuration is not supported for TClk on this device.
I don't understand why it refuses the parameter ClKIn (NISCOPE_VAL_CLK_IN).
NI-TCLK is ok for 5185 :
external sample clock and CLK IN are ok with the NI5185 with 1,6GHz to 3,125GHz :
In the documentation, it is written that it is possible to use TCLK and external sample clock together, so i don't understard why this error message appears !
https://www.ni.com/docs/fr-FR/bundle/ni-tclk-21.0/page/nitclk/external_sample_clock.html
We haven't applied yet the signal on the CLK IN input (synthetizer not ready), but i don't think that it is the problem.If i don't apply signal on ref clock (10MHz), it does not work but no message appears like this.
The calibration of 5185 is automatique. The calibration is launched at the beginning. May be if we apply the signal at the beginning before the calibration, it would detect CLK IN input..., but i don't think so.
Do you know why the CLK IN (external sample clock) is not accepted with TCLK according to the error message !?
Thanks !
12-10-2021 03:49 AM - edited 12-10-2021 03:59 AM
In the first message, i forgot "sample" :
"We wan't to try a second setup with external sample clock (ref clock in local) but it doesn't work."
I can write too that it's on Windows 7, NISCOPE 15.1
We tried yesterday to apply an external sample clock with an external synthetizer (not a NI istrument), but it doesn't work. We tried to lauched a self calibration before but nothing changes, always the same error :
error -1074118472 : The current configuration is not supported for TClk on this device.
Device: PXI1Slot8
Property: Sample Clock Timebase Source
Invalid Value: ClkIn
Status Code: -214252An acquisition has not been initiated.The current configuration is not supported for TClk on this device.
12-10-2021 06:57 AM - edited 12-10-2021 07:25 AM
I found a CVI example for labwindows, but i have the same error :
Tclk with external sample clock is not accepted : CLKin is not accepted. CLKIN is the input of the external sample clock. So, it should work 😕 !!! I don't understand....! The frequency generator (Agilent E8257D) is 2500MHZ and divisor=8 to have 312.5MHz for the sample rate.
Clocking of NI PXIe-5185 :
Bug !? Error in the documentation !? Problem of version (NI-SCOPE, TCLK,...) !? External clock with TCLK can't be used together with a synthetisor that is not from national instrument !? In our case, it's an external one (Agilent E8257D) that generates the external sample clock signal (2500MHz).
Next step : to try with another system (external PC) with Windows 10 and NISCOPE 20 instead of Windows 7and NI-SCOPE 15.1(with my controller card NI PXIe-8135).
12-10-2021 08:17 AM
I don't believe that module supports TClk and external sample clocks at the same time. I believe the limitation is external sample clocks do not support TDC triggering (used for higher accuracy) and this module requires the TDC in order to achieve NI-TClk synchronization (many other NI digitizers have a dedicated one that is independent of the trigger path). The only reference I found in the specifications or documentation was a bit vague (in the TClk specifications for the 518x):
I suspect you could use an external reference clock (if that's an option for your application).
12-15-2021 09:21 AM - edited 12-15-2021 09:25 AM
Thanks for your answer.
Indeed, you are right, we have already tried external reference clock with TCLK and it works (i wrote it in the first message).
This solution with TCLK and external sample clock has been abandoned for the present. We try to use external sample clock without TCLK, the results are very interesting, but we have a delay between the two cards...they don't launch the acquisition at the same time !
We use this function to initiate the acquisition : ViStatus niScope_InitiateAcquisition (ViSession vi); like this :
niScope_InitiateAcquisition (sessions[0]); // card 1
niScope_InitiateAcquisition (sessions[1]); // card 2
But we can see about 4 to 6 periods/pulses (4069 Hz) of delay and if i try to initiate the second card before the other, the delay is reversed. i tried to insert these functions in the threads and after with a while to synchronise the launch of InitiateAcquisition, but the result is worse (about 40 periodes of delay). The probleme is that the commands "InitiateAcquisition" are not launched is the same time...! Before, with Tclk, the argument of TCLK initiate function was an array of sessions, so one initiate function for all cards and all were synchronized with TCLK...but without TCLK, i don't know how to start the acquisition at the same time for all cards and i didn't see any function to get this delay. Maybe, it is not possible without TCLK...
How initiate the acquisition in the same time for the two cards without TCLK !? Another technology available !? Is there a function to kwnow the delay between the start of acquisition of the card 1 and the second one (to subtract the difference...) !?
12-15-2021 10:22 AM
I can see that if the trigger is ON after the InitiateAcquisition, it seems to be synchronized...(i use trigger edge). If the trigger is ON after the InitiateAcquisition, the 2 cards wait for the trigger to start acquisition and save datas in memory, if the trigger starts after, the 2 cards seems to be synchronize on the same periode.
12-15-2021 06:38 PM
Yes that’s how you can sync them without TClk but with hardware triggers. I’d expect one or two fpga clock worth of jitter on the synchronization (the clock runs around 300MHz).