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: How to know the RF is using VCO1 or VCO2?

Part Number: AWR2944

Hi,

Is there any software API to know RF is using VCO1 or VCO2?

The rfGetProfileConfig() looks only get the application profile, not the RF status itself.

According pfVcoSelect = 0, it seems like we use VCO1 config. But when I set start frequency = 76.2GHz and BW= 2GHz,

the system still can work correctly. (Frequency range is 76.2 ~ 78.5 GHz)

According ICD document description, the VCO1 range is 76~77GHz, so It not make sense.

Therefore, can you tell us how to determinate which VCO is using in RF?

  • Hi James,

    Can you please make the below points clear?

    The rfGetProfileConfig() looks only get the application profile, not the RF status itself.

    What do you mean by application profile?

    According pfVcoSelect = 0, it seems like we use VCO1 config. But when I set start frequency = 76.2GHz and BW= 2GHz,

    What is BW = 2GHz? How are you setting it?

    Thanks,
    Anirban

  • Hi Anirban,

    1.What do you mean by application profile?

     ==> In ADAS HECR project, only use profile 0 to setup the profile and I use rfGetProfileConfig()  to get current profile 0 setting.

    After I get the config back, the pfVcoSelect is always 0.

    2. What is BW = 2GHz? How are you setting it?

    ==> BW = Sample_Time * freqSlopeConst = numAdcSamples /digOutSampleRate * freqSlopeConst 

                   =384/30M(Hz/Sec) * 156.25 (MHz/us) = 2 GHz

    And the profile setting as below:

    profileCfg.profileId = 0;
    profileCfg.startFreqConst = 76.2;Ghz
    profileCfg.idleTimeConst = 3.5; us
    profileCfg.adcStartTimeConst = 3.5; us
    profileCfg.rampEndTime = 17.33; us
    profileCfg.txOutPowerBackoffCode = 0;
    profileCfg.txPhaseShifter = 0;
    profileCfg.freqSlopeConst = 156.25; MHz/us
    profileCfg.txStartTime = 0;
    profileCfg.numAdcSamples = 384;
    profileCfg.digOutSampleRate = 30000; KHz/s
    profileCfg.hpfCornerFreq1 = 0;
    profileCfg.hpfCornerFreq2 = 0;
    profileCfg.rxGain = 34;

  • Hi Bruce,

    I'm not aware of any rfGetProfileConfig() method. If you meant rlGetProfileConfig() method then,

    rlGetProfileConfig() method is a mmwavelink API, that fetches the profile data from the Radar sub-system(BSS) itself. So, whatever data you're seeing is fetched from the RF.

    Thanks,
    Anirban

  • Hi Anirban,

    I want to control VCO in RF.

    Can you help us how to config VCO2 and VCO1 for AWR2944 by using  radar_toolbox_1_20_00_11-ADAS-HECR project?

     

     

  • Hi Bruce,

    .

    According pfVcoSelect = 0, it seems like we use VCO1 config. But when I set start frequency = 76.2GHz and BW= 2GHz,

    the system still can work correctly. (Frequency range is 76.2 ~ 78.5 GHz)

    According ICD document description, the VCO1 range is 76~77GHz, so It not make sense.

    First of all let me clear your issue with pfVcoSelect = 0, if you check in Radar-Interface-Control document(mmwave_mcuplus_sdk_04_05_00_02/mmwave_dfp_02_04_12_01/docs/mmWave-Radar-Interface-Control.pdf) the profile configuration structure has PF_VCO_SELECT field. By default it is set to 0. So, 0 signifies "use internal VCO selection". In this case user can't control VCO selection.

    So, when you are giving 76.2GHz as start freq and 2GHz of BW, it adds up to 78.2GHz for which the VCO was selected internally(VCO2).

    Now, if you want to control the VCO selection, then you need to enable the 0th bit in PF_VCO_SELECT field that signifies  "forced external vco selection". And then you need to set [2-1] bits based on which VCO you want.

    .

    Thanks,
    Anirban

  • Hi Anirban,

    I got it and thanks!

  • Hi Bruce,

    Please mark the thread as "Resolved".

    Thanks,
    Anirban