NI FGEN Configure Clock Functions - ni/grpc-device GitHub Wiki
- niFgen_ConfigureReferenceClock
- niFgen_ConfigureSampleClockSource
- niFgen_ConfigureClockMode
- niFgen_AdjustSampleClockRelativeDelay
ViStatus niFgen_ConfigureReferenceClock (ViSession vi, ViConstString referenceClockSource, ViReal64 referenceClockFrequency);
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.
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 |
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 |
ViStatus niFgen_ConfigureSampleClockSource (ViSession vi, ViConstString sampleClockSource);
Sets the source of the Sample Clock (Update Clock) of the signal generator.
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 |
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 |
ViStatus niFgen_ConfigureClockMode (ViSession vi, ViInt32 clockMode);
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.
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. |
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 |
ViStatus niFgen_AdjustSampleClockRelativeDelay (ViSession vi, ViReal64 adjustmentTime);
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.
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 |
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 |