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.

[参考译文] TMS320F280049C:ePWM 触发 ADC、突发、DMA 过采样

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1138041/tms320f280049c-epwm-triggered-adc-burst-dma-oversampling

器件型号:TMS320F280049C

我想知道我是否可以配置以下内容:

ePWM 模块应每10µs 触发 ADC

所有3个 ADC 都应并行启动,其中应配置序列(突发),我最终拥有3 * 5个通道。*

这在某种过采样方法中是可以确认的、即我在每4 个 ADC 序列(40us)之后获得一个中断。
 (我希望避免10us 中断以降低 CPU 负载)

我想对该中断中序列的所有数据进行后处理。

是否可以将其与 ePWM、ADC 和例如 DMA 结合配置?

对于并行触发 ADC 和形成 ADC 的 SOC、我找到了许多示例、我还找到了使用 DMA 获得 ADC 结果的示例。
但到目前为止、我不确定是否可以使用中断每四个事件的模式。

*3*3个通道只需要10us,其他通道可能更慢(如 pfc3phvienna_F28004x 示例)

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

    (编辑如下以进行一些更正)

    您好、Arne、

    如果我理解正确、您希望使用突发模式转换进行过采样。 突发中的每个单独转换将是序列中的不同 SOC。 例如、要执行4倍过采样: 您可以将 SOC12-SOC15配置为同一通道。 然后、您将配置突发模式、将触发器设置为 ePWM SOC 信号、突发大小为4、并确保这4个 SOC 具有轮询优先级(将前12个 SOC 设置为具有高优先级)。 您的 ADC 中断 源将是 SOC15。 您仍然可以根据需要配置 DMA 以从 ADC 结果寄存器传输数据。

    相关代码示例可帮助:

    • ADC_ex12_BURST_MODE_OPAMPLING
    • ADC_ex6_SoC_Continuous_DMA (用于展示如何配置 DMA 传输)

    此致、
    Ibukun