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.

[参考译文] TMS320F28069:快速数据传输.. C28x 或 DMA?

Guru**** 2589265 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/804861/tms320f28069-fast-data-transfer-c28x-or-dma

器件型号:TMS320F28069
主题中讨论的其他器件:C2000WARE

大家好、

我目前正在从事一个涉及三相电源控制的项目、我的外设设置如下所述;

- 90MHz 系统时钟。

-45MHz ADC 时钟、25个 ADC 周期、用于 S/H 电路。(参考 Manual 表示 一次转换完成此设置大约需要866nS。)(尽管将来可能会降低 S/H 窗口)

-频率为10kHz 的 ePWM、总共触发6次测量、3次电流、3次电压。

-采样信号为50Hz 电网。 这意味着每次测量、每个周期我将有200个样本。

-我配置了 ADC SOC 通道、以便测量数据 位于相邻的存储器块 [ADCRESULTREG2至 ADCRESULTREG7]  

现在、我计划配置 ADC 以触发执行控制逻辑的特殊 CLA 任务、同时 以有序的方式将测量数据(6 * 200个样本)移动到 RAM 中的其他位置、以便 C28x 能够分析汲取的电流/电压。 我计划将 DMA 配置为在进行6次测量(10kHz)时突发6个转换字、并且在完成所有200个采样后、 DMA 传输完成中断内部 将发出一个 SW 标志、以便 C28x 能够分析输入数据。 然而、我以前从未使用过 DMA、在某些线程中、我发现 C28x 的声称在数据传输速度方面实际上比 DMA 更快、这让我感到困惑。

在这个生成器中、使用 DMA 是否是必要的/高效的? 如果情况不是这样 ,我应该坚持使用 ADC-EOC 中断来执行数据移动吗?  

我也非常感谢任何其他建议,提前感谢 İlker。

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

    如您所知,‘具有最大32字/猝发(即猝发大小为5位‘N-1’值),传输大小最大值为16位 N-1’值(超出任何实际要求)。 吞吐量为4个周期/字加1个周期延迟、以启动每个突发。 请注意、32位传输可使吞吐量翻倍。 有关其他流水线时序和吞吐量的详细信息、请参阅 TRM 第11.4节;有关 CPU 仲裁、请参阅第11.5节。 通常、DMA 活动独立于 CPU 活动、并且 DMA 的优先级高于 CPU。

    请参阅 F28069技术讲座、网址为:

    processors.wiki.ti.com/.../C2000_Archived_Workshops

    模块9介绍 DMA、实验练习使用 DMA 为 ADC 提供服务。 此外、您可能还想了解涵盖 CLA 的模块10。

    有关 DMA 和 CLA 的其他示例代码、请参阅 C2000Ware:

    C:\ti\c2000\C2000Ware_ \device_support\f28066\examples\c28\dma_gsram_transfer\cpu1\dma_ex1_gsram_transfer.c

    但愿这对您有所帮助。 如果您的问题得到了解答、请单击绿色的"验证答案"按钮。 谢谢。

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

    除了 DMA 规范之外、我想知道使用 DMA 进行这样的传输是否有意义、而不是太大的传输量。 为使其正常工作所需的努力是否值得带来的好处。

    无论如何、我决定给它一个镜头、因为项目中需要大约130kW/s 的传输速率。 我认为即使 DMA 可能比 CPU 慢一点(我不知道是不是这样)、不使用任何中断/C28x 也会更好。 我对目前的结果非常满意。 感谢您的关注。

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

    这是一个特定于系统设计的问题。 您需要确定额外开销是否值得使用 DMA。 如您所知、使用 DMA 的一个好处是它将在没有 CPU 干预的情况下执行传输。

    - Ken