This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AWR2944: Try to use VCO2 and configure it as 76~80.5GHz but can't work

Part Number: AWR2944

Hi,

Our target is to use VCO2 and set the range as 76~80.5GHz.

The code we modify are 2 parts:

1. Set VCO2 in Init Chirp profile:

    rlProfileCfg_t profileCfg= {0};
    profileCfg.pfVcoSelect           = 0x2;      // Select VCO as VCO2 
    profileCfg.profileId             = (uint16_t)fpars1->profileCfg.profileId;
    profileCfg.startFreqConst        = (uint32_t)(fpars1->profileCfg.startFreqConst * (1U << 26) / gCLI_mmwave_freq_scale_factor);
    profileCfg.idleTimeConst         = (uint32_t)(fpars1->profileCfg.idleTimeConst * 1000 / 10);
    profileCfg.adcStartTimeConst     = (uint32_t)(fpars1->profileCfg.adcStartTimeConst * 1000 / 10);
    profileCfg.rampEndTime           = (uint32_t)(fpars1->profileCfg.rampEndTime * 1000 / 10);
    profileCfg.txOutPowerBackoffCode = (uint32_t)fpars1->profileCfg.txOutPowerBackoffCode;
    profileCfg.txPhaseShifter        = (uint32_t)fpars1->profileCfg.txPhaseShifter;
    profileCfg.freqSlopeConst        = (int16_t)(fpars1->profileCfg.freqSlopeConst * (1U << 26) / (gCLI_mmwave_freq_scale_factor*1e3*900)); //2^26 * 1e6/((3.6*1e9)*900)
    profileCfg.txStartTime           = (int32_t)(fpars1->profileCfg.txStartTime * 1000 / 10);
    profileCfg.numAdcSamples         = (uint16_t)fpars1->profileCfg.numAdcSamples;
    profileCfg.digOutSampleRate      = (uint16_t)fpars1->profileCfg.digOutSampleRate;
    profileCfg.hpfCornerFreq1        = (uint8_t)fpars1->profileCfg.hpfCornerFreq1;
    profileCfg.hpfCornerFreq2        = (uint8_t)fpars1->profileCfg.hpfCornerFreq2;
    profileCfg.rxGain                = (uint16_t)fpars1->profileCfg.rxGain;
    SubErrCode=RFModule_MMWaveProfileCfg(&profileCfg);

2. Set VCO2 range as 76~80.5GHz in AWR_CAL_MON_FREQUENCY_TX_POWER_LIMITS_SB,

static void RFModule_SetVCO2Range(void)
{
    rlRfTxFreqPwrLimitMonConf_t  rfTxFreqPwrLimitMonConf = {0};

    rfTxFreqPwrLimitMonConf.freqLimitLowTx0  = 7600U;
    rfTxFreqPwrLimitMonConf.freqLimitLowTx1  = 7600U;
    rfTxFreqPwrLimitMonConf.freqLimitLowTx2  = 7600U;
    rfTxFreqPwrLimitMonConf.freqLimitLowTx3  = 7600U;
    rfTxFreqPwrLimitMonConf.freqLimitHighTx0 = 8050U;
    rfTxFreqPwrLimitMonConf.freqLimitHighTx1 = 8050U;
    rfTxFreqPwrLimitMonConf.freqLimitHighTx2 = 8050U;
    rfTxFreqPwrLimitMonConf.freqLimitHighTx3 = 8050U;
    rfTxFreqPwrLimitMonConf.vco2RangeConfig  = 1;   // Set VCO2 range as 76~80.5GHz
    rlRfTxFreqPwrLimitConfig(RL_DEVICE_MAP_INTERNAL_BSS, &rfTxFreqPwrLimitMonConf);
}

However, we get the error message:

Do you have any comment?

Is there any mmWave Link API to get VCO2 range setting status?