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.

[参考译文] TMS320F28069M:关于动态更改 ePWM 控制寄存器。

Guru**** 2551570 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/800144/tms320f28069m-about-dynamically-changing-the-epwm-control-registers

器件型号:TMS320F28069M

在我的代码中、我通过更改中断中的 TBPRD 值来在运行时生成可变频率。  此外、我更改同一中断中的动作限定符寄存器配置。 那么、我的问题是、是否可以在运行中定期更改这些寄存器。 ?

谢谢你  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以修改这些寄存器、但需要非常小心 PWM 周期中的更新位置。 对于 TBPRD 更新、使用影子模式(TBCTL.PRDLD = 1)来确保安全地保持定时器和比较关系。 此外、出于同样的原因、使用 AQSFRC.RLDSF 启用影子 AQ 寄存器更新。

    此致、

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

    “使用影子模式(TBCTL.PRDLD=1)确保定时器和比较关系安全地保持”,您能进一步解释一下这一模式吗?

    谢谢你

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

    抱歉、这应该是 TBCTL.PRDLD = 0。  将 TBCTL 的位3设置为0会强制对周期寄存器写入进行影子更新(TRM 的第339页)。

    此致、

    Richard