Threshold RFdc Driver API Commands - 2.6 English

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

Document ID
Release Date
2.6 English

The threshold levels and delay values are configured using the RFdc driver API.

// Initial Setup      

XRFdc_Threshold_Settings Threshold_Settings;
Threshold_Settings.UpdateThreshold = XRFDC_UPDATE_THRESHOLD_BOTH; // Setup values 
for threshold 0 and 1
Threshold_Settings.ThresholdMode[0] = XRFDC_TRSHD_STICKY_UNDER; // Set threshold0 
mode to Sticky Under
Threshold_Settings.ThresholdUnderVal[0] = 1000; // Measured in 14-bit unsigned LSBs
Threshold_Settings.ThresholdAvgVal[0] = 10; // Data must be below lower threshold for 
10*8 4 GSPS RF-ADC samples

// Write threshold values to the selected Tile / RF-ADC

XRFdc_SetThresholdSettings(ptr, Tile, Block, &Threshold_Settings);

The threshold clear operation is shown in the following code examples.

  • Clear the thresholds by writing directly using the RFdc driver API:
// Initial Setup

XRFdc_SetThresholdClrMode(ptr, Tile, Block, Threshold#, XRFDC_THRESHOLD_CLRMD_MANUAL_CLR);
// During application run-time (after a threshold asserts)

XRFdc_ThresholdStickyClear(ptr, Tile, Block, Threshold#);
  • Clear the thresholds using the AutoClear function; the threshold clears with the QMC Gain Update:

// Initial Setup

XRFdc_QMC_Settings QMC_Settings;
XRFdc_SetThresholdClrMode(ptr, Tile, Block, Threshold#, XRFDC_THRESHOLD_CLRMD_AUTO_CLR);
// During application run-time (after a threshold asserts - update t)

QMC_Settings.GainCorrectionFactor = new_gain_value;
XRFdc_SetQMCSettings(ptr, XRFDC_ADC_TILE, Tile, Block, &QMC_Settings);
// QMC Gain applied by an Update Event