TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] MSPM0G3507:通过 DMA 进行连续 ADC 采样

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1334582/mspm0g3507-continuous-adc-sampling-with-dmas

器件型号:MSPM0G3507

您好!

我将以乒乓方式尝试使用两个 DMA 通道、以实现连续的 ADC 输入而不丢弃任何样本。

这是我尝试做的一般想法:

将 DMA 0从 ADC 启动到存储器块0。 当存储器块0已满时、ADC 应继续使用 DMA 1到存储器块1。 DMA 0完成时将触发中断。 DMA 1继续从 ADC 传输到存储器块1。 当存储器块1已满时、ADC DMA 应继续使用 DMA 0至存储器块0。

目前、我看到没有办法让 ADC 访问两个 DMA 以允许在 syscfg 文件中连续输入。 到底有没有 以乒乓方式使用两个 DMA 通道、以实现连续的 ADC 输入而不丢弃任何样本?

谢谢!

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

    Sarah、您好!

     我认为、如果您的采样速率不是太高、一个 DMA 就足够了。 在 DMA 正在传输时、您可以处理最后一个块。 由于另一个阻塞已满、您只需更改 DMA 目标。

    如果我的理解不正确、请告诉我。

    B.R.

    佐伊

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

    可以! 这很棒! 非常感谢! 我还有第二个与此类似的问题:执行12位 转换需要多少个时钟周期? 但是、对于 MSP430、数据表中却刚好显示它需要96个时钟周期、而 MSPM0数据表中没有说明它需要多少个时钟周期。 谢谢!

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

    它取决于您 设置的采样窗口和时钟。   

    如果使用80MHz、则 t 将花费大约2-3 (同步)+采样窗口+ 9 (转换)+ 1 (写入 MEMRESx)时钟。