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: waveform configuration success, but frameStart INTR not occurs

Part Number: AWR2944EVM
Other Parts Discussed in Thread: AWR2944

To test waveform configurtion with the follwing command list

sensorStop
flushCfg
dfeDataOutputMode 4
channelCfg 15 15 0
adcCfg 2 0
adcbufCfg -1 1 0 0 1
lowPower 0 0
profileCfg 0 76.175 4.42 1.2 21.98 0 0 8.30078125 1.0 512 25000.0 0 0 42
advChirpCfg 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0
advChirpCfg 1 0 1 0 0 0 0 0 1 0 1024 1 0 0 0 0
advChirpCfg 2 0 1 0 0 0 0 0 1 0 2048 1 0 0 0 0
advChirpCfg 3 0 1 0 0 0 0 0 1 0 3072 1 0 0 0 0
advChirpCfg 4 0 1 0 0 0 0 0 1 0 4096 1 0 0 0 0
advChirpCfg 5 0 1 0 0 0 0 0 1 0 5120 1 0 0 0 0
advChirpCfg 6 0 1 0 0 0 0 0 1 0 6144 1 0 0 0 0
advChirpCfg 7 0 1 0 0 0 0 0 64 1 7168 64 0 0 0 0
advChirpCfg 8 0 1 0 0 0 0 0 64 1 8192 64 0 0 0 0
advChirpCfg 9 0 1 0 0 0 0 0 64 1 9216 64 0 0 0 0
advChirpCfg 10 0 1 0 0 0 0 0 64 1 10240 64 0 0 0 0
LUTDataCfg 0 0
LUTDataCfg 1 43333333.33332825
LUTDataCfg 2 0
LUTDataCfg 3 0.17999999999999972
LUTDataCfg 4 0
LUTDataCfg 5 15
LUTDataCfg 6 0
LUTDataCfg 7 0.0 241.875 123.75 5.625 247.5 129.375 11.25 253.125 135.0 16.875 258.75 140.625 22.5 264.375 146.25 28.125 270.0 151.875 33.75 275.625 157.5 39.375 281.25 163.125 45.0 286.875 168.75 50.625 292.5 174.375 56.25 298.125 180.0 61.875 303.75 185.625 67.5 309.375 191.25 73.125 315.0 196.875 78.75 320.625 202.5 84.375 326.25 208.125 90.0 331.875 213.75 95.625 337.5 219.375 101.25 343.125 225.0 106.875 348.75 230.625 112.5 354.375 236.25 118.125
LUTDataCfg 8 0.0 292.5 225.0 157.5 90.0 22.5 315.0 247.5 180.0 112.5 45.0 337.5 270.0 202.5 135.0 67.5 0.0 292.5 225.0 157.5 90.0 22.5 315.0 247.5 180.0 112.5 45.0 337.5 270.0 202.5 135.0 67.5 0.0 292.5 225.0 157.5 90.0 22.5 315.0 247.5 180.0 112.5 45.0 337.5 270.0 202.5 135.0 67.5 0.0 292.5 225.0 157.5 90.0 22.5 315.0 247.5 180.0 112.5 45.0 337.5 270.0 202.5 135.0 67.5
LUTDataCfg 9 0.0 185.625 11.25 196.875 22.5 208.125 33.75 219.375 45.0 230.625 56.25 241.875 67.5 253.125 78.75 264.375 90.0 275.625 101.25 286.875 112.5 298.125 123.75 309.375 135.0 320.625 146.25 331.875 157.5 343.125 168.75 354.375 180.0 5.625 191.25 16.875 202.5 28.125 213.75 39.375 225.0 50.625 236.25 61.875 247.5 73.125 258.75 84.375 270.0 95.625 281.25 106.875 292.5 118.125 303.75 129.375 315.0 140.625 326.25 151.875 337.5 163.125 348.75 174.375
LUTDataCfg 10 0.0 151.875 303.75 95.625 247.5 39.375 191.25 343.125 135.0 286.875 78.75 230.625 22.5 174.375 326.25 118.125 270.0 61.875 213.75 5.625 157.5 309.375 101.25 253.125 45.0 196.875 348.75 140.625 292.5 84.375 236.25 28.125 180.0 331.875 123.75 275.625 67.5 219.375 11.25 163.125 315.0 106.875 258.75 50.625 202.5 354.375 146.25 298.125 90.0 241.875 33.75 185.625 337.5 129.375 281.25 73.125 225.0 16.875 168.75 320.625 112.5 264.375 56.25 208.125
frameCfg 0 0 64 16 512 3.41704 2 0
guiMonitor -1 2 1 0 0 0 1
cfarCfg -1 1 3 16 0 0 1 24.0 0 7 0 1
cfarCfg -1 0 3 16 0 0 1 15.0 0 7 0 1
compressionCfg -1 1 0 0.5 8
intfMitigCfg -1 15 18
localMaxCfg -1 6 40
antennaCalibParams 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
measureRangeBiasAndRxChanPhase 0 1.5 0.2
analogMonitor 0 0
calibData 0 0 0
aoaFovCfg -1 -90 90 -90 90
sensorStart

It starts ok.

 Callback of mmwave is:

static int32_t MmwDemo_eventCallbackFxn(uint8_t devIndex, uint16_t msgId, uint16_t sbId, uint16_t sbLen, uint8_t *payload)
{
    uint16_t asyncSB = RL_GET_SBID_FROM_UNIQ_SBID(sbId);

    /* Process the received message: */
    CLI_write("[Msg Id: 0x%x] [Sub Block Id: 0x%x]\n", msgId, asyncSB);

it prints

Done
mmwDemo:/>
aoaFovCfg -1 -90 90 -90 90

Done
mmwDemo:/>
sensorStart


[Msg Id: 0x80] [Sub Block Id: 0x4]
Debug: Init Calibration Status = 0xffe

All commands are sent, waiting for response from device
[Msg Id: 0x80] [Sub Block Id: 0x12]
Sensor Started
Done

Also, I added a frameStart ISR in mss,

#define WAVEFORM_CFG_INTR   CSL_MSS_INTR_DFE_FRAME_START_TO_MSS

static void frame_start_ISR (void *arg)
{
    // int32_t         errCode;
    // MMWave_MCB*    ptrMMWaveMCB = (MMWave_MCB*)arg;
    // updateAdvChirpCfg(ptrMMWaveMCB, &errCode);
    gFrameCounter++;
    SemaphoreP_post(&gMmwMssMCB.UartExportSemHandle);

    HwiP_clearInt((uint32_t)WAVEFORM_CFG_INTR);
    return;
}

int32_t register_frame_start_intr(MMWave_Handle ptrMMwaveHandle)
{
    int32_t           retVal = 0;
    int32_t           status = SystemP_SUCCESS;
    HwiP_Params       hwiPrms;

    HwiP_Params_init(&hwiPrms);
    hwiPrms.intNum      = WAVEFORM_CFG_INTR;
    hwiPrms.callback    = &frame_start_ISR ;
    hwiPrms.args        = (void *)ptrMMwaveHandle;
    status              = HwiP_construct(&frameStartHwiObject, &hwiPrms);

    if(SystemP_SUCCESS != status)
    {
        retVal = -1;
    }
    else
    {
        HwiP_enableInt((uint32_t)WAVEFORM_CFG_INTR);
    }

    return 0;
}

if frameStart INTR occurs, it should print the frameCnt in mmwDemo_mssUartDataExportTask

void mmwDemo_mssUartDataExportTask(void* args)
{
    while (1)
    {
        /* Export the Data: */
        CLI_write ("Frame: %d\n", getFrameCounter());
        SemaphoreP_pend(&gMmwMssMCB.UartExportSemHandle, SystemP_WAIT_FOREVER);
        if ((gMmwMssMCB.ptrResult.size[0]) == sizeof(DPC_ObjectDetection_ExecuteResult)){
            MmwDemo_handleObjectDetResult();
        }
    }
}

But it seems no frame trigged, and mmwave report no error.

what' wrong with the waveform configuration, how  to fix this problem.

  • Hi Wei Zhu,

    Please find my questions below - 

    1) Which demo are you using for this test?

    2) Which configuration are you using?

    3) Have you tried with legacy frame configuration without modifying the LUTs?

    Regards,
    Anirban

  • 1) the path of demo:mmwave_mcuplus_sdk_04_06_00_01\ti\demo\awr294x\mmw

    2)configuration reference to profile_advanced_chirp_DDMA_awr2944 in  ti\demo\awr294x\mmw\profiles\ddm_awr2944, and adapt profileCfg, advChirpCfg, LUTdataCfg, and frameCfg

    3)  withou modify LUTs(fill LUT content alway wit zero),  it  also does works

  • Hi Wei Zhu,

    I can see from the default configuration there is some change in the commands sequence in your configuration. 

    Can you please confirm with the default configuration file is it working or not? 

    Hope you're using the correct OOB demo for this configuration i.e. DDM OOB Demo.

    .

    P.S: Tomorrow there is a holiday in here. Please expect a delayed response by early next week.

    Regards,
    Anirban

  • Hi,

    As no response is received from you after the last discussion, we expect your issue got resolved.

    Closing this thread.

    Regards,
    Anirban