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.

[参考译文] TMS320F28379D:如何配置 3 个 ADC 通道并使用单个 DMA 通道读取

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1630357/tms320f28379d-how-to-configure-3-adc-channel-and-read-with-single-dma-channel

部件号: TMS320F28379D

主席先生/女士、

我们如何转换 ADCA 的 3 个 ADC 通道并使用单个 DMA 通道进行读取。 我有 1 个 ADC 通道的代码、并使用单通道 DMA 进行读取。

谢谢。此致、

Prashant Gugle

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

    主席先生/女士、

    示例通道 1、通道 2、通道 3 转换并将结果发送到 DMA 缓冲区。 这会重复进行、直到缓冲区已满。

    谢谢。此致、

    Prashant Gugle

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

    您好、Prashant、

    是的、这可以使用单个 DMA 通道来完成。 请为您的三个 ADC 输入通道配置三个 ADCA SOC(例如 SOC0/SOC1/SOC2)、并使它们都从同一源触发。 然后、将 ADCINT1 设置为由序列中的最后一次转换生成、例如 EOC2。 使用 ADCINT1 作为 DMA 触发器。

    在 DMA 侧、将源地址设置为 ADCRESULT0、突发大小为 3 个字、源突发阶跃为 1、目标突发阶跃为 1。 这将允许 DMA 在每次触发时将 ADCRESULT0、ADCRESULT1 和 ADCRESULT2 复制到目标缓冲区中。 然后、传输大小应是填充缓冲区所需的 3 字组的数量。 换句话说、DMA 缓冲区将被填充为:ch1、ch2、ch3、ch1、ch2、 通道 3、...

    此致、

    Masoud

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

    尊敬的 Masoud:

    感谢您的答复。 它解决了我的问题。