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.

[参考译文] AWR1843BOOST:禁用多普勒处理

Guru**** 2549730 points
Other Parts Discussed in Thread: AWR1843, SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1457610/awr1843boost-disable-doppler-processing

器件型号:AWR1843BOOST
Thread 中讨论的其他器件:AWR1843SYSBIOS

工具与软件:

你(们)好
我正在使用开箱即用项目并对代码进行一些修改。
我正在尝试禁用所有 HWA 步骤、并仅保留第一个 FFT (然后我将使用雷达立方体中设置的结果进行进一步处理)。

一旦我尝试将相关行放入 objectdetection.c 中、我会在新帧开始时遇到异常、而不是之前的帧处理完成。
将感谢您的帮助
此致
雅龙

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    您是否正在运行 AWR1843 SDK 演示应用? 您在仅执行范围处理时做了哪些高级更改?

    此致、

    Samhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Samhitha
    是的、我正在运行开箱即用的演示、我更改了 CLI (添加了一些命令)、更改了高速 UART 帧结构、并对 RadarCube 1FFT 结果进行了一些计算。 这一切都运行正常。
    现在我面临两个问题:
    -我想禁用1FFT 后完成的处理(多普勒, AoA ),因为我不需要它,并想降低最小的帧速率
    -找到一种方法来获得1FFT 和对数振幅在1FFT 结果(不在多普勒上)基于 HWA
    任何帮助都将受到赞赏
    此致
    雅龙

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    我想禁用在1FFT (多普勒、AoA)之后完成的处理、因为我不需要它并想降低最小帧速率

    可以在  C:\ti\mmwave_sdk_03_06_02_00-LTS 的 DPC_ObjectDetection_execute 中注释 Dopper 处理和 AoA:\ti\mmwave_sdk_03_06_02_00-LTS \packages\ti\datapath\dpc\objectdetection\objdetection\objectdetection.c src

    找到一种方法根据 HWA 的1FFT 结果(不在多普勒上)同时获得1FFT 和对数振幅

    FFT 引擎的对数幅度处理块计算 其输入绝对值的 log2。 您可以使用单个 ParamSet 获取1D FFT 结果或1D FFT 的 log2。 如果需要这两个输出、则可以有一个额外的 ParamSet、其将1D FFT 作为输入、只需通过设置 LOG2EN 和 ABSEN 在 ParamSet 中启用 log2计算 。

    请查看第 1.5.1.5核心计算单元- 雷达硬件加速器的幅度和对数幅度后处理用户指南(修订版 B)。  

    此致、

    Samhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Samhitha
    感谢您的答复
    您对第一个问题的建议很有效。
    至于第二个、我仍在尝试弄清楚如何在第一个 FFT 之后执行第二个 HWA 进程、以便它可以使用相同的 ADC 输入并在存储器中的不同位置生成日志输出。 如果您碰巧有这方面的示例、它将很有帮助
    此致
    雅龙

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    无需再次执行 FFT。 相反、用户可以添加另一个"ParamSet"、该设置将1D FFT 作为输入、而不启用 FFT 或任何其他操作。 只需在附加参数集中启用 log2计算。

    hwaParamCfg[paramsetIdx].accelModeArgs.fftMode.magLogEn = HWA_FFT_MODE_MAGNITUDE_LOG2_ENABLED 

    rangeProcHWA_ConfigHWA 函数配置 HWA 参数集以进行范围预处理。 路径: C:\ti\mmwave_sdk_03_06_02_00-lst\packages\ti\datapath\dpu\rangeproc\rangeproc\rangeprochwa.c src

    添加额外的 ParamSet 时、请确保在 ping 和 pong 中添加一个 ParamSet 时将 hwaParamCfg 数组大小增加2、即更新 DPU_RANGEPROCHWA_NUM_HWA_PARAM_SETS 的值。 对 rangeprochwa.c 文件进行任何更改后、请确保在构建演示之前重新构建 rangeproc 库、

      如果您对 HWA 的配置有任何疑问、请参阅雷达硬件加速器用户指南(修订版 B)。

    此致、

    Samhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好
    我遵循了上述指示:
    将 DPU_RANGEPROCHWA_NUM_HWA_PARAM_SETS 增加为6
    在 rangeprochwa.c 中,在处理 pong 的代码后面处理 pong 的部分(第683行)和类似的部分(经过必要的修改)之后添加以下代码:

    paramsetIdx++;
       hwParamsetIdx++;
       hwaParamCfg[paramsetIdx]= hwaParamCfg[PingParamSetIdx];
       hwaParamCfg[paramsetIdx].accelModeArgs.fftMode.magLogEn = HWA_FFT_MODE_MAGNITUDE_LOG2_ENABLED;
       hwaParamCfg[paramsetIdx].dstAddr = hwaMemDestPongOffset;//+128* 4;
       hwaParamCfg[paramsetIdx].triggerMode = HWA_TRIG_MODE_IMmediate;

       errCode = HWA_configParamSet (hwaHandle、
           hwParamsetIdx、
           &hwaParamCfg[paramsetIdx]、NULL);
       if (错误代码!= 0)
       {
           转至退出;
       }

    我知道使用相同的 DES 地址将覆盖 FFT 数据-但 Jest 尝试看到它将运行。

    我在下一帧处理时遇到异常- DPC_DPC_Token(objDetObj->dpmHandle, Objdet_Assert (objDetObj->interSubFrameProcToken=0 ));

    我在做什么错?
    谢谢
    雅龙

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    请允许我检查您的回答、并在星期三之前与您联系。

    此致、

    Samhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    我建议您创建单元测试并验证参数集、然后将其集成到演示中。

    我遇到下一帧处理异常- DPC_DPC_DPC(objDetObj->dpmHandle, Objdet_Assert (objDetObj->interSubFrameProcToken=0 ));

    出现此错误的原因可能是前一帧的处理过程未完成而下一帧被触发。 您可以增加帧周期并检查行为吗?

    此致、

    Samhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Samhitha
    事实并非如此、我在此开发过程中将使用非常长的帧(40ms)、并且 chrips 总共仅需270us。除非我尝试在 HWA 中添加两个额外的级(因此我可以获得 FFT1和对数幅度)、否则我不会获得该 eror
    此致
    雅龙

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    您是否能够触发单个帧而不是无限帧? 这将有助于了解参数集是否已针对第一个帧成功执行。  

    建议您创建一个单元测试并验证参数集、然后集成到演示中。

    您是否创建了单元测试并验证参数集是否配置正确?

    此致、

    Samhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当然、您可以建议如何触发单个帧吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    将 frameCfg CLI 命令中的帧数参数更改为1。

    "frameCfg 0 1 32  1. 100 1 0"

     有关每个 CLI 命令的详细说明、请参阅"C:\ti\mmwave_sdk_03_06_02_00-sts\docs\mmwave_sdk_user_guide.pdf"。

    此致、

    Samhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好
    将 FRAME 参数设置为1可消除异常、但应用程序停止响应 CLI (直到下电上电)。
    因此:
    使用原始代码(HWA 中为4个步骤)-适用于单帧和多帧。
    使用额外的两个 HWA 集(总共6个)时、如果帧设置为1 -卡住、如果帧是连续的、则获取异常:

    德州仪器(TI) XDS110 USB 调试 Probe_0/C674x_0 (已暂停)    
       abort ()位于 exit.c:99 0x007FF160    
       xdc_runtime_Error_PolicyDefault__E (结构 xdc_runtime_ned Error_Block short、char、int、unsigned int、 int、int)()()位于 Gate.c:34 0x007EE34C    
       xdc_runtime_assert_raise_i (unsigned short、char *、int、unsigned int)() at Error.c:119 0x007F9818    
       _DebugP_assert (int、char *、int)()(位于 DebugP_tirtos.c:52 0x007FF076    
       DPC_ObjectDetection_frameStart (void *)()、位于 objectdetection.c:435 0x007F8458    
       SoC_SystemISR (unsigned int)() at SoC.c soc:426 0x007FA5F4    
       TI_sysbios_family_c64p_EventCombiner_dischure__E (unsigned int)()、位于 EventCombiner.c:202 0x007ECB74    
       TI_sysbios_family_c64p_hwi_dischCore__i (int)()、位于 Hwi.c:809 0x007F9150    
       TI_sysbios_family_c64p_hwi_switchAndDispatch ___ i ()、位于 Hwi_asm_switch.s62:101 0x007FD314 (ti_sysbios_family_c64p_hwi_switchAndDispatch ___ i 不包含帧信息)    

    objectdetection.c 中的第435行是:

     /检查前一帧(子帧)处理是否已完成/
       DPC_SubFrameProcToken (objDetObj->dpmHandle、(Objdet_Assert == 0));
       objDetObj->interSubFrameProcToken++;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    [报价 userid="625450" url="~/support/sensors-group/sensors/f/sensors-forum/1457610/awr1843boost-disable-doppler-processing/5615985 #5615985"]使用额外的两个 HWA 集(共6个)、如果帧设置为1 -卡住、如果帧是连续的、则获得一个例外:[/QUOT]

    这意味着所做的更改有一些错误。 如前所述、请创建一个单元测试、以验证额外的两个参数是否配置正确。 还要检查是否已正确链接 DMA 通道(如果已将 DMA 配置为将日志 MAG 输出从 MemBank 传输到 DSS_L3)。  

    您是否在参数集数量发生变化时更新了 dataInTrigger 和 dataOutTrigger? - dpu\rangeproc\rangeproc\rangeprochwa.c src

    添加其他参数集时可能存在其他依赖项。 请进行必要的更改以支持附加参数。

    此致、

    Samhitha

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好
    我没有更改 DMA 设置、因为作为开始、我只想让它不崩溃、所以我不介意附加级将覆盖前一级结果
    如果我正确了、它应该是:
       /*准备内部硬件资源=触发源匹配其 ParamSet 索引*/
       rangeProcObj->dataInTrigg[0]     = 2U + pConfigIn->hwRes.hwaCfg.paramSetStartIdx;
       rangeProcObj->dataInTrigger[1]     = 5U + pConfigIn->hwRes.hwaCfg.paramSetStartIdx;
       rangeProcObj->dataOutTrigger[0]    = 0U + pConfigIn->hwRes.hwaCfg.paramSetStartIdx;
       rangeProcObj->dataOutTrigger[1]    = 3U + pConfigIn->hwRes.hwaCfg.paramSetStartIdx;
    (由于我在 Ping 中添加了一个步骤、在 Pong 中添加了一个步骤、因此总共有6个步骤、而不是4个)
    相同错误-检查先前的帧处理是否已完成
    BTW -您是否提供(或可以认可谁提供)-咨询服务以解决这样的问题?
    此致
    雅龙

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Yaron、

    请在下面的屏幕截图中找到更正内容-

    BTW -您是否提供(或可以认可谁提供)-用于解决此类问题的咨询服务?

    对于与 TI 提供的现有软件相关的问题、您可以创建 E2E 票证、然后工程师将回复您。  我们可以提供一些意见、但支持定制更改不在 E2E 的讨论范围内。

    此致、

    Samhitha