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: What's wrong with profileCfg of IWR6843's cfg?

Part Number: IWR6843

Dear TechnicalSupport

I use IWR6843 ISK(ES2.0) following FW was burned.

C:\ti\mmwave_industrial_toolbox_4_2_1\labs\people_counting\68xx_3D_people_counting\prebuilt_binaries\3D_people_count_68xx_demo.bin

And, I can work IWR6843 using following cfg.

C:\ti\mmwave_industrial_toolbox_4_2_1\labs\people_counting\68xx_3D_people_counting\chirp_configs\ISK_6m_default.cfg

But, I changed "profileCfg", IWR6843 is not able to work.

What's wrong with profileCfg?

====================================

sensorStop
flushCfg
dfeDataOutputMode 1
channelCfg 15 7 0
adcCfg 2 1
adcbufCfg -1 0 1 1 1
lowPower 0 0
%profileCfg 0 60.75 7 7 41.10 1184274 0 54.7125 1   96 2950.00 0 0 36    orginal
profileCfg 0 60 7 7 28 0 0 60 1 256 12500 0 0 48
chirpCfg 0 0 0 0 0 0 0 1
chirpCfg 1 1 0 0 0 0 0 2
chirpCfg 2 2 0 0 0 0 0 4
%frameCfg 0 2  96  0 50 1 0
frameCfg 0 2  16  0 50 1 0
dynamicRACfarCfg -1 4 4 2 4 8 16 4 4 4.00 4.50 0.50 1 1
staticRACfarCfg -1 4 4 2 4 8 16 4 6 8.00 13.00 0.30 0 0
dynamicRangeAngleCfg -1 0.75 0.0010 1 0
dynamic2DAngleCfg -1 3 0.0300 1 0 1 0.50 0.85 8.00
staticRangeAngleCfg -1 1 8 2
antGeometry0 0 -1 -2 -3 -2 -3 -4 -5 -4 -5 -6 -7
antGeometry1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1
antPhaseRot 1 1 1 1 1 1 1 1 1 1 1 1
fovCfg -1 70.0 20.0
compRangeBiasAndRxChanPhase 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
staticBoundaryBox -2 2 2 8.5 -2 2
boundaryBox -2.5 2.5 0.5 6 -2.5 2.5
sensorPosition 2 0 10
gatingParam 3 1.5 1.5 2 0
stateParam 3 3 10 40 5 600
allocationParam 200 800 0.1 15 0.5 20
trackingCfg 1 2 1000 20 67 105 50
sensorStart

====================================

Best Regrads

  • Hi,

    Please run the demo in debug mode using CCS. When you send the configuration, the error will be logged in the console, we can debug from there.

    Regards,

    Justin

  • Dear Justin

    Thank you for your reply.

    The console log is as follows.

    ==============================================================

    [Cortex_R4_0] **********************************************
    Debug: Launching the MMW Demo on MSS
    **********************************************
    Debug: Launched the Initialization Task
    Debug: mmWave Control Initialization was successful
    Debug: mmWave Control Synchronization was successful
    [C674X_0] ObjDet DPC: objDetObj address = (ObjDetObj     *) 0x81e040
    Debug: DPM Module Sync is done
    [Cortex_R4_0] Debug: CLI is operational
    App: Issuing Pre-start Common Config IOCTL to R4F
    App: Issuing Pre-start Common Config IOCTL to DSP
    DPM IOCTL report msg = 101
    DPM IOCTL report msg = 201
    App: Calling MmwDemo_RFParser_parseConfig
    App: Calling MmwDemo_ADCBufConfig
    ============ Heap Memory Stats ============
                                 Size         Used         Free      DPCUsed
       System Heap(TCMB)       133120        37680        95440         3072
                      L3       589824       196608       393216
          localRam(TCMB)         8192          512         7680
    DPM IOCTL report msg = 200
    App: pre-start config for DSP
    App: pre-start config ready to be set to DSP
    [C674X_0] out of DDR heap memory!
    out of DDR heap memory!
    out of L2 heap memory!
    out of L2 heap memory!
    out of L2 heap memory!
    out of L2 heap memory!
    out of DDR heap memory!
    out of DDR heap memory!
    DPU_radarProcess_init - process handle: (radarProcessInstance_t *)0xf01200
    DPU_radarProcess_init - dynamic CFAR handle: (RADARDEMO_detectionCFAR_handle *)0x0
    DPU_radarProcess_init - staic CFAR handle: (RADARDEMO_detectionCFAR_handle *)0x0
    DPU_radarProcess_init - 2D capon handle: (RADARDEMO_aoaEst2DCaponBF_handle *)0xf01690
    DPU_radarProcess_init - benchmark obj: (radarProcessBenchmarkObj *)0x0
    DPU_radarProcess_init - heatmap: (float *)0x0

    ==============================================================

    The error shows "out of DDR heap memory".

    I calculated by the formula below and set it in cfg so that the radar cube is 768 kB or less.
    {Radar cube size} = {float: 4Byte} × {Tx Antenna: 3} × {Rx Antenna: 4} × numAdcSamples × numberOfLoops

    Are there any other restrictions?

    Best Regards

  • Hi,

    Radar cube in this demo is 512 KB, as we use some of the L3 memory for other data storage.

    Regards,

    Justin

  • Hi,

    You are running out of memory in L2. L2 is used to store the range-azimuth heatmap, among other things.  The size of this heatmap is determined by the number of range bins and the number of azimuth bins. With the large number of samples per chirp, we have a large number of range bins and the heatmap is too large and takes up memory.

    What are you trying to achieve with this chirp design? Are you looking for increased range, or something else? If you want to see past 20 meters, I recommend the Long Range People Detection demo, as Capon performance diminishes past the 20 meter mark.

    Regards,

    Justin

  • Dear Justin

    Thank you for your explanation of out of memory in L2.
    I want a range of 20-30m to detect people walking on the road.
    In addition, it is desirable that the distance resolution is 10 cm or less to detect people.

    >  If you want to see past 20 meters, I recommend the Long Range People Detection demo
    Is your recommended lab as follows?
    C: \ ti \ mmwave_industrial_toolbox_4_2_1 \ labs \ long_range_people_detection \ 68xx_long_range_people_det \ prebuilt_binaries
    Best Regards
  • Hi,

    My recommended lab is the one you linked. This has less strict memory requirements, so you may be able to use the chirp you designed.  If you have any issues please let me know.

    Regards,

    Justin

  • Dear Justin

    Thank you.

    I can work it with the desired cfg.

    Best Regards