Threshold RFdc Driver API Commands - 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 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