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.

AWR6843: AWR6843 Level Sensing Lab: Debugging FFT Expansion and Chirp Limit Issues

Part Number: AWR6843
Other Parts Discussed in Thread: IWRL1432

Hello, I have a problem with the Level_Sensing laboratory using awr6843, the maximum number of FFT points supported by the routine of the original Level_Sensing laboratory is 512 points, I expanded the L2 memory to support FFT of 2048 points, after adjusting as follows:

 

#define SOC_XWR16XX_DSS_L2_BUFF_SIZE              0x11000U

#define SOC_XWR16XX_DSS_L2_SCRATCH_SIZE           0x8000U

 

The configuration parameters I used are as follows:

 

dfeDataOutputMode  1

channelCfg  1 1 0

adcCfg  2 2

adcbufCfg  0 1 1 1

profileCfg  0 77 400 7 114.4 0 0 33.71 1 2048 25000 0 0 52

chirpCfg  0 0 0 0 0 0 0 1

frameCfg  0 0 255 0 1000 1 0

lowPower  0 0

guiMonitor  1 1 0 0 0 1

RangeLimitCfg  2 1 1.0 3.0

sensorStart

 

The following error message is returned in debug mode:

 

{module#8}: "../dss/dss_main.c", line 200: error {id:0x10000, args:[0x816ea4, 0x816ea4]}

xdc.runtime.Error.raise: terminating execution

[Cortex_R4_0] xdc.runtime.Main: "../mss/mss_main.c", line 990: assertion failure

xdc.runtime.Error.raise: terminating execution

The error message on line 200 of DSS points to the following code:


    /* Check if previous chirp processing has completed*/

    DebugP_assert(gMmwDssMCB.dataPathObj.interFrameProcToken == 0);

gMmwDssMCB.dataPathObj.interFrameProcToken++;

 

The error message on line 990of MSS points to the following code:

 

         * BSS event:: CPU fault

        if(event & MMWDEMO_BSS_CPUFAULT_EVT)

        {

            DebugP_assert(0);

            break;

        }

 

But the processing time I provided should be completely enough for the last chirp to complete the processing, what is the problem?


If I want to break the limit that numChirpsPerFrame can only be set to a maximum of 255, how should I do it?


By the way, the configuration parameters work normally when the FFT number is 1024 points.

  • 您好,

    收到了您的案例,调查需要些时间,感您的耐心等待。

  • Hi 

    Typically for TI mmwave device, the sample number is below 1024 samples due to ADC buffer size limits,

    You can change the FFT size to achieve 2K FFT  but still adopt 1024 samples if your FFT is performed by DSP,  

    However, if FFT is performed by HWA, then the FFT size is also limited due to HWA implementation.

    By the way, the right device for level sensing we recommend is IWRL1432 with latest software.

    Ken

  • Thanks for the reply, I used DPS for FFT, you mean I can do FFT with 2048 points but can only get 1024 sample points due to the limitation of the ADC buffer, right? In addition, I want to increase the chirp per frame, but the instructions in the manual are that the maximum can only be 255, is there a way to exceed 255?

  • Hi 

    Yes, try to do 2048 points FFT with 1024 inputs. 

    255 is only the limitation of unique chirps in Device,  you can achieve more chirps in a single frame by looping chirps from chirp start ID to chirp end ID, 

    for example, looping 4 times from chirp0 to chirp127 to get 4X128 chirps in a frame. I am not sure which manual you are referring to. 

    However the manual may tell you do not try to add more chirps in a frame to save RAM or processing power, but in terms of device itself, more chirps is supported.

    Ken