Thread 中讨论的其他器件:AWR1843、 SYSBIOS
工具与软件:
你(们)好
我正在使用开箱即用项目并对代码进行一些修改。
我正在尝试禁用所有 HWA 步骤、并仅保留第一个 FFT (然后我将使用雷达立方体中设置的结果进行进一步处理)。
一旦我尝试将相关行放入 objectdetection.c 中、我会在新帧开始时遇到异常、而不是之前的帧处理完成。
将感谢您的帮助
此致
雅龙
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.
工具与软件:
你(们)好
我正在使用开箱即用项目并对代码进行一些修改。
我正在尝试禁用所有 HWA 步骤、并仅保留第一个 FFT (然后我将使用雷达立方体中设置的结果进行进一步处理)。
一旦我尝试将相关行放入 objectdetection.c 中、我会在新帧开始时遇到异常、而不是之前的帧处理完成。
将感谢您的帮助
此致
雅龙
您好、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
您好、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、
我建议您创建单元测试并验证参数集、然后将其集成到演示中。
我遇到下一帧处理异常- DPC_DPC_DPC(objDetObj->dpmHandle, Objdet_Assert (objDetObj->interSubFrameProcToken=0 ));
出现此错误的原因可能是前一帧的处理过程未完成而下一帧被触发。 您可以增加帧周期并检查行为吗?
此致、
Samhitha
您好、Yaron、
您是否能够触发单个帧而不是无限帧? 这将有助于了解参数集是否已针对第一个帧成功执行。
建议您创建一个单元测试并验证参数集、然后集成到演示中。
您是否创建了单元测试并验证参数集是否配置正确?
此致、
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