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.

AWR1843BOOST: questions about frameProcToken/frameStartIntToken/ChirpProcToken

Part Number: AWR1843BOOST

Hello,

I read the demo7 of labs code,i do not understand the three var:frameProcToken/frameStartIntToken/ChirpProcToken

When are the three interrupt events triggered respectively?

Thanks.

Bryant

  • Hi Bryant,

    frameproc token is used to indicate if a frame is being processed. This is not tied to any event, it is set and unset by the program itself.
    frameStartIntToken is set to 1 in MRR_DSS_frameStartIntCallback, which is tied to the interrupt SOC_XWR18XX_DSS_INTC_EVENT_FRAME_START, i.e. the frame start event received from the frontend when a frame starts.
    ChirpProcToken is set to 1 in MRR_DSS_chirpIntCallback, which is tied to the interrupt SOC_XWR18XX_DSS_INTC_EVENT_CHIRP_AVAIL, i.e. the chirp available event.

    Regards,

    Aayush

  • Hi ,Regards

    You says all right.Let us see a MRR demo code as follow:

    if(gMrrDSSMCB.frameStratIntToken == 1)

    {

    gMrrDSSMCB.frameStratIntToken == 0;

    dataPathObj = gMrrDSSMCB.dataPathObj [gMrrDSSMCB.subframeIndx];

    gMrrDSSMCB.stats.frameStarEvt++;

    MmwDemo_dssAssert(dataPathObj->chirpCount != 0);

    }

    Once frameStratIntToken  is 1,as you said means a new frame is start, at the same time chirpCount should be 0.dataPathObj->chirpCount != 0 is false,So the code will  Assert and quit.However the code is running commonly.So i think the frameStratIntToken is not coming at each frame start.

    Please give me a answer,it confuse me long time.Thanks a lot!

    Bryant,

    Aayush

  • Hi Bryant,

    I see your point. Let me analyze this with CCS debug and get back to you by tomorrow.

    Regards,

    Aayush

  • Hi Aayush,

    What's the status of the problem?

    Regards,

    Bryant

  • Hello ti's engineers,

    What's the status of the problem?Why the delay in replying?

    Regards,

    Bryant

  • Hi Bryant,

    I looked into this. It is somewhat confusing indeed. What I can confirm is that ChirpProcToken gets set first, a chirp is processed, chirpCount goes up to 1, then frameStartIntToken is serviced in the mmWave task. This causes chirpCount to be 1 by the time the assert statement is encountered. I think this is not desirable. What I will try next is timestamp the chirp and frame callbacks to see exactly when they occur. Afterwards, I will confer with my colleagues about this. Thanks for bringing this to my attention.

    Regards,
    Aayush
  • Hello,Aayush

    Thanks for your reply.

    As you say,the ChirpProcToken is prior to frameStartIntToken? I now wonder if the two events happened in different threads?

    BR

    Bryant

  • Hi Bryant,

    The two tokens are set in their respective ISRs, which occur asynchronously from the task that checks the value of these tokens to take actions. My suspicion is that the ChirpProcToken for the first chirp in a frame is set before the frameStartIntToken. I will have to time the ISRs to confirm this suspicion.

    Regards,

    Aayush