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: Setting the antenna definition in the DSP config

Part Number: IWR6843ISK
Other Parts Discussed in Thread: IWR6843

Hello everyone,

i am currently developing a new radar board with an IWR6843 chip. I have a ISK and an ODS board at my disposal, so i thought, why not look inside the Out of the Box Demo of both boards and check the different antenna patterns. 

Here cam problem one: The ODS out of the box demo is specificially developed to only use the ARM processor and not the DSP. There is no important reason for this, TI wanted to try it. anyway, this makes the comparing the two pieces of source code rather erratic. 

But still, the ODS code defines antenna geometry and sends it via IOCTL

dataPathObj->objDetCommonCfg.preStartCommonCfg.antDef = gAntDef_IWR6843ODS;

    errCode = DPM_ioctl (dataPathObj->objDetDpmHandle,
                         DPC_OBJDET_IOCTL__STATIC_PRE_START_COMMON_CFG,
                         &dataPathObj->objDetCommonCfg.preStartCommonCfg,
                         sizeof (DPC_ObjectDetection_PreStartCommonCfg));

After that, in the objectdetection.c, this antenna config gets handed around for some time until it ends up in the a config function.

DPU_AoAProcHWA_Config aoaCfg;
aoaCfg.staticCfg.antDef = &staticCfg->antDef;
retVal = DPU_AoAProcHWA_config(dpuHandle, &aoaCfg);

So this all makes half sense, but when i want to change the mss(ARM) and dss(C673x) of the ISK demo accordingly i run into problems: Configuring over ioctl works the same, but an antenna definition is nowhere to be seen, except the antenna geometry.c file exists but is not used in the whole project. Deleting its contents concerning the AntGeometry define blocks is not throwing any errors

But this aint a problem, I added to the code and it works until the AoAcfg is written. obviously the config is missing this field. I checked the function, but this time its ProcDSP  as this time the DSP is doing the signal processing.

    retVal = DPU_AoAProcDSP_config(dpuHandle, &aoaCfg);

changing the underlying structures until it compiles does seems liike a stupid idea, so my question is, where do i change the antenna geometry or are there other kinds of AoA config which i dont know about?

Best regards

  • So i finally found the doxygen documentation. When comparing the AoAProcHwa_config and the AoAProcDSP_config, the struct holding the static config is exactly the same except the AntDef field for the HWA. But neither the config method nor any other function is doing sth. with it. The documentation reads:

    ANTDEF_AntGeometry *  antDef
      Pointer to antenna geometry definition. This is for future use.

    so am i right to suppose that while writing an antenna geometry file, configuring it etc, it is actually completly useless in the end? :)

  • Hi,

    Sorry for the delay. An expert will get back to you with a response tomorrow.

    Best Regards,

    Josh

  • Thats great, I am looking forward to it :)

  • Hi,

    Unfortunately, the antenna pattern is built into the out-of-box demo for the ISK device, so you may have to change it from the ground up.

    Note - E2E will be down from 9/28 to 10/2. Expect delays in responses accordingly.

    Best,

    Nate

  • Thanks for the straight answer. So this means somwhere in the dss objectdetection.c lies the math for the problem right? 
    The idea to make the antenna pattern parameterizable is something for the future than i guess?

  • I cannot guarantee that this will happen in the future. This is why we provide the ODS out-of-box demo.

    Best,

    Nate

  • Ok, but the different antenna definition also lies inside the ODS objectdetection.c and not in the antenna_geometry.c, contrary to what is suggested in this forum.

  • I see an antenna definition in antenna_geometry.c in the ODS project in toolbox 4.12.

  • Yes, it is also present in the ISK board. In the ODS code it gets loaded inside the static config struct which is then transferred with the DPU_AoAProcHWA_config(dpuHandle, &aoaCfg); method. But if you open the doxygen files for this method, the value antDef is not used anywhere in the config method itself. And as mentioned above, the doxygen for the static config struct says that its not used and only implemented for future use. If I got that wrong, I would be very happy if you could point me to the method which uses the antDef property. 

  • Hi,

    If you're trying to understand how to modify the ISK out-of-box demo to run on the ODS, then I would suggest you look into the aoaprocdsp.c file under SDK/packages/ti/datapath/dpc/dpu/aoaproc/src. In the AoAProcDSP_processMultipleVirtualAntennas function, you will see how the angle FFT is computed for this demo. It looks like the antenna layout is accounted for by the way the FFT samples are stored in the L3 memory in this demo, so it may not be very easy to modify it for ODS. For what you're trying to do, I would recommend using the ODS project as a starting point.

    Best,

    Nate