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.

IWR6843ISK-ODS: Will the whole pipeline block if UART is not transmitting the processed data fast enough.

Part Number: IWR6843ISK-ODS

In the stock point clod demo, will the whole pipeline be blocked if the  UART does not outputting the processed data fast enough ?

i.e. if we output more debug info like the rangeAzimuthHeatMap and logMagRange, the the UART is not fast enough to output those data.
Will the TX chirp wait for the uart to be finished before TX again ?
Does the chirp do ping-pong ? i.e. another chirp is sending while the previous chirp  is still processing ?
How the firmware handle this edge case ?

  • Hi Keith,

    The Tx Chirp waits on processing to finish and the next chirp to be available, not the UART.

    Regards,

    AG

  • So what happens when the uart is not outputting the processed data fast enough ?
    tI will skip  outputting the  whole processed frame or part of the   processed data will drop ?

  • And what i read from the code is that DPM_execute only  called after the processed data are outputted via the uart.
    So the next Tx chirp already started before DPM_execute called ?

  • Hi Keith,

    By design (software), the UART processing has to be completed within the current frame. This is shown in the top level datapath timing diagram in the demo html documentation (C:\ti\mmwave_sdk_03_03_00_03\docs\mmwave_sdk_module_documentation.html).

    If UART TX spills over into the next frame (i.e. the next Frame interrupt is received before UART TX completion), the DPC will generate the following exception in file objectrangehwa.c causing the demo to abort.

        /* Check if previous frame (sub-frame) processing has completed */
        DPC_Objdet_Assert(objDetObj->dpmHandle, (objDetObj->interSubFrameProcToken == 0));
        objDetObj->interSubFrameProcToken++;

    For this reason, you need to select a lower frame rate when sending heatmap data as mentioned in the SDK user guide:

    "Besides selecting the configuration parameters, you should select which plots you want to see. This can be done using the "check
    boxes" in the "Plot Selection" area. Adjust the frame rate depending on number of plots you want to see. For selecting heatmap
    plots, set frame rate to less than or equal to 4 fps. When selecting frame rate to be 25-30fps, for better GUI performance, select only
    the scatter plot and statistics plot."

    Thanks

    -Nitin