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.

[参考译文] TDA3:EDMA 上的低速

Guru**** 2595805 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642783/tda3-low-speed-on-edma

器件型号:TDA3

TDA35XXABFQ1:

我们收到了 NDA 应用手册:"TDA3xx 性能应用手册 v1.7"- PERF_APPNOTE_REL1.4 - 2016年3月11日

有人可以说我可以找到这方面的参考项目吗?

我无法在 EDMA 上获得适当(高)的速度、我正在发现问题。

L3_Main 互连的带宽限制是否可以成为低速源?

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

    我已将您的问题转交给一位专家征求意见。

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

    您好、Alexander、

    您能否详细介绍 EDMA 设置、源地址、目标地址、ACNT、BCNT、 CCNTTM 您是否在系统中使用其他启动程序运行 EDMA? 您使用的是哪种 EDMA?

    谢谢、此致、

    Piyali

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

    在这里、我使用 Timer4来计算 AB (2D) DMA 传输的速度。
    计时器为20MHz 时钟。
    您可以在屏幕截图中看到我使用变量 dma_time[...] DMA 传输持续时间测量的观察窗口中。
    在正常水平下、传输速度相当大、接近每秒3GB。

    我有2个问题:

    1) 1)为什么即使是几个字节的 DMA 传输(例如16x4)的最短持续时间也不小于730 tacts -太长?
    因此、我看到即使是非常小的传输也会产生奇怪的最小延迟。

    2) 2)传输时超过32KB 的数据未正确测试-数据已传输、但检查未正确完成。 我插入的缓存无效、但这没有帮助。 问题是什么?

    项目已附加。 起点是 Starterware 的 EDMA 示例。

    e2e.ti.com/.../EDMA_5F00_3.Eng.rar

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

    尊敬的 Alex:

    感谢您共享项目代码。 它使您更容易查看案例中发生的情况。

     SBIDX、 DBIDX、 SCIDX、 DCIDX 都是16位有符号数。 因此、有效范围为-32768至32767。 当对32768的 ACNT 进行编程时、SBIDX 和 DBIDX 会设置为-32768。 因此、同一个 ACNT 将反复复制。 因此、您的案例的存储器比较失败。

    您可以选择 ACNT/BCNT、使 SBIDX、 DBIDX、 SCIDX、 DCIDX 处于-32768  至32767的预期范围内、以查看代码是否正常工作。

    2、对于显示较长时间的16x4传输。 通常、当使用计时器测量 EDMA 吞吐量时、通常会有一个测量误差、这是由测量时间的代码引入的、从而启用 DMA、处理 DMA 的 ISR。 因此、对于非常小的传输大小、此代码执行时间比实际数据传输更重要。 对于较大的传输大小、DMA 时间足够长、可以使测量误差更小、吞吐量计算似乎更接近器件上的实际 DMA 功能。 测量 DMA 性能的理想方法是使用 L3统计收集器。 对于计时器、最好将 DMA 大小保持在大于1 MB 的水平、以避免由于测量误差而产生错误结果。

    谢谢、此致、

    Piyali