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.

[参考译文] MSPM0L1306:DMA 定期将数据移至 PWM 占空比

Guru**** 2403425 points
Other Parts Discussed in Thread: MSPM0L1306

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1364440/mspm0l1306-dma-moves-data-to-pwm-duty-periodically

器件型号:MSPM0L1306

亲爱的香榭丽舍大街,

我是为我们的客户提出这个问题的。

如果用户希望以0%、2%、4%、6%、...、100%占空比输出 PWM、 0%、2%……  如果没有 CPU 干预、每10us、就可以使用 DMA 将表0%、2%、4%、...、100%、0%、 2%、4%…… 发送一个计时器寄存器、每10us (用作 DUTY)一次、以生成这种 PWM?

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

    您好、Wayne、

    第一个问题是速度: 他们是希望占空比每10us 更新一次、还是每10us 遍历整个表?   

    至于 DMA、它应该一定能够将数据从存储器移动到捕获比较寄存器、但它们可能需要两个计时器来完成、而无需任何 CPU 干预。   一个计时器通过事件子系统每10 us 触发一次 DMA 以执行传输、然后一个计时器实际生成 PWM。  

    希望这对您有所帮助。  

    谢谢。

    JD   

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

    尊敬的 JD:

    他们希望占空比每10us 更新一次。

    我现在明白了。

    感谢您的评论。

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

    嘿、Wayne、

    由于他们将在计时器运行期间更新计时器、因此最好还是使用具有影子加载寄存器的计时器。  肖特负载寄存器允许 CCx 寄存器在 PWM 周期结束时准确更新、在周期内不随机更新。  它会使波形保持平滑。  

    在 MSPM0L1306上、我认为只有 TIMG4具有影子寄存器、因此他们应该将该寄存器用于 PWM 输出。  

    谢谢。

    JD