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: TDM or DDM related structure?

Part Number: AWR2944

Tool/software:

Please help me to check following structures in mmwave_mcuplus_sdk_04_06_00_01 are used only for TDM or DDM? or tell me where to check it?

1. DPC_ObjectDetection_StaticCfg

2. DPC_ObjectDetection_DynCfg

3. DPC_ObjectDetection_PreStartCfg

4. MmwDemo_DPC_ObjDet_StaticCfg

5. MmwDemo_DPC_ObjDet_DynCfg

6. MmwDemo_DPC_ObjDet_CommonCfg

  • Hi Bolong,

    1. DPC_ObjectDetection_StaticCfg

    2. DPC_ObjectDetection_DynCfg

    3. DPC_ObjectDetection_PreStartCfg

    You can check objectdetection.h files in C:\ti\mmwave_mcuplus_sdk_04_06_00_01\mmwave_mcuplus_sdk_04_06_00_01\ti\datapath\dpc\objectdetection\objdethwa (used in TDM) and C:\ti\mmwave_mcuplus_sdk_04_06_00_01\mmwave_mcuplus_sdk_04_06_00_01\ti\datapath\dpc\objectdetection\objdethwaDDMA to find the structures used in the both the processing chains.

    4. MmwDemo_DPC_ObjDet_StaticCfg

    I don't find this structure in the demo folder.

    MmwDemo_DPC_ObjDet_DynCfg -> Used only in TDM demo (check mmw_config.h file)

    MmwDemo_DPC_ObjDet_CommonCfg -> Used in both TDM and DDM demo (check config.h file)

    Regards,

    Samhitha

  • HI Samhitha,

    Thanks for your feedback.

    Because I got errorcode as following: Error: DPM Report 4 received with error:-30110 

    And I debug it and found the issue is happen from following code

        /* Parameter check: radarcube buffer Size */
        if (pConfigIn->hwRes.radarCube.dataSize != (pStaticCfg->numRangeBins* sizeof(cmplx16ImRe_t) *
                                          pStaticCfg->numChirpsPerFrame *
                                          pStaticCfg->ADCBufData.dataProperty.numRxAntennas
                                          * rangeProcObj->compressionCfg.achievedCompressionRatio) )
        {
            retVal = DPU_RANGEPROCHWA_ERADARCUBE_INTF;
            goto exit;
        }
    And the root is the staticCfg->compressionCfg.compressionRatio is different to pStaticCfg->compressionCfg.compressionRatio

    So I am still confused in some points:

    1. The timing to input DPC_ObjectDetection_PreStartCfg?

    2. The timing to input SubFrameObj?

    3. The timing to input compressionCfg?

    4. MmwDemo_isAllCfgInPendingState() only support TDM?

    5. Which define(A or B part) is correct?

    define A part:
    #define MMWDEMO_SUBFRAME_STATICCFG_OFFSET           (offsetof(MmwDemo_SubFrameCfg, objDetPreStartCfg) + \
                                                          offsetof(DPC_ObjectDetection_PreStartCfg, staticCfg))
    #define MMWDEMO_COMPRESSIONCFG_OFFSET               MMWDEMO_SUBFRAME_STATICCFG_OFFSET + \
                                                        (offsetof(MmwDemo_datapathCfg, compressionCfg))
    define B part:
    #define MMWDEMO_SUBFRAME_STATICCFG_OFFSET           (offsetof(MmwDemo_SubFrameCfg, datapathStaticCfg))
    #define MMWDEMO_COMPRESSIONCFG_OFFSET               (MMWDEMO_SUBFRAME_STATICCFG_OFFSET + \
                                                          offsetof(DPC_ObjectDetection_StaticCfg, compressionCfg))
    6. Is there any document about structures 
    SubFrameObj or 
    MmwDemo_SubFrameCfg or 
    MmwDemo_datapathCfg
    used in the both the processing chains?
  • Hi Bolong,

    Can you confirm if you are using TDM or DDM demo? 

    Regards,

    Samhitha

  • Hi Samhitha:

    I use DDM demo.

    Regards,

    Bolong

  • Hi Bolong,

    And the root is the staticCfg->compressionCfg.compressionRatio is different to pStaticCfg->compressionCfg.compressionRatio

    What is the compressionCfg parameters that you have configured? Can you also tell me the number of ADC samples that you have configured? What is the value of both the compression ratios that you have mentioned to be different?

    First after the configuration is sent over UART (including compressionCfg), the configuration is sent from MSS to DSS. First common configuration is sent from MSS to DSS, which includes antenna geometry pattern, antenna calibration parameters etc. Next Pre-Start configuration is sent from MSS to DSS for each subframe. This includes the rest of the configurations that are required to configure DPC and each DPUs. Subframeobj has the DPC and DPU configuration of each subframe.

    3. The timing to input compressionCfg?

    If you are looking for the calculation of achieved compression ratio, you can check rangeProcHWA_ParseConfig function in C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mmwave_mcuplus_sdk_04_07_01_03\ti\datapath\dpu\rangeprocDDMA\src\rangeprochwaDDMA.c.

    4. MmwDemo_isAllCfgInPendingState() only support TDM?

    Yes, you are correct.

    5. Which define(A or B part) is correct?

    Macros listed in A are correct.

    Is there any document about structures 

    You can find detailed description of the structures in the header files where the structures are defined.

    Refer to 

    • C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mmwave_mcuplus_sdk_04_07_01_03\ti\demo\awr294x\mmw\include\mmw_config.h -> MmwDemo_datapathCfg
    • C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mmwave_mcuplus_sdk_04_07_01_03\ti\demo\awr294x\mmw\mss\mmw_mss.h -> 
      MmwDemo_SubFrameCfg
    • C:\ti\mmwave_mcuplus_sdk_04_07_01_03\mmwave_mcuplus_sdk_04_07_01_03\ti\datapath\dpc\objectdetection\objdethwaDDMA\include\objectdetectioninternal.h -> SubFrameObj

    I suggest you to refer to C:/ti/mmwave_mcuplus_sdk_04_07_01_03/mmwave_mcuplus_sdk_04_07_01_03/docs/mmwave_sdk_module_documentation.html and demo, processing chain source code to get a better understanding of the current implementation.

    Regards,

    Samhitha