Update QMC Settings - 2.6 English

Zynq UltraScale+ RFSoC RF Data Converter v2.6 Gen 1/2/3/DFE LogiCORE IP Product Guide (PG269)

Document ID
PG269
Release Date
2024-05-30
Version
2.6 English

The gain, phase, and offset correction factor values can be set using the RFdc driver API. An example of using the API is as follows.

// Initial Setup    

XRFdc_QMC_Settings QMC_Settings_I, QMC_Settings_Q; // RF-ADC block0 is I, RF-ADC block1 is Q
QMC_Settings_I.EventSource = XRFDC_EVNT_SRC_TILE; // QMC settings are updated with a tile event
QMC_Settings_Q.EventSource = XRFDC_EVNT_SRC_TILE;

 ....
// Update Gain/Phase/Offset for I/Q RF-DACs in tile0

QMC_Settings_I.GainCorrectionFactor  =  0.9; // Set gain for I
QMC_Settings_I.PhaseCorrectionFactor = -5.0; // I/Q imbalance factor applied to I side, approx. in degrees
QMC_Settings_I.EnableGain            = 1;
QMC_Settings_I.EnablePhase           = 1;
QMC_Settings_Q.GainCorrectionFactor  = 0.95;
QMC_Settings_Q.EnableGain            = 1; 
XRFdc_SetQMCSettings(ptr, XRFDC_ADC_TILE, 0, 0, &QMC_Settings_I); // Write settings for ADC0,0 - I ADC
XRFdc_SetQMCSettings(ptr, XRFDC_ADC_TILE, 0, 1, &QMC_Settings_Q); // Write settings for ADC0,1 - Q ADC
XRFdc_UpdateEvent(ptr, XRFDC_ADC_TILE, 0, 0, XRFDC_EVENT_QMC); // Generate a Tile Update Event - applies all QMC settings at once

It is also possible to read back the QMC settings from any converter, using the XRFdc_GetQMCSettings RFdc driver API command. This populates the QMC_Settings structure with the values from the hardware.