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.

CCS/IWR1642BOOST: What is the limit for the frame duration

Part Number: IWR1642BOOST
Other Parts Discussed in Thread: IWR1642

Tool/software: Code Composer Studio

Hi,

I am working with the IWR1642 radar. I have the following questions about the frame rate setting:

  1. I found that the frame rate is update to 30 fps in the MMWave Demo Visualizer, I guess the limit is for displaying purpose. Can I remove the limit if I just want to do data collection instead of displaying the results.
  2. What is the upper bound for the frame rate to achieve in IWR1642 radar? Should the memory in the chip be an issue.
  3. If I am not wrong, the IWR1642 radar flush the buffer after each frame. Thus we can only get range, velocity and azimuth results for each frame but not for each chirp. Is it possible to keep the buffer continuous, like a stack, first in first out? Thus we can compute result at each chirp time. I just saw a paper from Soli by Google, it seems that this is their strategy to achieve high time frequent results. If I was wrong, please kindly correct me

Hope to get your answer.

Regards,

James

  • Hi James,

    Regarding to mmwave out-of-box demo, a few things will limit the frame rate: the chirp profile and number of chirps which affect the transfer time and data processing time; the UART output rate limitation. In the plots panel of the visualizer, there's the statistics result. You can select the display parameters to "profiling", the timing/margin is shown there which will give you a better idea how fast frame can be refreshed. There is not a value as frame rate bound since it is dependent on each configuration.

    The processing of the data is indeed based on each frame. However, this scheme is an example as the out-of-box demo. If other algorithm of data processing is preferred, the hardware can still support.

    Hope this answers your question.

    Thanks and Regards,
    Michelle
  • Dear Michelle,

    Thank you for your answer. Let me make it more concrete.
    For the out-of-box demo, suppose the "Best Velocity Resolution" is selected, and the plot selection "Range Doppler Heat Map" is checked. I put "range resolution" and "maximum range" to the minimum and put the "maximum radial velocity" to the maximum. The demo cannot work if the frame rate is larger than 3 fps as the DSS will terminate by itself.

    However, after computation, I found that even though I set the frame rate as high as 30 fps, the memory of DSS and the data transportation between MSS and the PC should work fine. So the failure may due to the insufficient time for the DSS to move data out at some buffer.

    Could you give a help on this issue? And where can I get the time limit for each DSS memory process?

    Regards,
    James
  • Dear Michelle,

    I found I was wrong. The baud rate for the data port is 921600. As it is using 8N1 packing, the data port only support 90 kbps transportation. That limits the frame rate to be no larger than 5 fps for high resolution settings.

    However, if I want to set high frame rate or keep more data, is there any way to do that? Can I increase the baud rate for the data port or do I need additional hardware?

    Thanks,
    James
  • James,

    Sorry for the delay. You are right, the demo already has 921600 baud rate hard coded so your uart data port setting has to match. However, if you increase the baud rate and compile, it should still work. I tried to double it (921600*2) and it works fine. I'm not sure about the absolute limit, it's not coming from software, it's a hardware limitation. The UART input clock is 200MHz, and baud rate is divided from the clock.

    Let me know if you still has issue.

    Thanks and Regards,
    Michelle
  • Dear Michelle,

    Thanks for your answer. I tried to double the baud rate, but the radar DSS will still fail for more than 3fps (It is the out-of-box demo and the "Best Velocity Resolution" and " Range Doppler Heat Map" are checked). It happened for the previous baud rate setting, where however the theoretical frame rate should be up to 5 fps.

    I pasted the error log in CCS below:

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

    xdc.runtime.Error.raise: terminating execution

    [Cortex_R4_0] xdc.runtime.Main: "platform/mmwave_xwr16xx.c", line 1089: assertion failure

    xdc.runtime.Error.raise: terminating execution"

    I checked the line 264 in dss_main.c, which is "DebugP_assert(gMmwDssMCB.dataPathObj.interFrameProcToken == 0);".

    The line checks if previous chirp processing has completed. Thus the error may comes from no enough transferring time in buffers?

    Could you run it to check if you have the same issue? And how to solve this problem?

    Regards,

    James

  • James,

    For doubling the baud rate, I used my own development tool to check if the output is working. For your case, it looks like you are still using visualizer. The snapshot shows the baud rate is still 921600. You might need to hack the current visualizer for higher baud rate.

    Another thing I noticed is that you selected both Range Azimuth Heat Map and Range Doppler Heat Map. We don't recommend doing that. Usually only one heat map to be selected. What's the reason you need both heat maps on?

    Thanks!

    Regards,

    Michelle

  • Dear Michelle,

    As you said, I changed the codes of the demo visualizer so that I can change the baud rate. More specifically, I changed the "agent.js" to add baud rate ""1843200".

    But this is not my point. Even though I unchecked the "Range Azimuth Heat Map", it still reports the same error. (The configurations are below: "numChirpsPerFrame": 256, "numDopplerBins": 128, "numRangeBins": 64. So the memory space for DSS should be fine.) Could you check if you will run into the same problem in these settings? If so, is the problem due to the insufficient time for data transferring at buffers? And any solution?

    Regards,
    James
  • Dear Michelle,

    I can achieve 5fps for 921600 baud rate right now. The config file generated by the mmwave demo visualizer has problem of too much idle time. I edited the cfg file and it can work. However, I can not achieve higher frame rate for 1843200 baud rate. I only changed it in the "agent.js" file, which may not be enough? Do you have any idea?

    Regards,
    James
  • James,

    Not sure if I understand your question. Do you need higher rate than 1843200 for higher frame rate? The baud rate limitation came from hardware. The UART port may not support much higher baud rate, if that's the question, I can go find out if we got any limit on that.

    Regards,

    Michelle

  • Dear Michelle,

    My question is that can I set baud rate higher than 921600. If so, how? And what is the limit on that.

    Thanks
    James
  • James,

    It turns out that the chip UART is only tested up to a baud rate of 921600 across temperature and process. We do not recommend using baud rate higher than that.

    Regards,

    Michelle