NI FGEN Configure Clock Functions - ni/grpc-device GitHub Wiki

Configure Clock Functions

niFgen_ConfigureReferenceClock

ViStatus niFgen_ConfigureReferenceClock (ViSession vi, ViConstString referenceClockSource, ViReal64 referenceClockFrequency);

Purpose

Configures the signal generator Reference Clock source and frequency. The signal generator uses the Reference Clock to tune the Sample Clock timebase of the signal generator so that the frequency stability and accuracy of the Sample Clock timebase matches that of the Reference Clock.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
referenceClockSource ViConstString Specifies the source for the Reference Clock. For example, when you set this parameter to "ClkIn," the signal generator uses the signal it receives at its CLK IN front panel connector as the Reference Clock. The Reference Clock phase-locks with the signal generator Sample Clock timebase to allow the frequency stability and accuracy of the Sample Clock timebase to match that of the Reference Clock.

Note:   The following Defined Values are examples of possible Reference Clock sources. For a complete list of the Reference Clock sources available on your device, refer to the Routes topic for your device or the Device Routes tab in MAX.

Default Value: "None"

Defined Values :

"None" No Reference Clock
"PXI_Clk" 10 MHz backplane Reference Clock
"ClkIn" CLK IN front panel connector
"OnboardReferenceClock" Onboard Reference Clock
"RTSI7" RTSI line 7
"RefIn" REF IN front panel connector
Name Type Description
referenceClockFrequency ViReal64

The Reference Clock frequency in hertz.

Default Value: 10000000

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_ConfigureSampleClockSource

ViStatus niFgen_ConfigureSampleClockSource (ViSession vi, ViConstString sampleClockSource);

Purpose

Sets the source of the Sample Clock (Update Clock) of the signal generator.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
sampleClockSource ViConstString Specifies the Sample Clock source the signal generator uses.

Note:   The following Defined Values are examples of possible Sample Clock sources. For a complete list of the Sample Clock sources available on your device, refer to the Routes topic for your device or the Device Routes tab in MAX.

Default Value: "OnboardClock"

Defined Values:

"OnboardClock" Onboard Clock
"ClkIn" CLK IN front panel connector
"PXI_Star" PXI star trigger line
"PXI_Trig0" PXI trigger line 0 or RTSI line 0
"PXI_Trig1" PXI trigger line 1 or RTSI line 1
"PXI_Trig2" PXI trigger line 2 or RTSI line 2
"PXI_Trig3" PXI trigger line 3 or RTSI line 3
"PXI_Trig4" PXI trigger line 4 or RTSI line 4
"PXI_Trig5" PXI trigger line 5 or RTSI line 5
"PXI_Trig6" PXI trigger line 6 or RTSI line 6
"PXI_Trig7" PXI trigger line 7 or RTSI line 7
"DDC_ClkIn" Sample Clock from DDC connector

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_ConfigureClockMode

ViStatus niFgen_ConfigureClockMode (ViSession vi, ViInt32 clockMode);

Purpose

Selects the clock mode for the signal generator.

Some signal generators allow you to switch the Sample Clock to High-Resolution or Automatic Sampling mode with this function.

When you select NIFGEN_VAL_DIVIDE_DOWN, NI-FGEN rounds the sample rate to a frequency that can be achieved by dividing down the board clock (Sample Clock timebase). However, if you select NIFGEN_VAL_HIGH_RESOLUTION, you can set the sample rate to any value. If you select NIFGEN_VAL_AUTOMATIC, NI-FGEN selects the clock mode based on the sample rate, using divide-down sampling when possible.

Note:  The signal generator must not be in the Generating state when you call this function.

You must call the niFgen_ConfigureOutputModefunction to set the outputMode parameter to NIFGEN_VAL_OUTPUT_SEQ, NIFGEN_VAL_OUTPUT_ARB, or NIFGEN_VAL_OUTPUT_SCRIPT before calling this function.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
clockMode ViInt32

Sets the clock mode of the signal generator.

Default Value: NIFGEN_VAL_HIGH_RESOLUTION (NI 5450, NI 5451), NIFGEN_VAL_DIVIDE_DOWN (all other devices)

Defined Values:

NIFGEN_VAL_DIVIDE_DOWN Divide down sampling—Sample rates are generated by dividing the source frequency.
NIFGEN_VAL_HIGH_RESOLUTION High resolution sampling—Sample rate is generated by a high-resolution clock source.
NIFGEN_VAL_AUTOMATIC Automatic Selection—NI-FGEN selects between the divide-down and high-resolution clocking modes.

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

niFgen_AdjustSampleClockRelativeDelay

ViStatus niFgen_AdjustSampleClockRelativeDelay (ViSession vi, ViReal64 adjustmentTime);

Purpose

Delays (or phase shifts) the Sample Clock, which delays the generated signal. Delaying the Sample Clock can be useful when synchronizing the output of multiple modules or when intentionally phase shifting the output relative to a fixed reference, such as the PLL Reference Clock.

Adjustment time can be positive or negative, but it must be less than or equal to the Sample Clock period. The delay takes effect immediately after this function is called. To delay an external Sample Clock, use the NIFGEN_ATTRIBUTE_SAMPLE_CLOCK_ABSOLUTE_DELAY attribute.

Parameters

Input
Name Type Description
vi ViSession Identifies your instrument session. vi is obtained from the niFgen_init, niFgen_InitWithOptions, or niFgen_InitializeWithChannels functions and identifies a particular instrument session.
adjustmentTime ViReal64

Specifies the amount of time to adjust the Sample Clock delay.

Units: Seconds

Default Value: 0

Return Value

Name Type Description
status ViStatus Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. You can examine the status code from each call to an NI-FGEN function to determine if an error occurred. To obtain a text description of the status code, call the niFgen_error_message function. To obtain additional information about the error condition, call the niFgen_GetError function. To clear the error information from NI-FGEN, call the niFgen_ClearError function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors
⚠️ **GitHub.com Fallback** ⚠️