器件型号:TDA3
TDA35XXABFQ1:
我们收到了 NDA 应用手册:"TDA3xx 性能应用手册 v1.7"- PERF_APPNOTE_REL1.4 - 2016年3月11日
有人可以说我可以找到这方面的参考项目吗?
我无法在 EDMA 上获得适当(高)的速度、我正在发现问题。
L3_Main 互连的带宽限制是否可以成为低速源?
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
TDA35XXABFQ1:
我们收到了 NDA 应用手册:"TDA3xx 性能应用手册 v1.7"- PERF_APPNOTE_REL1.4 - 2016年3月11日
有人可以说我可以找到这方面的参考项目吗?
我无法在 EDMA 上获得适当(高)的速度、我正在发现问题。
L3_Main 互连的带宽限制是否可以成为低速源?
在这里、我使用 Timer4来计算 AB (2D) DMA 传输的速度。
计时器为20MHz 时钟。
您可以在屏幕截图中看到我使用变量 dma_time[...] DMA 传输持续时间测量的观察窗口中。
在正常水平下、传输速度相当大、接近每秒3GB。
我有2个问题:
1) 1)为什么即使是几个字节的 DMA 传输(例如16x4)的最短持续时间也不小于730 tacts -太长?
因此、我看到即使是非常小的传输也会产生奇怪的最小延迟。
2) 2)传输时超过32KB 的数据未正确测试-数据已传输、但检查未正确完成。 我插入的缓存无效、但这没有帮助。 问题是什么?
项目已附加。 起点是 Starterware 的 EDMA 示例。
尊敬的 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