This function can be used to program the complex coefficients of the final CFR correction pulse. This function is intended to be
used when the CFR engine is operating in ADI_ADRV9025_CFR_MODE1 mode.
This function expects the user to provide only the first half the correction pulse since it is assumed that the correction pulse is
conjugate symmetric. This API supports the programming of the correction pulses in the following use cases:
1.
Final correction pulse of maximum length 1025 (maximum half pulse length of 512) in Mode1 for a single carrier
configuration. Please note that run time carrier hot swapping is not supported if a pulse length of 1025(half pulse length
of 512) is used. In this case, the full pulse needs to be switched during Tx OFF.
2.
Two final correction pulses of maximum length 513 (maximum half pulse length of 256) corresponding to two carrier
configurations for on-the-fly carrier configuration switching for Mode1 operation. Run time carrier switching can be
executed via adi_adrv9025_CfrActiveCorrectionPulseSet() API which will activate the correction pulse corresponding to
the requested carrier config.
This function may be called after device initialization and the ARM processor boot up is complete.
Precondition
Table 18. adi_adrv9025_ CfrCorrectionPulseWrite_v2(...) Parameters
Parameter
Description
*device
Pointer to the device settings structure
txChannelMask
Transmitter channel selection mask to write cfrCorrectionPulses. Multiple channel selection is allowed.
cfrCorrectionPulses
An array consisting of the final correction pulse(s) in Mode1 operation. Please note that in case of
programming two correction pulses for carrier hot swapping, cfrCorrectionPulses[0] corresponds to
ADI_ADRV9025_CFR_CARRIER_HOT_SWAP_CORR_PULSE_1 and cfrCorrectionPulses[1] corresponds to
ADI_ADRV9025_CFR_CARRIER_HOT_SWAP_CORR_PULSE_2.
numCorrectionPulses
Number of correction pulse coefficients to be programmed in the CFR engine. Please note that a maximum
of two correction pulses can be programmed if the half pulse length of the 2 correction pulses are less than
or equal to 256 and a maximum of 1 correction pulse can be programmed if the half pulse length of the
correction pulse is greater than 256.
Table 19. adi_adrv9025_CfrCorrectionPulse_t Data Structure
Data Type
Structure Member
int16_t
coeffRealHalfPulse
int16_t
coeffImaginaryHalfPulse
uint16_t
numCoeffs
adi_adrv9025_CfrCorrectionPulseRead_v2(...)
int32_t adi_adrv9025_CfrCorrectionPulseRead_v2(adi_adrv9025_Device_t * device,
adi_adrv9025_TxChannels_e txChannel, uint8_t maxCorrectionPulsesToRead,
adi_adrv9025_CfrCorrectionPulse_t cfrCorrectionPulses[], uint8_t *
numCorrectionPulsesRead);
This function can be used to read back the current complex coefficients of the final CFR correction pulse programmed in the
Description
device.
This function reads the final correction pulse to be used by the CFR engine to perform CFR correction when the CFR engine is
configured to operate in (ADI_ADRV9025_CFR_MODE1). A maximum of 2 correction pulses of half pulse length 256 or a
maximum of 1 correction pulse of half pulse length 512 can be read back from the device.
Please note that this function can be called only when the transmitter channel is off and the CFR engines are not active.
Precondition
Valid
Description
Values
An array consisting of the first half of the Real part of the
complex CFR correction pulse coefficients
An array consisting of the first half of the Imaginary part
of the complex CFR correction pulse coefficients
max.
No. of coefficients contained in coeffReal and
512
coeffImaginary arrays
Rev. PrA | Page 48 of 82
Preliminary Technical
Data
Need help?
Do you have a question about the ADRV9029 and is the answer not in the manual?
Questions and answers