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.

IWR6843: 512+ Num of loops

Part Number: IWR6843
Other Parts Discussed in Thread: IWR1843

Tool/software:

We're utilizing the IWR6843 chip, but we've hit a barrier where we can't surpass 512 chirp loops within a single chirp cycle time. Our priority is to maximize the number of chirp loops, while the number of samples per chirp, which we've found 128 to be sufficient, isn't as critical. How can we configure this setup to meet our requirements? Despite testing both your demo code and our proprietary code, we haven't been able to exceed the following configuration:

chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 1
frameCfg 0 1 256 0 500 1 0

We appreciate any guidance you can provide to achieve our desired configuration.

  • Hello.

    This is because the firmware has set a limit of 512 chirp loops within a single chirp cycle as this is the maximum that the hardware can support.  You can refer to the ICD for more on the various valid ranges for different chirp parameters.

    Sincerely,

    Santosh

  • Thanks for the response, does it mean that there is no way to increase the Doppler FFT over the 512 samples barrier? Utilizing the IWR6843 chip. Does it differ to the IWR1863 chip?

  • Hello Pavel.

    hanks for the response, does it mean that there is no way to increase the Doppler FFT over the 512 samples barrier?

    Let me confirm this and provide a response by the end of the day tomorrow.

    Does it differ to the IWR1863 chip?

    This will not differ for the IWR1843, which is what I think you meant, as the firmware for both devices is the same.

    Sincerely,

    Santosh

  • Hello Pavel.

    According to this E2E, the max FFT size for any FFT will be based on the number of ADC samples, therefore it is not limited by the number of chirp loops.

    Please refer to the following E2E: https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1270412/iwr1843boost-awr1843aopevm-azimuth-fft-size-n-point-fft

    Sincerely,

    Santosh

  • Hello Santosh,

    number of doppler samples is not defined by ADC samples. ADC samples define just size of Range FFT. Doppler FFT is defined by number of chirp loops. The question remains: what is the maximum number of Chirp loops AKA Doppler FFT size.

    Thank you,

    Pavel B.

  • Apologies for the confusion.  You are correct, doppler FFT size is dependent on the number of loops, therefore, it cannot exceed the ICD limits.  One correction I would like to make is that the max number of loops is actually 256, as I looked at the wrong parameter in the ICD document.  So the doppler FFT size cannot exceed 256.

    Sincerely,

    Santosh

  • We are able to achieve 512 Doppler FFT loops with this setting:

    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 1
    frameCfg 0 1 256 0 500 1 0

    is there a way to further increase this amount? Adding more chirpCfg or increasing the frameCfg loops per chirp doesn't seem to work.
  • Hi Pavel.

    I understand; I missed the second chirpCfg.  However, what is your channelCfg configured for?  Are you enabling all 3 Tx's?

    Sincerely,

    Santosh

  • No, we are using a single Rx and a single Tx, because we have our own radar antenna.

  • Hello.

    As stated in the mmwave_demo_user_guide, there may be some combinations of the chirpCfg and total number of chirps that result in the radar cube/internal buffers and heap size that cause out of memory conditions.  I think having 1 Rx and 1 Tx is ok, but you will have to adjust other parameters to make everything fit in memory.  I have included a screenshot of the note in the SDK user guide for reference.  Can you provide the exact error you are getting from the current configuration?  I presume that you are seeing some CLI error indicating that the device was configured properly?

    Sincerely,

    Santosh

  • Hi,

    the memory demand is checked during the creation of the parameters on our side. Could you please provide a functioning config (prepared to be sent into the device) that introduces more than 512 Doppler FFT loops to test it on the demo SW? Thank you

  • Hi Pavel.

    Could you please share what error you are encountering when using your current configuration?  If there is no chirp configuration in the SDK or toolbox that meets your requirements, I would recommend using the mmWave Sensing Estimator tool to design your chirp configuration.  I would make sure that the number of chirps you are trying to perform can perform within the frame time you have configured, and if not increase that time.  The sensing estimator tool will highlight all of these points for you once you put your configuration into the tool.

    Sincerely,

    Santosh

  • when using this config:

    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 1 1 0
    adcCfg 2 1
    adcbufCfg -1 0 1 1 1
    profileCfg 0 60 23 7 55.125 0 0 69.1994572591588 0 256 10189.0547263682 0 0 158
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 1
    chirpCfg 2 2 0 0 0 0 0 1
    chirpCfg 3 3 0 0 0 0 0 1
    frameCfg 0 1 254 0 1000 1 0
    lowPower 0 0
    guiMonitor -1 1 1 1 0 0 1
    cfarCfg -1 0 2 8 4 3 0 15 1
    cfarCfg -1 1 0 4 2 3 1 15 1
    multiObjBeamForming -1 1 0.5
    clutterRemoval -1 0
    calibDcRangeSig -1 0 -5 8 256
    bpmCfg -1 0 0 1
    extendedMaxVelocity -1 0
    lvdsStreamCfg -1 0 0 0
    compRangeBiasAndRxChanPhase 0.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
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    CQRxSatMonitor 0 3 4 79 0
    CQSigImgMonitor 0 127 4
    analogMonitor 0 0
    aoaFovCfg -1 -20 20 -20 20
    cfarFovCfg -1 0 0.5 45
    cfarFovCfg -1 1 -5 5
    calibData 0 0 0
    sensorStart

    everything works as it is supposed to work. However if we try to increase the number of Chirps:

    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 1 1 0
    adcCfg 2 1
    adcbufCfg -1 0 1 1 1
    profileCfg 0 60 23 7 55.125 0 0 69.1994572591588 0 256 10189.0547263682 0 0 158
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 1
    chirpCfg 2 2 0 0 0 0 0 1
    chirpCfg 3 3 0 0 0 0 0 1
    frameCfg 0 3 254 0 1000 1 0
    lowPower 0 0
    guiMonitor -1 1 1 1 0 0 1
    cfarCfg -1 0 2 8 4 3 0 15 1
    cfarCfg -1 1 0 4 2 3 1 15 1
    multiObjBeamForming -1 1 0.5
    clutterRemoval -1 0
    calibDcRangeSig -1 0 -5 8 256
    bpmCfg -1 0 0 1
    extendedMaxVelocity -1 0
    lvdsStreamCfg -1 0 0 0
    compRangeBiasAndRxChanPhase 0.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
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    CQRxSatMonitor 0 3 4 79 0
    CQSigImgMonitor 0 127 4
    analogMonitor 0 0
    aoaFovCfg -1 -20 20 -20 20
    cfarFovCfg -1 0 0.5 45
    cfarFovCfg -1 1 -5 5
    calibData 0 0 0
    sensorStart

    then this is the console messages output using the mmWave sensing estimator to load the config:

    mmwDemo:/>sensorStop
    Ignored: Sensor is already stopped

    Done

    mmwDemo:/>flushCfg
    Done

    mmwDemo:/>dfeDataOutputMode 1
    Done

    mmwDemo:/>channelCfg 1 1 0
    Done

    mmwDemo:/>adcCfg 2 1
    Done

    mmwDemo:/>adcbufCfg -1 0 1 1 1
    Done

    mmwDemo:/>profileCfg 0 60 23 7 55.125 0 0 69.1994572591588 0 256 10189.0547263682 0 0 158
    Done

    mmwDemo:/>chirpCfg 0 0 0 0 0 0 0 1
    Done

    mmwDemo:/>chirpCfg 1 1 0 0 0 0 0 1
    Done

    mmwDemo:/>chirpCfg 2 2 0 0 0 0 0 1
    Done

    mmwDemo:/>chirpCfg 3 3 0 0 0 0 0 1
    Done

    mmwDemo:/>frameCfg 0 3 254 0 1000 1 0
    Done

    mmwDemo:/>lowPower 0 0
    Done

    mmwDemo:/>guiMonitor -1 1 1 1 0 0 1
    Done

    mmwDemo:/>cfarCfg -1 0 2 8 4 3 0 15 1
    Done

    mmwDemo:/>cfarCfg -1 1 0 4 2 3 1 15 1
    Done

    mmwDemo:/>multiObjBeamForming -1 1 0.5
    Done

    mmwDemo:/>clutterRemoval -1 0
    Done

    mmwDemo:/>calibDcRangeSig -1 0 -5 8 256
    Done

    mmwDemo:/>bpmCfg -1 0 0 1
    Done

    mmwDemo:/>extendedMaxVelocity -1 0
    Done

    mmwDemo:/>lvdsStreamCfg -1 0 0 0
    Done

    mmwDemo:/>compRangeBiasAndRxChanPhase 0.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
    Done

    mmwDemo:/>measureRangeBiasAndRxChanPhase 0 1.5 0.2
    Done

    mmwDemo:/>CQRxSatMonitor 0 3 4 79 0
    Done

    mmwDemo:/>CQSigImgMonitor 0 127 4
    Done

    mmwDemo:/>analogMonitor 0 0
    Done

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

    mmwDemo:/>cfarFovCfg -1 0 0.5 45
    Done

    mmwDemo:/>cfarFovCfg -1 1 -5 5
    Done

    mmwDemo:/>calibData 0 0 0
    Done

    mmwDemo:/>sensorStart


    how can we achieve more doppler FFT's? Are you aware of a config that would work for us?

     

  • Hello Pavel.

    It isn't clear what error you are seeing from the console output, is there anything that is output after the sensorStart or any message after the sensorStart?  If not, it would indicate that the device is crashing.  Have you tried using subFrameCfg and advFrameCfg?  This would allow you to send out four chirps, but it is treated as one chirp as the four chirps are accumulated into that one chirp.  For more info on these cfg commands, you can refer to the sdk user guide.

    Sincerely,

    Santosh