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.

AWR2944EVM: CFAR HWA configuration

Part Number: AWR2944EVM
Other Parts Discussed in Thread: AWR2944

Tool/software:

Hi , 

 I use AWR2944 OOB - TDM, some questions are for  CFAR HWA configuration.

 Whhere to set  pRes->hwaCfg.paramSetStartIdx ?

 Can user set the content of paramSet?  

DPU_CFARProcHWA_config() {

  ..

  /**************************************/
 /* CFAR DOPPLER DOMAIN */
 /**************************************/
 retVal = HWAutil_configCFAR(cfarHwaObj->hwaHandle, 
 pRes->hwaCfg.paramSetStartIdx,
 staticCfg->numRangeBins,
 staticCfg->numDopplerBins, 
 &cfarHwaObj->cfarCfgDoppler,
 pRes->hwaMemOutDopplerSize,
 pRes->hwaCfg.paramSetStartIdx, /* triggerSrc */ 
 HWADRV_ADDR_TRANSLATE_CPU_TO_HWA(pRes->hwaMemInp),
 HWADRV_ADDR_TRANSLATE_CPU_TO_HWA(pRes->hwaMemOutDoppler),
 DPU_CFAR_DOPPLER_DOMAIN);
 if (retVal != 0)
 { 
   goto exit;
  }

...

}

}

typedef struct DPU_CFARProcHWA_HwaCfarConfig_t
{
/*! @brief HWA paramset Start index */
uint8_t paramSetStartIdx;

/*! @brief number of HWA paramset */
uint8_t numParamSet;
}DPU_CFARProcHWA_HwaCfarConfig;

//-----------------------------------------------------------------------------------------------------------------

 Thanks

BRs

Bruce

  • Hi Bruce,

    Whhere to set  pRes->hwaCfg.paramSetStartIdx ?

    param_start_idx is set in datapath\dpc\objectdetection\objdethwa\src\objectdetection.c file. 

     Can user set the content of paramSet?  

    Yes, the processing chain that TI provides, is for reference. You can refer to Chapter 28 - Radar Hardware Accelerator 2.1 of AWR294x Technical Reference Manual (Rev. D) to configure the paramsets based on your requirements.

    Regards,

    Samhitha

  • Hi Samhitha,

      For paramsets configuration, if I set  quantity as below,

      Range: # of ParamSet = 4
      CFAR : # of ParamSet = 2
      Doppler: # of ParamSet = 4
      AoA: # of ParamSet = 4

      For the configuration layout, is it correct?

    Thanks

    BRs

    Bruce

  • Hi Bruce,

    For the configuration layout, is it correct?

    There is no specific layout that should be followed. Ensure that for a given DPU, all the paramsets are contiguous as we configure the paramset start index, paramset stop index and the number of loops, the paramset execution will be sequential. So, each paramset will be executed one after the other.

    Regards,

    Samhitha

  • Hi Samhitha,

      I checked below functions for  the configuration of paramsets and start index. 

    1.DPC_ObjDet_rangeConfig()

      hwaCfg->numParamSet = DPU_RANGEPROCHWA_NUM_HWA_PARAM_SETS;
      hwaCfg->paramSetStartIdx = DPC_OBJDET_DPU_RANGEPROC_PARAMSET_START_IDX;

    2.DPC_ObjDet_CFARconfig()

     hwRes->hwaCfg.numParamSet = DPU_CFARPROCHWA_NUM_HWA_PARAM_SETS;
    hwRes->hwaCfg.paramSetStartIdx = DPC_OBJDET_DPU_CFAR_PROC_PARAMSET_START_IDX(staticCfg->numTxAntennas);

    3.DPC_ObjDet_dopplerConfig()

    hwaCfg->numParamSets = 2 * staticCfg->numTxAntennas + 2;
    hwaCfg->paramSetStartIdx = DPC_OBJDET_DPU_DOPPLERPROC_PARAMSET_START_IDX;


    4.DPC_ObjDet_AoAconfig()

    res->hwaCfg.numParamSet = DPU_AoAProcHWA_getNumHwaParamSets(staticCfg->numTxAntennas,
    staticCfg->numVirtualAntElev,
    dynCfg->staticClutterRemovalCfg.enabled);

    res->hwaCfg.paramSetStartIdx = cfarParamSetStartIdx;

    //--------------------------------------------------------------------------------------------------------------------------------------------------

    The result are as below:

    Range: # of ParamSet = 4, start idx = 0
    CFAR : # of ParamSet = 2, start idx = 4
    Doppler: # of ParamSet = 4, start idx = 4
    AoA: # of ParamSet = 4, start idx = 4

    I draw the configuration as below, is it correct?  Doppler will overwrite CFAR configuration and start from index 4. right?

    Thanks

    BRs

    Bruce

  • Hi Bruce,

    Currently Doppler HWA paramsets are overwritten by CFAR paramsets. You can modify the application to change the start index and avoid the reconfiguration of the DPUs in the runtime. In DPC_ObjectDetection_execute, you can see that the DPUs are reconfigured before executing, as the paramsets are overwritten.

    If you can update the paramset start index of each DPU such that they don't overlap, you can remove the DPU reconfiguration function calls (Example:  DPU_DopplerProcHWA_config can be removed in DPC_ObjectDetection_execute).

    Regards,

    Samhitha