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.

[参考译文] AWR2944P:如何在 HWA ParamSet 完成后自动触发 EDMA 输入传输

Guru**** 2529560 points


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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1564452/awr2944p-how-to-trigger-edma-input-transfers-automatically-after-hwa-paramset-completion

器件型号:AWR2944P


工具/软件:

您好:

我的用例是在 HWA 内部通过距离库 VFFT 流水线运行距离库:

  • PS0:BFP 解压缩(从 L3 输入-> HWA RAM)

  • PS1:FFT

  • PS2:FFT 输出的 BFP 压缩

目前我正在以这种方式处理输入:

  1. CPU 触发  从 L3 到 HWA RAM 的一个 rbin 的 EDMA 传输(使用 EDMACCPaRAMEntry)。

  2. 然后 CPU 通过软件触发 PS0。

  3. 等待完成、在 for-loop 中对每个 rbin 重复。 (用于将 srcAddr 更新到下一个 rBin 点的循环)

这是有效的、但效率很低、因为 CPU 被绑定、驱动每个 rbin 的 EDMA。

目标:
消除 CPU 以循环方式运行。 我希望:

  • 由 CPU 手动执行的第一个 EDMA 传输。

  • EDMA 完成时、应该会触发 PS0 启动  

  • 当 PS0 完成时、它应 触发一个 DMA 请求 返回到 EDMA、以自动开始下一次 rbin 传输。

  • 此序列应重复、直到处理完所有 rbin 且没有 CPU 干预。

问题:

  1. HWA 是否支持该流程?

    • EDMA 完成->触发 以启动 PS0。

    • HWA PS0 Done -> 触发 EDMA  -> EDMA 事件进行下一次传输。

  2. 在 HWA ParamSet 配置中:

    • 对于 PS0、我是否应该triggerMode = HWA_TRIG_MODE_DMA  在中设置并启用 DMA 请求interrupt Cfg

    • dmaRequestLine应使用哪个值将 PS0 完成功能连接回 EDMA?

  3. 在 EDMA 侧:

    • 我是否应该构建一个链接的 Param 列表(每个 rbin 一个)、通道绑定到 HWA DMAREQ 线路?

    • 如何将所选的 EDMA TCC 完成路由到HWA_TRIG_IN0以正确触发 PS0?

  4. 您还能解释压缩中字段“headerEnable"字“字段的概念吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Anshuman:

    EDMA completion -> trigger to start PS0。

    这是可能的。 您可以参阅  AWR2944P 技术参考手册的第 28.2.1.2 节“状态机–触发机制“(修订版 A)。 在处理链中有许多实例会利用此功能。  

    HWA PS0 done -> 触发 EDMA -> EDMA  事件进行下一次传输。

    是的、这也是可能的。

    对于 PS0、我是否应该triggerMode = HWA_TRIG_MODE_DMA  在interrupt Cfg?
    中设置并启用 DMA 请求?

    您可以检查 DPU_RangeCfarProcHWA_configHWA 函数中的范围 CFAR ParamSet、其中有一个在 DMA 传输后触发 HWA 的示例、以及一个在 HWA ParamSet 之后触发 DMA 传输的示例。 通过此 ParamSet、您还可以查看 DMA ParamSet 配置。

    dmaRequestLine应使用哪个值将 PS0 完成状态连接回 EDMA?

    您需要使用 HWA DMA 通道来实现此目的。  有关 HWA DMA 通道的 TCPC 事件编号、请参阅 TRM 的第 11.6 节 EDMA 事件映射。

    关于你的第三个问题、我建议你参考我提到的例子作为第二点的答案。

    我的用例正在 HWA 内部通过范围二进制 VFFT 流水线运行范围二进制:

    为此、您可以参阅 SDK 中的 DopperprocDDMA DPU。 我们不会在 1D FFT 之后仅压缩单个距离区间数据。 相反、我们针对给定的线性调频脉冲压缩 n 距离频段的 1D FFT。 解压缩雷达立方体时、可以得到 n 个距离区间数据。 我们对每个距离门进行多普勒处理。 例如、如果我们将每个块 8 个距离区间配置为压缩、当我们解压缩时、我们会得到 8 个距离区间信息、然后对这 8 个距离区间的每一个执行多普勒处理。 完成 8 个距离门的多普勒处理后、我们将解压缩下一组距离库。

    此致、

    Samhitha