Preliminary Technical Data UG-1828
Rev. PrC | Page 151 of 338
Tracking Calibrations API Programming
The ADRV9001 ARM in the device is tasked with scheduling/performing tracking calibrations to optimize the performance of the device
during its operation. Tracking calibrations are performed using the top-level API function adi_adrv9001_cals_Tracking_Set( ).
The tracking calibrations performed is based on the tracking calibration configuration defined by the following data structure:
typedef struct adi_adrv9001_TrackingCals
{
adi_adrv9001_TrackingCalibrations_e chanTrackingCalMask[ADI_ADRV9001_MAX_RX_ONLY];
} adi_adrv9001_TrackingCals_t
In this structure, chanTrackingCalMask[] is an array containing calibration bit mask for channel related tracking calibrations
(chanTrackingCalMask[0] is the mask for Rx1/Tx1 channels and chanTrackingCalMask[1] is the mask for Rx2/Tx2 channels ).
The following enumerator type defines all the initial calibrations:
typedef enum adi_adrv9001_TrackingCalibrations
{
ADI_ADRV9001_TRACKING_CAL_TX_QEC = 0x00000001,
ADI_ADRV9001_TRACKING_CAL_TX_LO_LEAKAGE = 0x00000002,
ADI_ADRV9001_TRACKING_CAL_TX_LB_PD = 0x00000004,
ADI_ADRV9001_TRACKING_CAL_TX_PAC = 0x00000008,
ADI_ADRV9001_TRACKING_CAL_TX_DPD = 0x00000010,
ADI_ADRV9001_TRACKING_CAL_TX_CLGC = 0x00000020,
/* Bit 6-7: Not used (Reserved for future purpose) */
ADI_ADRV9001_TRACKING_CAL_RX_HD2 = 0x00000100,
ADI_ADRV9001_TRACKING_CAL_RX_QEC_WBPOLY = 0x00000200,
/* Bit 10-11: Not used (Reserved for future purpose) */
ADI_ADRV9001_TRACKING_CAL_ORX_QEC_WBPOLY = 0x00001000,
/* Bit 13-18: Not used (Reserved for future purpose) */
ADI_ADRV9001_TRACKING_CAL_RX_BBDC = 0x00080000,
ADI_ADRV9001_TRACKING_CAL_RX_RFDC = 0x00100000,
ADI_ADRV9001_TRACKING_CAL_RX_QEC_FIC = 0x00200000,
ADI_ADRV9001_TRACKING_CAL_RX_AGC = 0x00400000,
ADI_ADRV9001_TRACKING_CAL_RX_RSSI = 0x00800000
/* Bit 24-31: Not used */
} adi_adrv9001_TrackingCalibrations_e
Table 55 describes the mask bit assignment for tracking calibrations in the “adi_adrv9001_TrackingCalibrations_e”. It also explains the
functionality of each tracking calibration. Note it is possible to select different mask for Channel 1 (Tx1/Rx1) and Channel 2 (Tx2/Rx2).
Table 55. Tracking Calibration Mask Bit Assignments
Bits Corresponding Enum Calibration Description
D0 ADI_ADRV9001_TRACKING_CAL_TX_QEC Tx QEC
Tracking
Calibration
This performs tracking QEC calibration for frequency
independent errors for the Tx path. It estimates the gain
and phase mismatch on-the-fly using the real-time
traffic data and apply the gain mismatch in the digital
domain. Similar as the initial calibration, currently it uses
the Tx path and an ILB path. If transmitted data is
quadrature modulated, this tracking calibration is
performed, but it is not used if the data modulation is
direct modulation (DM).