High-Speed Digitizers

cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronization by RTSI_CLOCK PCI-5922 and PCI-6115

I'm trying to synchronize PCI-6115 with PCI-5922 by RTSI cable.

For PCI-6115 I call

status=DAQmxConnectTerms("/Dev1/20MHzTimebase","/Dev1/RTSI7",DAQmx_Val_DoNotInvertPolarity);

 

For PCI-5922 I call (actually I call it through Matlab's Instrument Control Toolbox, which seems to be some sort of a wrapper for the NI-SCOPE functions)

niScope_ConfigureClock(vi,VAL_RTSI_CLOCK","VAL_NO_SOURCE","VAL_NO_SOURCE",0)

 

When I initiate acquisition or commit changes (with niScope_InitiateAcquisition or niScope_Commit) I receive an error:

 

The instrument returned an error while executing the function.

PLL could not phase-lock to the external reference clock.

Make sure your reference clock is connected and that it is within the jitter

and voltage specifications. Also, make sure the reference clock rate is

correctly specified.

 

NI-SCOPE version is 4.1. Note that I pass "start" trigger through RTSI0 successfully, so I know the RTSI cable is connected.

 

In contrast, I succeed synchronization by connecting PCI 6115 20MHzTimebase to PFI3, connecting this terminal to PCI 5922 CLK IN terminal and modifying its inputClockSource="VAL_CLK_IN". I also changed NISCOPE_ATTR_REF_CLK_RATE to 20MHz.

I've noticed that if I change back to inputClockSource="VAL_RTSI_CLOCK", then NISCOPE_ATTR_REF_CLK_RATE is reset to 10MHz, and I cannot modify it.

The NI High-Speed Digitizers Help for attribute  NISCOPE_ATTR_REF_CLK_RATE states:

If NISCOPE_ATTR_INPUT_CLOCK_SOURCE is an external source, this attribute specifies the frequency of the input, or reference clock, to which the internal sample clock timebase is synchronized. The frequency is in hertz.

 

Could the problem be that the reference clock, when using RTSI7, must be 10MHz?

0 Kudos
Message 1 of 3
(5,727 Views)

Hello,

 

You can still use RTSI7 as the reference clock input for the PCI-5922 (in fact you must use RTSI7) but if you intend to use a timebase from the DAQmx card other than 10MHz, you will need to use the NISCOPE_ATTR_REF_CLK_RATE property to set the expected reference clock input to 20MHz or whatever rate you want to PLL your 5922 to. The most likely reason for it not working before was due to the fact that you left the NISCOPE_ATTR_REF_CLK_RATE property at its default value which is 10MHz.

 

Once you change this to 20MHz, it should work correctly. Keep in mind though, that the NISCOPE_ATTR_REF_CLK_RATE property must be set in increments of 1MHz .

 

http://zone.ni.com/reference/en-XX/help/370592E-01/digitizers/features_supported_smc/

http://www.ni.com/pdf/manuals/374049e.pdf

Cameron T
Applications Engineer
National Instruments
0 Kudos
Message 2 of 3
(5,713 Views)

Hello

Thank you for your response.

I couldn't modify NISCOPE_ATTR_REF_CLK_RATE when the reference clock was configured to RTSI_CLOCK. I could modify it only when the reference clock was CLK_IN.

The problem might be due to Matlab, since I'm controlling the PCI-5992 digitizer by Matlab's Instrument Control Toolbox.

I'll try to write a test program in c, without Matlab (unfortunately, my c compiler is causing me problems)

Yonathan

0 Kudos
Message 3 of 3
(5,709 Views)