UG-1828 Preliminary Technical Data
Rev. PrB | Page 132 of 277
• RSSI tracking calibration (currently not available)
All the tracking calibrations are fully controlled by the ADRV9001ARM therefore no user interaction is required.
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
{
uint32_t 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 52 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 52. 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).