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:使用 ADC 的 DMA 模式示例

Guru**** 2815985 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1624771/mspm0g3507-dma-mode-example-of-using-adc

器件型号: MSPM0G3507
主题: SysConfig 中讨论的其他器件

您好:

是否有任何使用 DMA 模式从 ADC 获取数据的示例?

谢谢!

吊车

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

    尊敬的 Crane:

    我们有一个基于之前 SysConfig 和 SDK 版本的演示。 请访问下面的 TI 驱动器链接:  

    tidrive.ext.ti.com/.../81c10876-c5f7-4160-aaae-4d11ed810a08

    密码:3bB3R6p|

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

    感谢您的答复。

    这适用于 I2C。 您是否有 ADC 模块示例?

    顺便说一下、I2C 的这个示例适用于 I2C 帧大小固定为 16 字节的情况、对吧? 这意味着、对于具有不同帧大小的 I2C 通信、它将不起作用、并且  需要添加处理变量 gTxLen 的逻辑、对吧?

    谢谢!

    吊车

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

    尊敬的 Crane:

    很抱歉误解了请求。 对于使用 DMA 的 ADC 示例、我想我们在 SDK:adc12_max_freq_dma 中有一个示例

    顺便说一下、I2C 的这个示例适用于 I2C 帧大小固定为 16 字节的情况、对吧? 这意味着对于具有不同帧大小的 I2C 通信、它将不起作用  、并且需要添加处理变量 gTxLen 的逻辑、对吗?

    是、因为 DMA 大小是固定的、因此默认情况下它只能接收固定的帧大小。 如果您想通过 DMA 接收不同的帧大小、我认为在这种情况下应该实施超时机制。

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

    好吧、明白了。 谢谢!

    关于 ADC 触发器的另一个问题。

    从 adc12_triggered_by_timer_event.c 示例可以看出、当重复模式被禁用时、ADC 转换应由 Timer0 持续触发、对吧? Timer0 修改为 周期性递减计数、我可以看到 Timer0 中断持续触发、但 ADC 转换只触发一次。 有什么想法可能会遗漏?

    谢谢!

    吊车

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

    尊敬的 Crane:

    要通过计时器以重复方式触发 ADC 采样、您需要使 ADC 重复模式保持启用状态。 并将第一个 ADC 存储器 (ADC 转换存储器 0) 触发模式配置为“valid trigger 将步进到下一个存储器转换寄存器“、如下所示。

    ...

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

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

    我看到了。 谢谢!

    我似乎为 DMA 启用 FIFO 模式时、它会影响大约 15 次的转换中断间隔。 这是否也会影响中断间隔或转换? 原因是因为 FIFO 大小为 16、所以大约是 15 倍。  

    谢谢!

    吊车

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

    尊敬的 Crane:

    在 ADC FIFO 模式下、所有 ADC 存储器都组合成“FIFO",“,ADC、ADC 只能为一个通道进行采样、该通道的采样结果将与“FIFO"类似“类似存储在 ADC 结果存储器中。 因此、如果仅启用一个 ADC 结果加载中断、则中断间隔将是上一次在单采样模式下 FIFO 大小乘以之前时间的 FIFO 时间。  

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

    好吧、明白了。 谢谢!